diff options
Diffstat (limited to 'datapath-windows')
-rw-r--r-- | datapath-windows/ovsext/Conntrack-icmp.c | 6 | ||||
-rw-r--r-- | datapath-windows/ovsext/Conntrack.c | 4 |
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; |