/* -*- P4_16 -*- */ #include #include #include "headers.p4" #include "parsers.p4" control MyIngress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { /********************** APPLYING TABLES ***********************************/ apply { if(hdr.tcp.isValid()) { /* test wrap around */ hdr.tcp.checksum = 0xffff; hdr.tcp.checksum = checksum + 2; } standard_metadata.egress_spec = 1; } } control MyEgress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { apply { } } control MyVerifyChecksum(inout headers hdr, inout metadata meta) { apply {} } control MyComputeChecksum(inout headers hdr, inout metadata meta) { apply {} } /************************************************************************* *********************** S W I T C H ******************************* *************************************************************************/ V1Switch( MyParser(), MyVerifyChecksum(), MyIngress(), MyEgress(), MyComputeChecksum(), MyDeparser() ) main;