From f88ee78e0a3f2939d246bf0ff55946d50216eff6 Mon Sep 17 00:00:00 2001 From: Adrian Moreno Date: Thu, 4 Nov 2021 15:39:46 -0400 Subject: match: Do not print "igmp" match keyword. The match keyword "igmp" is not supported in ofp-parse, which means that flow dumps cannot be restored. Previously a workaround was added to ovs-save to avoid changing output in stable branches. This patch changes the output to print igmp match in the accepted ofp-parse format (ip,nw_proto=2) and print igmp_type/code as generic tp_src/dst. Tests are added, and NEWS is updated to reflect this change. The workaround in ovs-save is still included to ensure that flows can be restored when upgrading an older ovs-vswitchd. This workaround should be removed in later versions. Signed-off-by: Adrian Moreno Signed-off-by: Salvatore Daniele Co-authored-by: Salvatore Daniele Acked-by: Mike Pattrick Signed-off-by: Ilya Maximets --- lib/match.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'lib/match.c') diff --git a/lib/match.c b/lib/match.c index ba716579d..2ad03e044 100644 --- a/lib/match.c +++ b/lib/match.c @@ -1556,8 +1556,6 @@ match_format(const struct match *match, skip_proto = true; if (f->nw_proto == IPPROTO_ICMP) { ds_put_format(s, "%sicmp%s,", colors.value, colors.end); - } else if (f->nw_proto == IPPROTO_IGMP) { - ds_put_format(s, "%sigmp%s,", colors.value, colors.end); } else if (f->nw_proto == IPPROTO_TCP) { ds_put_format(s, "%stcp%s,", colors.value, colors.end); } else if (f->nw_proto == IPPROTO_UDP) { @@ -1761,10 +1759,6 @@ match_format(const struct match *match, f->nw_proto == IPPROTO_ICMP) { format_be16_masked(s, "icmp_type", f->tp_src, wc->masks.tp_src); format_be16_masked(s, "icmp_code", f->tp_dst, wc->masks.tp_dst); - } else if (dl_type == htons(ETH_TYPE_IP) && - f->nw_proto == IPPROTO_IGMP) { - format_be16_masked(s, "igmp_type", f->tp_src, wc->masks.tp_src); - format_be16_masked(s, "igmp_code", f->tp_dst, wc->masks.tp_dst); } else if (dl_type == htons(ETH_TYPE_IPV6) && f->nw_proto == IPPROTO_ICMPV6) { format_be16_masked(s, "icmp_type", f->tp_src, wc->masks.tp_src); -- cgit v1.2.1