Messages in this thread |  | | Date | Sun, 25 Aug 2002 08:19:37 -0400 | From | chakria@netscape ... | Subject | Could not set Traffic Class of IPv6 header in RH 7.3 using TCP socket |
| |
Hi,
Am trying to set TC value of IPv6 header for TCP transmission at the application level using sockets mechanism. The code goes like this:
struct sockaddr_in6 servAddr6; UINT1 tclass = 10 /* Equivalent for DSCP value af11 */ ... ... servAddr6.sin6_flowinfo = htons ((tclass << 4) | IPV6_FLOWINFO_PRIORITY); ... ... connect (sd, &servAddr6, ...); ... In RH 7.1, the above code works fine for all the DSCP values set. In RH7.3, the behaviour is different. I list below the behaviour phenomenon. When tclass is assigned the values: 1, 2 or 3, the actual value set will be 0 When tclass is assigned the values: 5, 6 or 7, the actual value set will be 4 When tclass is assigned the values: 9, 10 or 11, the actual value set will be 8 and so on. Otherwise, for tclass values 0, 4, 8 etc, the values are set correctly for the Prioirty field of the IPv6 header. What could be the reason for the above behaviour? Could anybody give me the hint if i am doing anything wrong? The above behaviour happens in RH7.3. The same code works fine in RH 7.1 Also, i tried investigating the difference between RH7.1 and RH 7.3. I observed the following: In RH7.1, in tcp_v6_connect() function of linux-2.4/net/ipv6/tcp_ipv6.c, a macro IP6_ECN_flow_init (label) is called which is defined as follows: #ifdef CONFIG_INET_ECN #define IP6_ECN_flow_init (label) do { \ (label) &= ~htonl (3<<20); \ } while (0) #else #define IP6_ECN_flow_init (label) do { } while (0) #endif In my machine CONFIG_INET_ECN is not defined. So, in RH7.1, the macro IP6_ECN_flow_init does nothing. But in RH 7.3, the above definition of the macro is always defined irrespective of whether CONFIG_INET_ECN is defined or not. I observed that this defintion of the macro changes the Traffic Value i set before calling connect () socket call. Could anybody guide me why is it like this? Is my understanding correct regarding this? Is there any way that i can set the traffic class correctly? Thanks in advance. Kindly CC the reply to my mail ID. Regards, Chakri
__________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/
Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |