50 lines
1.2 KiB
Text
50 lines
1.2 KiB
Text
|
/* -*- P4_16 -*- */
|
||
|
#include <core.p4>
|
||
|
#include <v1model.p4>
|
||
|
|
||
|
#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;
|