1. Add TCP SYN+ACK tests including syncookies and checks that
accepting connections succeeids and that the sockets returned
by accept() are marked.
2. Mark the tests more robust with respect to extra packets by
always explicitly expecting packets (including when testing
outgoing kernel-generated packets) and looking for them
anywhere in the queue instead of insisting they're the first
packet in the queue.
3. Make the tests more robust by using random source port,
disabling ICMP rate limits, setting SO_REUSEADDR, and
clearing queues more reliably.
4. Move from 2 to 4 interfaces (mostly made possible by the
robustness improvements above).
5. Use named constants instead of repeating the numbers in
3 files changed