update P4D2 and SIGCOMM2017 examples for new checksum API (#56)
This commit is contained in:
@@ -75,7 +75,7 @@ parser ParserImpl(packet_in packet,
|
||||
************ C H E C K S U M V E R I F I C A T I O N *************
|
||||
*************************************************************************/
|
||||
|
||||
control verifyChecksum(in headers hdr, inout metadata meta) {
|
||||
control verifyChecksum(inout headers hdr, inout metadata meta) {
|
||||
apply { }
|
||||
}
|
||||
|
||||
@@ -132,25 +132,21 @@ control computeChecksum(
|
||||
inout headers hdr,
|
||||
inout metadata meta)
|
||||
{
|
||||
Checksum16() ipv4_checksum;
|
||||
|
||||
apply {
|
||||
if (hdr.ipv4.isValid()) {
|
||||
hdr.ipv4.hdrChecksum = ipv4_checksum.get(
|
||||
{
|
||||
hdr.ipv4.version,
|
||||
hdr.ipv4.ihl,
|
||||
hdr.ipv4.diffserv,
|
||||
hdr.ipv4.totalLen,
|
||||
hdr.ipv4.identification,
|
||||
hdr.ipv4.flags,
|
||||
hdr.ipv4.fragOffset,
|
||||
hdr.ipv4.ttl,
|
||||
hdr.ipv4.protocol,
|
||||
hdr.ipv4.srcAddr,
|
||||
hdr.ipv4.dstAddr
|
||||
});
|
||||
}
|
||||
update_checksum(true,
|
||||
{ hdr.ipv4.version,
|
||||
hdr.ipv4.ihl,
|
||||
hdr.ipv4.diffserv,
|
||||
hdr.ipv4.totalLen,
|
||||
hdr.ipv4.identification,
|
||||
hdr.ipv4.flags,
|
||||
hdr.ipv4.fragOffset,
|
||||
hdr.ipv4.ttl,
|
||||
hdr.ipv4.protocol,
|
||||
hdr.ipv4.srcAddr,
|
||||
hdr.ipv4.dstAddr
|
||||
},
|
||||
hdr.ipv4.hdrChecksum, HashAlgorithm.csum16);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user