[ovs-dev] [PATCH 03/11] datapath: add seqadj extension when NAT is used.

Yifeng Sun pkusunyifeng at gmail.com
Mon Oct 14 23:35:13 UTC 2019


LGTM, thanks.

Reviewed-by: Yifeng Sun <pkusunyifeng at gmail.com>

On Mon, Oct 14, 2019 at 10:51 AM Yi-Hung Wei <yihung.wei at gmail.com> wrote:
>
> From: Flavio Leitner <fbl at sysclose.org>
>
> upstream patch:
>
> commit fa7e428c6b7ed3281610511a2b2ec716d9894be8
> Author: Flavio Leitner <fbl at sysclose.org>
> Date:   Mon Mar 25 15:58:31 2019 -0300
>
>     openvswitch: add seqadj extension when NAT is used.
>
>     When the conntrack is initialized, there is no helper attached
>     yet so the nat info initialization (nf_nat_setup_info) skips
>     adding the seqadj ext.
>
>     A helper is attached later when the conntrack is not confirmed
>     but is going to be committed. In this case, if NAT is needed then
>     adds the seqadj ext as well.
>
>     Fixes: 16ec3d4fbb96 ("openvswitch: Fix cached ct with helper.")
>     Signed-off-by: Flavio Leitner <fbl at sysclose.org>
>     Acked-by: Pravin B Shelar <pshelar at ovn.org>
>     Signed-off-by: David S. Miller <davem at davemloft.net>
>
> Signed-off-by: Yi-Hung Wei <yihung.wei at gmail.com>
> ---
>  datapath/conntrack.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/datapath/conntrack.c b/datapath/conntrack.c
> index 291d4f4723d9..1b345a03e704 100644
> --- a/datapath/conntrack.c
> +++ b/datapath/conntrack.c
> @@ -1063,6 +1063,12 @@ static int __ovs_ct_lookup(struct net *net, struct sw_flow_key *key,
>                                                             GFP_ATOMIC);
>                         if (err)
>                                 return err;
> +
> +                       /* helper installed, add seqadj if NAT is required */
> +                       if (info->nat && !nfct_seqadj(ct)) {
> +                               if (!nfct_seqadj_ext_add(ct))
> +                                       return -EINVAL;
> +                       }
>                 }
>
>                 /* Call the helper only if:
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list