header srv6list_t {
ip6Addr_t segment_id;
}
================================================
struct headers { ethernet_t ethernet;
ipv6_t ipv6_outer;
srv6_t srv6;
srv6list_t[max_hops] srv6_list;
udp_t udp;
gtp_t gtp;
gtp_ext_t gtp_ext;
pdu_container_t pdu_container;
ipv6_t ipv6_inner;
tcp_t tcp_inner;
udp_t udp_inner;
}
================================================
control MyDeparser(packet_out packet, in headers hdr) {
apply {
packet.emit(hdr.ethernet);
packet.emit(hdr.ipv6_outer);
packet.emit(hdr.srv6);
packet.emit(hdr.srv6_list);
packet.emit(hdr.udp);
packet.emit(hdr.gtp);
packet.emit(hdr.gtp_ext);
packet.emit(hdr.pdu_container);
packet.emit(hdr.ipv6_inner);
packet.emit(hdr.tcp_inner);
packet.emit(hdr.udp_inner);
}
}