This change pushes the epoch further up in the stack. Basically any
context that is associated with networking and isn't allowed to sleep
runs in epoch.
There are few interfaces that have special context where they
process incoming packets and those are marked with IFF_NEEDSEPOCH.
For such interfaces ether_input() would enter epoch. The plan is
to eliminate this crutch before 13.0-RELEASE.
To prevent endless epoch under heavy interrupt storm there is a
tunable that stops batching packet processing at certain count.
Rough commit split: https://github.com/glebius/FreeBSD/commits/intr-epoch