DHCP filter should check MF flag is not set

See bionic/libc/include/netinet/ip.h, where we have:
IP_RF      0x8000  // reserved fragment flag
IP_DF      0x4000  // don't fragment flag
IP_MF      0x2000  // more fragments flag
IP_OFFMASK 0x1fff  // mask for fragmenting bits

A non-fragmented IPv4 packet has:
(a) all 13 IP_OFFMASK bits set to 0 (since the offset is zero)
(b) IP_MF clear (since there are no more fragments)
(c) IP_DF either set or clear
(d) IP_RF is theoretically always cleared... but it is reserved.

The current code would actually match an initial fragment.

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I27b3d21c56daacf97685798c476532bc948035aa
1 file changed