The change generalizes all IP ID generation places throughout the
kernel to new ip_fillid() function. The function takes IP header
as argument. The function looks if RFC6864 support is turned on,
and if yes, and IP packet quialifies as atomic, then it assigns ID
to zero. If no, the functions either uses random ID, if the random
ID feature is enabled, or takes next ID from a per-CPU counter.
Apart from this functional change, some gratuity provided:
- All IP ID stuff now lives in ip_id.c, including all data and all sysctl knobs. The only exported feature is ip_fillid().
- Header cleanup of ip_id.c.