brick/tests/fixtures/p4/pipeline.p4

60 lines
923 B
Text

#include "headers.p4"
parser ParserImpl(
packet_in packet,
out Headers hdr
) {
state start {
transition select(packet.lookahead<bit<16>>()) {
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();
}
}