summaryrefslogtreecommitdiff
path: root/lib/match.c
diff options
context:
space:
mode:
authorAdrian Moreno <amorenoz@redhat.com>2021-11-04 15:39:46 -0400
committerIlya Maximets <i.maximets@ovn.org>2021-11-29 22:45:48 +0100
commitf88ee78e0a3f2939d246bf0ff55946d50216eff6 (patch)
treee975ac1b1e48c7e30257fe7ba631f169a5b3d940 /lib/match.c
parent59622fd1bc5ce92d01eae19b321695ee56ddec53 (diff)
downloadopenvswitch-f88ee78e0a3f2939d246bf0ff55946d50216eff6.tar.gz
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 <amorenoz@redhat.com> Signed-off-by: Salvatore Daniele <sdaniele@redhat.com> Co-authored-by: Salvatore Daniele <sdaniele@redhat.com> Acked-by: Mike Pattrick <mkp@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'lib/match.c')
-rw-r--r--lib/match.c6
1 files changed, 0 insertions, 6 deletions
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);