summaryrefslogtreecommitdiff
path: root/datapath-windows
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows')
-rw-r--r--datapath-windows/ovsext/Conntrack-icmp.c6
-rw-r--r--datapath-windows/ovsext/Conntrack.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/datapath-windows/ovsext/Conntrack-icmp.c b/datapath-windows/ovsext/Conntrack-icmp.c
index 9221f8518..081eb73d9 100644
--- a/datapath-windows/ovsext/Conntrack-icmp.c
+++ b/datapath-windows/ovsext/Conntrack-icmp.c
@@ -78,7 +78,11 @@ OvsConntrackValidateIcmp6Packet(const ICMPHdr *icmp)
return FALSE;
}
- return icmp->type == ICMP6_ECHO_REQUEST;
+ return icmp->type == ICMP6_ECHO_REQUEST ||
+ icmp->type == ICMP6_PACKET_TOO_BIG ||
+ icmp->type == ICMP6_DST_UNREACH ||
+ icmp->type == ICMP6_TIME_EXCEEDED ||
+ icmp->type == ICMP6_PARAM_PROB;
}
OVS_CT_ENTRY *
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
index fe9fb74ca..39ba5cc10 100644
--- a/datapath-windows/ovsext/Conntrack.c
+++ b/datapath-windows/ovsext/Conntrack.c
@@ -357,8 +357,8 @@ OvsCtEntryCreate(OvsForwardingContext *fwdCtx,
const ICMPHdr *icmp;
icmp = OvsGetIcmp(curNbl, layers->l4Offset, &storage);
if (!OvsConntrackValidateIcmp6Packet(icmp)) {
- if(icmp) {
- OVS_LOG_TRACE("Invalid ICMP packet detected, icmp->type %u",
+ if (icmp) {
+ OVS_LOG_TRACE("Invalid ICMP6 packet detected, icmp->type %u",
icmp->type);
}
state = OVS_CS_F_INVALID;