Internetworking With TCP/IP Volume 2 (3rd Edition)
The third argument of write should include the Ethernet packet header
write(pni->ni_dev, pep, EP_HLEN+arplen);
The macro used to test CLASSE addresses restricts them to values
starting with 11110. The macro should accept any address that
begins with 1111 as long as it is not the all-1s (limited broadcast)
In the description of broadcast datagrams, the terms "original" and
"copy" are reversed from the description on page 71.