CR Kit Packet Formatting WINLAB Rutgers University Date : June 11 2010 Authors : Khanh Le, kle@winlab.rutgers.edu Prasanthi Maddala, prasanthi.m@gmail.com
Outline Ethernet Frame, IP/TCP/UDP headers Packet types Host -> HW : three packet types RMAP packets (register map read/write) Data packets TCP/IP packets HW -> Host : three packet types RMAP packets (read data)
CR Kit Packet Format Ethernet Header : IP Header : Board MAC address : fixed value Host MAC Address : machine dependent e.g. as defined by Ethernet card IP Header : Board IP : 192.168.0.0 Host IP : 192.168.0.1 UDP for board level communication e.g. RMAP and data packets HOST -> HW : UDP port 1000 – RMAP UDP port 1001 – INTR (not used for Host -> HW) UDP port 1002 – Data HW -> HOST : UDP port 1001 – INTR TCP for any other applications e.g. ARP, DHCP. Ex. 1) RMAP packet to HW : UDP src port = 00, UDP dest port = 00 2) Data packets to HW : UDP src port = 02, UDP dest port = 02 3) RMAP packet to HOST: UDP src port = 00, UDP dest port = 00 4) RMAP INTR packet to HOST: UDP src port = 01, UDP dest port = 01 5) Data packet to HOST: UDP src port = 02, UDP dest port = 02
Ethernet Frame (source : wikipedia) 802.1Q header is NOT used. Type II Ethernet Frame format for TCP/IP application. EtherType = 0x0800 (IPv4), 0x0806 (ARP) Ethernet payload = 46-1500 bytes http://en.wikipedia.org/wiki/Ethernet_frame
EtherType (source : wikipedia)
IPv4 packet header 1/3 (source : wikipedia) http://en.wikipedia.org/wiki/IPv4#Header
IPv4 packet header 2/3 (source : wikipedia) http://en.wikipedia.org/wiki/IPv4#Header
IPv4 packet header 3/3 (source : wikipedia) http://en.wikipedia.org/wiki/IPv4#Header
Fragmentation and Reassembly 1/2 (source : wikipedia) http://en.wikipedia.org/wiki/IPv4#Header
Fragmentation and Reassembly 2/2 (source : wikipedia) http://en.wikipedia.org/wiki/IPv4#Header
TCP (source : wikipedia) http://en.wikipedia.org/wiki/Transmission_Control_Protocol
UDP (source : wikipedia) http://en.wikipedia.org/wiki/User_Datagram_Protocol