| // PDL grammar file for arp packet format. |
| |
| big_endian_packets |
| |
| // Arp packet for Ethernet and IPv4 |
| |
| packet ArpPacket { |
| _fixed_ = 0x01 : 16, // Hardware type (e.g., 1 for Ethernet) |
| _fixed_ = 0x0800 : 16, // Protocol type (e.g., 0x0800 for IPv4) |
| _fixed_ = 0x06 : 8, // Hardware address length (e.g., 6 for MAC) |
| _fixed_ = 0x04 : 8, // Protocol address length (e.g., 4 for IPv4) |
| opcode: 16, // Operation (1 for request, 2 for reply) |
| sender_hw_addr: 8[6], // Sender's hardware address |
| sender_proto_addr: 8[4], // Sender's protocol address |
| target_hw_addr: 8[6], // Target's hardware address |
| target_proto_addr: 8[4], // Target's protocol address |
| } |