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!