Hi all,

Where is the ID field of the IPv4 header created when the DF flag is
set? I am looking at ip_build_and_send_pkt. The code seems to have
changed in 4.4-rc1:

if (ip_dont_fragment(sk, &rt->dst)) {
    iph->frag_off = htons(IP_DF);
    iph->id = 0;
} else {
    iph->frag_off = 0;
    __ip_select_ident(net, iph, 1);
}

old code (executed irrespective of DF or not):

    ip_select_ident(sock_net(sk), skb, sk);

The code in Stevens is basically iph->id = htons(ip_ident++) and now
it seems to be calculated based on a hash + lookup table.

So where is the id of 0 overwritten when DF is set? Didn't find any
info in the docs.

P.S. - is this the right mailing list for these kind of questions?

Thanks!

Reply via email to