The af_packet driver is throwing a fatal error whenever sendto() receives any error, including EAGAIN, from the kernel.
Instead it should check for non-fatal errors and count those instead.
Possibly it should also just count fatal errors (and thus simply drop packets rather than throw up its arms and die on the spot).