Hi,
I had a question related to tcp_v4_rcv (net/ipv4/tcp_ipv4.c: linux 2.6.14). I am not able to understand the following line near the beginning:
TCP_SKB_CB(skb)->flags = skb->nh.iph->tos;
Isn't this flag supposed to contain the TCP control bits? Not so strangely, this 'flags' is not used in tcp_rcv_state_process or tcp_rcv_established later which use the actual skb-> h.th directly.
Also, is there a cross ipv4/v6 way of finding the priority of an skb (IPv4 TOS or IPv6 priority) in the tcp code? I guess skb->priority isn't set unless forwarding packets (ip_forward calculates skb->priority = rt_tos2priority(iph->tos), I couldn't find where we do the same for ipv6 packets).
I had a question related to tcp_v4_rcv (net/ipv4/tcp_ipv4.c: linux 2.6.14). I am not able to understand the following line near the beginning:
TCP_SKB_CB(skb)->flags = skb->nh.iph->tos;
Isn't this flag supposed to contain the TCP control bits? Not so strangely, this 'flags' is not used in tcp_rcv_state_process or tcp_rcv_established later which use the actual skb-> h.th directly.
Also, is there a cross ipv4/v6 way of finding the priority of an skb (IPv4 TOS or IPv6 priority) in the tcp code? I guess skb->priority isn't set unless forwarding packets (ip_forward calculates skb->priority = rt_tos2priority(iph->tos), I couldn't find where we do the same for ipv6 packets).
Thanks!
Ritesh