#include "headers.p4" parser ParserImpl( packet_in packet, out Headers hdr ) { state start { transition select(packet.lookahead>()) { 16w0x0800: parse_ethernet; default: reject; } } state parse_ethernet { packet.extract(hdr.ethernet); transition accept; } } parser BackupParser(packet_in packet, out Headers hdr) { state start { transition accept; } } control Ingress( inout Headers hdr ) { action set_port() { helper(); } action helper() { } table route { key = { hdr.ethernet.dst_addr: exact; } actions = { set_port; } } apply { route.apply(); set_port(); missing_action(); } } control Egress(inout Headers hdr) { action set_port() { } apply { set_port(); } }