/* This file need to be run with --cpp for c-preprocessor call. Command example: trafgen --cpp --dev dummy0 --conf udp_example01.trafgen \ --cpu 2 --verbose \ --ring-size 500KiB */ #define ETH_P_IP 0x0800 { /* --- Ethernet Header --- */ /* NEED ADJUST */ 0xec, 0x0d, 0x9a, 0xdb, 0x11, 0xc4, # MAC Destination 0x00, 0x1b, 0x21, 0x3c, 0x9e, 0x6c, # MAC Source const16(ETH_P_IP), /* --- IPv4 Header --- */ 0b01000101, 0, /* IPv4 Version, IHL, TOS */ const16(46), /* IPv4 Total Len (UDP len + IP hdr 20 bytes)*/ const16(2), /* IPv4 Ident */ 0b01000000, 0, /* IPv4 Flags, Frag Off */ 64, /* IPv4 TTL */ 17, /* Proto UDP */ csumip(14, 33), /* IPv4 Checksum (IP header from, to) */ /* --- UDP Header --- */ /* NEED ADJUST */ 198, 18, 1, 66, /* Source IP */ 198, 18, 1, 1, /* Dest IP */ const16(9), /* UDP Source Port e.g. drnd(2)*/ const16(6666), /* UDP Dest Port */ const16(26), /* UDP length (UDP hdr 8 bytes + payload size */ /* UDP checksum can be dyn calc via csumudp(offset IP, offset TCP) * which is csumudp(14, 34), but for UDP its allowed to be zero */ const16(0), /*** Payload ***/ fill('B', 18), }