diff mbox series

[ovs-dev] ofproto:ipv6 mld report error send to fports

Message ID 20200922073153.81300-1-dingxiaoxiong@huawei.com
State Changes Requested
Headers show
Series [ovs-dev] ofproto:ipv6 mld report error send to fports | expand

Commit Message

XiaoXiong Ding Sept. 22, 2020, 7:31 a.m. UTC
According with rfc4541 section 2.1.1, a snooping switch should forward membership reports only to ports with routers attached.
The current code violates the RFC forwarding membership reports to group ports as well.
The same issue doesn't exist with IPv4.

Fixes: 06994f879c ("mcast-snooping: Add Multicast Listener Discovery support")
Signed-off-by: XiaoXiong Ding <dingxiaoxiong@huawei.com>
---
 ofproto/ofproto-dpif-xlate.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Flavio Leitner Sept. 24, 2020, 1:29 p.m. UTC | #1
Hi XiaoXiong,

Thanks again for the patch.

Could you please follow the guidelines to post patches?
https://github.com/openvswitch/ovs/blob/master/Documentation/internals/contributing/submitting-patches.rst

The Subject for instance is a bit confusing as I think
you don't want reports forwarded to group ports. So,
as a suggestion, it could be some like:

"ofproto-dpif-xlate: Stop forwarding MLD reports to group ports."

Also, the description exceeds 75 characters in width.

It would be great if you could add a test in tests/mcast-snooping.at
to verify that this change works (make check).

Thank you!
fbl

On Tue, Sep 22, 2020 at 03:31:53PM +0800, XiaoXiong Ding wrote:
> According with rfc4541 section 2.1.1, a snooping switch should forward membership reports only to ports with routers attached.
> The current code violates the RFC forwarding membership reports to group ports as well.
> The same issue doesn't exist with IPv4.
> 
> Fixes: 06994f879c ("mcast-snooping: Add Multicast Listener Discovery support")
> Signed-off-by: XiaoXiong Ding <dingxiaoxiong@huawei.com>
> ---
>  ofproto/ofproto-dpif-xlate.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index e0ede2cab..47571e790 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -3100,6 +3100,7 @@ xlate_normal(struct xlate_ctx *ctx)
>                  xlate_report(ctx, OFT_DETAIL, "MLD query, flooding");
>                  xlate_normal_flood(ctx, in_xbundle, &xvlan);
>              }
> +            return;
>          } else {
>              if (is_ip_local_multicast(flow, wc)) {
>                  /* RFC4541: section 2.1.2, item 2: Packets with a dst IP
> -- 
> 2.14.1.windows.1
>
diff mbox series

Patch

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index e0ede2cab..47571e790 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -3100,6 +3100,7 @@  xlate_normal(struct xlate_ctx *ctx)
                 xlate_report(ctx, OFT_DETAIL, "MLD query, flooding");
                 xlate_normal_flood(ctx, in_xbundle, &xvlan);
             }
+            return;
         } else {
             if (is_ip_local_multicast(flow, wc)) {
                 /* RFC4541: section 2.1.2, item 2: Packets with a dst IP