[ONOS-7238] fix ICMP checksum error of fabric.p4
Change-Id: I921504ccdb295488bbea8636f412137bbab0d8f5
diff --git a/pipelines/fabric/src/main/resources/include/checksum.p4 b/pipelines/fabric/src/main/resources/include/checksum.p4
index 9931090..00b4e70 100644
--- a/pipelines/fabric/src/main/resources/include/checksum.p4
+++ b/pipelines/fabric/src/main/resources/include/checksum.p4
@@ -38,14 +38,6 @@
hdr.ipv4.hdr_checksum,
HashAlgorithm.csum16
);
- update_checksum(hdr.icmp.isValid(),
- {
- hdr.icmp.icmp_type,
- hdr.icmp.icmp_code
- },
- hdr.icmp.checksum,
- HashAlgorithm.csum16
- );
}
}
@@ -70,14 +62,6 @@
hdr.ipv4.hdr_checksum,
HashAlgorithm.csum16
);
- verify_checksum(hdr.icmp.isValid(),
- {
- hdr.icmp.icmp_type,
- hdr.icmp.icmp_code
- },
- hdr.icmp.checksum,
- HashAlgorithm.csum16
- );
}
}
diff --git a/pipelines/fabric/src/main/resources/include/header.p4 b/pipelines/fabric/src/main/resources/include/header.p4
index b243c94..c36f5a0 100644
--- a/pipelines/fabric/src/main/resources/include/header.p4
+++ b/pipelines/fabric/src/main/resources/include/header.p4
@@ -108,6 +108,9 @@
bit<8> icmp_type;
bit<8> icmp_code;
bit<16> checksum;
+ bit<16> identifier;
+ bit<16> sequence_number;
+ bit<64> timestamp;
}
//Custom metadata definition
diff --git a/pipelines/fabric/src/main/resources/include/parser.p4 b/pipelines/fabric/src/main/resources/include/parser.p4
index 0e13cfd..d191ff9 100644
--- a/pipelines/fabric/src/main/resources/include/parser.p4
+++ b/pipelines/fabric/src/main/resources/include/parser.p4
@@ -143,6 +143,7 @@
packet.emit(hdr.ipv6);
packet.emit(hdr.tcp);
packet.emit(hdr.udp);
+ packet.emit(hdr.icmp);
}
}