microudp: fix udp txlen
authorRobert Jordens <jordens@gmail.com>
Mon, 11 Nov 2013 22:45:45 +0000 (15:45 -0700)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Tue, 12 Nov 2013 18:05:15 +0000 (19:05 +0100)
* the preample length 8 is already included in sizeof(struct
ethernet_header)
* the minimum packet size is 64, exluding fcs and including
preample it is 68 (the arp functions are correct)

software/libnet/microudp.c

index 31bb5aaeb6e3ca19e7c8963c2a0d754cec5dd5a0..d499d63924f9a6f2505e85531e0a4af64dda5255 100644 (file)
@@ -262,8 +262,8 @@ int microudp_send(unsigned short src_port, unsigned short dst_port, unsigned int
                && (cached_mac[3] == 0) && (cached_mac[4] == 0) && (cached_mac[5] == 0))
                return 0;
 
-       txlen = length + sizeof(struct ethernet_header) + sizeof(struct udp_frame) + 8;
-       if(txlen < 72) txlen = 72;
+       txlen = length + sizeof(struct ethernet_header) + sizeof(struct udp_frame);
+       if(txlen < 68) txlen = 68;
        
        fill_eth_header(&txbuffer->frame.eth_header,
                cached_mac,