REgarding TOS support in Kernel
Wojciech Puchar
wojtek at wojtek.tensor.gdynia.pl
Tue Jun 2 17:39:08 UTC 2009
> forward.cc:978: error: 'SOL_IP' was not declared in this scope
>
> forward.cc:978: error: 'IP_RECVTOS' was not declared in this scope
> forward.cc:982: error: 'IP_PKTOPTIONS' was not declared in this scope
> *** Error code 1
>
> I have wrote to writer of zph and he suggest me to look for freebsd equivalent socket options calls to retrieve/set the TOS value. I am confused whether this will require kernel compile ? if yes what should we have to enable in kernel conf file.
i was sure it is but now i'm a but confused
do man telnetd
there is:
-S tos Sets the IP type-of-service (TOS) option for the telnet
connec-
tion to the value tos, which can be a numeric TOS value or,
on
systems that support it, a symbolic TOS name found in the
/etc/iptos file.
anyway /etc/iptos is absent.
looking at /usr/src/contrib/telnet/telnetd/telnetd.c
search for IP_TOS you will find
#if defined(IPPROTO_IP) && defined(IP_TOS)
if (from.ss_family == AF_INET) {
# if defined(HAS_GETTOS)
struct tosent *tp;
if (tos < 0 && (tp = gettosbyname("telnet", "tcp")))
tos = tp->t_tos;
# endif
if (tos < 0)
tos = 020; /* Low Delay bit */
if (tos
&& (setsockopt(0, IPPROTO_IP, IP_TOS,
(char *)&tos, sizeof(tos)) < 0)
&& (errno != ENOPROTOOPT) )
syslog(LOG_WARNING, "setsockopt (IP_TOS): %m");
}
#endif /* defined(IPPROTO_IP) && defined(IP_TOS) */
IP_TOS is defined in netinet/in.h
so looks like there is something.
in the same time - man setsockopt says nothing
apropos tos says nothing too.
More information about the freebsd-hackers
mailing list