This patch is a rework of the skb audit logging code in SELinux. Rather
than relying on skb header pointers, it parses the skb for specific
protocols (TCP and UDP for IPv4 at this stage). This is safer for the case
of locally generated raw packets, which can be malformed. It also now
takes fragmented skbs into account. The new code allows the caller to
parse the skb so that parsed information can be more readily re-used.