After reading this page:
http://www.hut.fi/~msisomak/diffserv.html
and http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1349.html#sec-3
It appears that the IP TOS values in netinet/ip.h are
incorrect:
/*
* Definitions for IP type of service (ip_tos)
*/
#define IPTOS_TOS_MASK 0x1E
#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
#define IPTOS_LOWDELAY 0x10
#define IPTOS_THROUGHPUT 0x08
#define IPTOS_RELIABILITY 0x04
#define IPTOS_LOWCOST 0x02
#define IPTOS_MINCOST IPTOS_LOWCOST
I think each value should be left-shifed two times to
make room for the 3 precedence bits.
Am I missing something??
Also, will the kernel take any 8-bit value I try to stuff in
there with:
setsockopt(dev_socket, SOL_IP, IP_TOS, (char*)&val, sizeof(int))
or will it normalize values according to it's internal rules?
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx> <Ben_Greear@xxxxxxxxxx>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear
|