ETHER_FRAME_START := BUFFER ETHER_FRAME_DEST_MAC := ETHER_FRAME_START + $00 ETHER_FRAME_SRC_MAC := ETHER_FRAME_START + $06 ETHER_FRAME_TYPE := ETHER_FRAME_START + $0C ETHER_FRAME_END := ETHER_FRAME_START + $0E IP_HEADER_START := ETHER_FRAME_END IP_HEADER_HEADER_LEN := IP_HEADER_START + $00 IP_HEADER_DIFF_SVC := IP_HEADER_START + $01 IP_HEADER_TOTAL_LEN := IP_HEADER_START + $02 IP_HEADER_ID := IP_HEADER_START + $04 IP_HEADER_FLAGS := IP_HEADER_START + $06 IP_HEADER_FRAG_OFFSET := IP_HEADER_START + $07 IP_HEADER_TTL := IP_HEADER_START + $08 IP_HEADER_PROTOCOL := IP_HEADER_START + $09 IP_HEADER_HEADER_CKSUM := IP_HEADER_START + $0A IP_HEADER_SRC_IP_ADDR := IP_HEADER_START + $0C IP_HEADER_DEST_IP_ADDR := IP_HEADER_START + $10 IP_HEADER_END := IP_HEADER_START + $14 IP_PACKAGE_ICMP_START := IP_HEADER_END IP_PACKAGE_ICMP_TYPE := IP_PACKAGE_ICMP_START + $00 IP_PACKAGE_ICMP_CODE := IP_PACKAGE_ICMP_START + $01 IP_PACKAGE_ICMP_CHECKSUM := IP_PACKAGE_ICMP_START + $02 IP_PACKAGE_ICMP_ECHO_ID := IP_PACKAGE_ICMP_START + $04 IP_PACKAGE_ICMP_ECHO_SEQ_NUMBER := IP_PACKAGE_ICMP_START + $06 IP_PACKAGE_ICMP_ECHO_PAYLOAD := IP_PACKAGE_ICMP_START + $08 IP_PACKAGE_IGMP_START := IP_HEADER_END IP_PACKAGE_UDP_START := IP_HEADER_END IP_PACKAGE_UDP_SRC_PORT := IP_PACKAGE_UDP_START + $00 IP_PACKAGE_UDP_DEST_PORT := IP_PACKAGE_UDP_START + $02 IP_PACKAGE_UDP_LENGTH := IP_PACKAGE_UDP_START + $04 IP_PACKAGE_UDP_CHECKSUM := IP_PACKAGE_UDP_START + $06 IP_PACKAGE_UDP_PAYLOAD := IP_PACKAGE_UDP_START + $08 PROTOCOL_ICMP := 1 PROTOCOL_IGMP := 2 PROTOCOL_UDP := 17