[ovs-dev] [PATCH 1/2] Make IGMP packets always take slow path

Flavio Leitner fbl at sysclose.org
Tue Jun 16 20:29:12 UTC 2015


On Tue, Jun 16, 2015 at 05:16:19PM -0300, Thadeu Lima de Souza Cascardo wrote:
> IGMP packets need to take the slow path. Otherwise, packets that match
> the same flow will not be processed by OVS. That might prevent OVS from
> updating the expire time for entries already in the mdb, but also to
> lose packets with different addresses in the payload.
> 
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at redhat.com>
> ---
>  ofproto/ofproto-dpif-xlate.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
> index f5dc272..0b113a2 100644
> --- a/ofproto/ofproto-dpif-xlate.c
> +++ b/ofproto/ofproto-dpif-xlate.c
> @@ -2269,12 +2269,18 @@ xlate_normal(struct xlate_ctx *ctx)
>          struct mcast_group *grp;
>  
>          if (flow->nw_proto == IPPROTO_IGMP) {
> -            if (ctx->xin->may_learn) {
> -                if (mcast_snooping_is_membership(flow->tp_src) ||
> -                    mcast_snooping_is_query(flow->tp_src)) {
> +            if (mcast_snooping_is_membership(flow->tp_src) ||
> +                mcast_snooping_is_query(flow->tp_src)) {
> +                if (ctx->xin->may_learn) {
>                      update_mcast_snooping_table(ctx->xbridge, flow, vlan,
>                                                  in_xbundle);
> -                    }
> +                }
> +                /*
> +                 * IGMP packets need to take the slow path, in order to be
> +                 * processed for mdb updates. That will prevent expires
> +                * firing off even after hosts have sent reports.
> +                */
There is a indentation problem above
fbl

> +                ctx->xout->slow |= SLOW_ACTION;
>              }
>  
>              if (mcast_snooping_is_membership(flow->tp_src)) {
> -- 
> 2.4.2
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev




More information about the dev mailing list