On Tue, 2025-09-16 at 09:03 -0300, Tiago Pires wrote:
> On Wed, Sep 3, 2025 at 6:32 AM Ales Musil <amu...@redhat.com> wrote:
> > 
> > 
> > 
> > On Wed, Sep 3, 2025 at 9:21 AM <martin.kal...@canonical.com> wrote:
> > > 
> > > On Wed, 2025-08-20 at 10:19 -0300, Tiago Pires wrote:
> > > > On Tue, Aug 19, 2025 at 9:27 AM <martin.kal...@canonical.com>
> > > > wrote:
> > > > > 
> > > > > On Tue, 2025-08-19 at 14:22 +0200,
> > > > > martin.kal...@canonical.com wrote:
> > > > > > On Tue, 2025-08-12 at 16:42 -0300, Tiago Pires wrote:
> > > > > > > On Tue, Aug 12, 2025 at 12:00 PM
> > > > > > > <martin.kal...@canonical.com>
> > > > > > > wrote:
> > > > > > > > 
> > > > > > > > On Mon, 2025-08-11 at 07:35 +0200, Ales Musil wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > On Fri, Aug 8, 2025 at 10:50 PM Tiago Pires
> > > > > > > > > <tiago.pi...@luizalabs.com> wrote:
> > > > > > > > > > On Fri, Aug 8, 2025 at 6:55 AM Ales Musil
> > > > > > > > > > <amu...@redhat.com>
> > > > > > > > > > wrote:
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > On Fri, Aug 8, 2025 at 11:50 AM
> > > > > > > > > > > <martin.kal...@canonical.com>
> > > > > > > > > > > wrote:
> > > > > > > > > > > > 
> > > > > > > > > > > > On Fri, 2025-08-08 at 11:07 +0200,
> > > > > > > > > > > > martin.kal...@canonical.com
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > > On Fri, 2025-08-08 at 10:46 +0200, Ales Musil
> > > > > > > > > > > > > via
> > > > > > > > > > > > > dev
> > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > On Fri, Aug 8, 2025 at 9:03 AM Ales Musil
> > > > > > > > > > > > > > <amu...@redhat.com>
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > On Tue, Aug 5, 2025 at 4:56 PM Tiago
> > > > > > > > > > > > > > > Pires via
> > > > > > > > > > > > > > > dev
> > > > > > > > > > > > > > > <
> > > > > > > > > > > > > > > ovs-dev@openvswitch.org> wrote:
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > This patch fix the behavior introduced
> > > > > > > > > > > > > > > > by the
> > > > > > > > > > > > > > > > commit
> > > > > > > > > > > > > > > > 40136a2f2c84,
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Hi Tiago and Ales,
> > > > > > > > > > > > > as a perpetrator of 40136a2f2c84, I'll try to
> > > > > > > > > > > > > help
> > > > > > > > > > > > > out
> > > > > > > > > > > > > with
> > > > > > > > > > > > > getting
> > > > > > > > > > > > > this sorted.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > where a regular communication between
> > > > > > > > > > > > > > > > an
> > > > > > > > > > > > > > > > external
> > > > > > > > > > > > > > > > IP to
> > > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > dnat_and_snat rule IP would always keep
> > > > > > > > > > > > > > > > an
> > > > > > > > > > > > > > > > unreplied
> > > > > > > > > > > > > > > > conntrack entry:
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > nat d8b589d8-7948-4470-a3ee-
> > > > > > > > > > > > > > > > a8ae7edb6425
> > > > > > > > > > > > > > > >          external ip: "172.16.1.101"
> > > > > > > > > > > > > > > >          logical ip: "192.168.10.10"
> > > > > > > > > > > > > > > >          type: "dnat_and_snat"
> > > > > > > > Hi Tiago,
> > > > > > > > 
> > > > > > > > do you also have SNAT for the network 192.168.10.0 as
> > > > > > > > well?
> > > > > > > > Because
> > > > > > > > the
> > > > > > > > logical flow entry you edited should be added only if
> > > > > > > > 'nat_entry-
> > > > > > > > > type
> > > > > > > > == SNAT'[0].
> > > > > > > 
> > > > > > > Hi Martin,
> > > > > > > 
> > > > > > > Yes, I also have a snat entry for the private network.
> > > > > > > 
> > > > > > > > On one hand I'm wondering if we are looking at the
> > > > > > > > correct
> > > > > > > > root
> > > > > > > > of
> > > > > > > > the
> > > > > > > > issue, on the other hand, you observed that your patch
> > > > > > > > fixes
> > > > > > > > it,
> > > > > > > > so
> > > > > > > > there has to be some relation.
> > > > > > > > 
> > > > > > > > I'll keep digging.
> > > > > > > > 
> > > > > > > > [0]
> > > > > > > > https://github.com/ovn-org/ovn/blob/23884f516a24dd58c5d96b3c35ced038ecdcb703/northd/northd.c#L16520
> > > > > > > > 
> > > > > > > > Martin.
> > > > > > > 
> > > > > > > Regards,
> > > > > > > 
> > > > > > > Tiago Pires
> > > > > > 
> > > > > > So, I think that the reason for superfluous CT entry is
> > > > > > that if
> > > > > > there
> > > > > > is router with both SNAT (e.g. for whole network) and
> > > > > > DNAT_AND_SNAT
> > > > > > (for specific logical IP), we unnecessarily commit traffic
> > > > > > addressed
> > > > > > to
> > > > > > the external_ip of DNAT_AND_SNAT into the SNAT CT zone.
> > > > > > In ideal scenario, we'd probably do nothing if the
> > > > > > connection
> > > > > > comes
> > > > > > from outside to the external_ip. However, since we are in
> > > > > > the
> > > > > > egress
> > > > > > pipeline, the packet was already DNATed, so I don't think
> > > > > > there's
> > > > > > a
> > > > > > way
> > > > > > to tell difference between packet that was originally
> > > > > > addressed
> > > > > > to
> > > > > > the
> > > > > > external_ip and one that was directly to the logical_ip.
> > > > > > 
> > > > > > Below is my (rough) attempt to fix it.
> > > > > > If the packet is addressed to the logical_ip of a
> > > > > > DNAT_AND_SNAT
> > > > > > rule,
> > > > > > we commit it into DNAT zone instead. This gets rid of the
> > > > > > extra
> > > > > > CT
> > > > > > entry in the SNAT zone while keeping the following
> > > > > > scenarios
> > > > > > working:
> > > > > > 
> > > > > > * ext_net -> (internal) IP in SNATed network (without
> > > > > > DNAT_AND_SNAT
> > > > > > rule)
> > > > > > * ext_net -> external_ip of DNAT_AND_SNAT rule
> > > > > > * ext_net -> logical_ip of DNAT_AND_SNAT rule
> > > > > > 
> > > > > 
> > > > > Sorry, my mail client mangled the diff by line wrapping.
> > > > > Here's the
> > > > > diff uploaded to github gist:
> > > > > https://gist.github.com/mkalcok/6ed62d19caec13ab68d09cae7a35cadf
> > > > 
> > > > Hi Martin,
> > > > 
> > > > I did a test and worked. For me the patch is fine, maybe you
> > > > can
> > > > submit it.
> > > > 
> > > > Thank you.
> > > > Regards,
> > > > 
> > > > Tiago Pires
> > > 
> > > What do you think about the above proposed approach Ales? If you
> > > are
> > > good with it, I can add more testing and propose it as a regular
> > > patch.
> > > 
> > > Thank you,
> > > Martin.
> > 
> > 
> > Hi Tiago and Martin,
> > 
> > I'm sorry I have completely missed the response with the proposed
> > fix. It feels a bit unfortunate that we would have to commit into
> > DNAT zone, but on the other hand it shouldn't cause any harm as
> > the CT entry with the same 5-tuple will already be there. There
> > shouldn't be any performance penalty because we would commit anyway
> > to the SNAT.
> > 
> > There is one condition that we would need to solve though, we
> > shouldn't add the DNAT_AND_SNAT flows if there isn't any overlap,
> > this issue happens only because of the overlap. That might be a
> > bit harder to pull off.
> > 
> > So feel free to post an official patch with the tests addressed
> > and we can continue the discussion there.
> > 
> > Thanks,
> > Ales
> 
> Hi Martin,
> 
> Just to check if you are going to submit the patch.
> 
> Thanks,
> 
> Regards,
> 
> Tiago Pires

Hi Tiago,
Sorry for the delay, I had some PTO days, but I'm back on this and I
intend to post the patch. I do have the improved tests ready, but I
discovered that the proposed solution breaks connectivity from machine
with DNAT_AND_SNAT to outside world. In the context of `DNAT and SNAT
on distributed router - N/S` system test [0], if alice1 runs a service,
foo1 connection will fail after first PSH of data.

Martin.

[0]
https://github.com/ovn-org/ovn/blob/9a40354029821ca4f54a7341a71fb5483cc00a92/tests/system-ovn.at#L3671

> 
> > > 
> > > 
> > > > 
> > > > > 
> > > > > Martin.
> > > > > 
> > > > > > diff --git a/northd/northd.c b/northd/northd.c
> > > > > > index 015f30a35..3f1cb423f 100644
> > > > > > --- a/northd/northd.c
> > > > > > +++ b/northd/northd.c
> > > > > > @@ -16489,7 +16489,7 @@ build_lrouter_out_snat_flow(struct
> > > > > > lflow_table
> > > > > > *lflows,
> > > > > >       * properly tracked so we can decide whether to
> > > > > > perform SNAT
> > > > > > on
> > > > > > traffic
> > > > > >       * exiting the network. */
> > > > > >      if (features->ct_commit_to_zone && features-
> > > > > > >ct_next_zone &&
> > > > > > -        nat_entry->type == SNAT && !od->is_gw_router &&
> > > > > > !commit_all)
> > > > > > {
> > > > > > +        !od->is_gw_router && !commit_all) {
> > > > > >          /* For traffic that comes from SNAT network,
> > > > > > initiate CT
> > > > > > state
> > > > > > before
> > > > > >           * entering S_ROUTER_OUT_SNAT to allow matching on
> > > > > > various
> > > > > > CT
> > > > > > states.
> > > > > >           */
> > > > > > @@ -16501,16 +16501,28 @@
> > > > > > build_lrouter_out_snat_flow(struct
> > > > > > lflow_table *lflows,
> > > > > >                                       distributed_nat,
> > > > > > cidr_bits,
> > > > > > is_v6,
> > > > > >                                       l3dgw_port,
> > > > > > lflow_ref,
> > > > > > true);
> > > > > > 
> > > > > > -        /* New traffic that goes into SNAT network is
> > > > > > committed
> > > > > > to
> > > > > > CT
> > > > > > to avoid
> > > > > > -         * SNAT-ing replies.*/
> > > > > > -        ovn_lflow_add(lflows, od, S_ROUTER_OUT_SNAT,
> > > > > > priority,
> > > > > > -                      ds_cstr(match), "ct_snat;",
> > > > > > -                      lflow_ref);
> > > > > > +        /* New traffic that goes into SNAT network is
> > > > > > committed
> > > > > > to
> > > > > > snat CT zone
> > > > > > +         * to avoid SNAT-ing replies.*/
> > > > > > +        if (nat_entry->type == SNAT) {
> > > > > > +            ovn_lflow_add(lflows, od, S_ROUTER_OUT_SNAT,
> > > > > > priority,
> > > > > > +                          ds_cstr(match), "ct_snat;",
> > > > > > +                          lflow_ref);
> > > > > > +            ds_put_cstr(match, " && ct.new");
> > > > > > +            ovn_lflow_add(lflows, od,
> > > > > > S_ROUTER_OUT_POST_SNAT,
> > > > > > priority,
> > > > > > +                          ds_cstr(match),
> > > > > > "ct_commit_to_zone(snat);",
> > > > > > +                          lflow_ref);
> > > > > > +        /* New traffic addressed to logical IP of
> > > > > > DNAT_AND_SNAT
> > > > > > rule
> > > > > > is
> > > > > > +         * committed to dnat CT zone to avoid SNAT-ing
> > > > > > replies.*/
> > > > > > +        } else {
> > > > > > +            ovn_lflow_add(lflows, od, S_ROUTER_OUT_SNAT,
> > > > > > priority +
> > > > > > 5,
> > > > > > +                          ds_cstr(match), "ct_dnat;",
> > > > > > +                          lflow_ref);
> > > > > > +            ds_put_cstr(match, " && ct.new");
> > > > > > +            ovn_lflow_add(lflows, od,
> > > > > > S_ROUTER_OUT_POST_SNAT,
> > > > > > priority
> > > > > > + 5,
> > > > > > +                          ds_cstr(match),
> > > > > > "ct_commit_to_zone(dnat);",
> > > > > > +                          lflow_ref);
> > > > > > +        }
> > > > > > 
> > > > > > -        ds_put_cstr(match, " && ct.new");
> > > > > > -        ovn_lflow_add(lflows, od, S_ROUTER_OUT_POST_SNAT,
> > > > > > priority,
> > > > > > -                      ds_cstr(match),
> > > > > > "ct_commit_to_zone(snat);",
> > > > > > -                      lflow_ref);
> > > > > >      }
> > > > > >  }
> > > > > > 
> > > > > > Could you give it a try Tiago, to see if it fixes your
> > > > > > issue?
> > > > > > I'd be also interested in your opinion on this approach
> > > > > > Ales.
> > > > > > 
> > > > > > Thank you,
> > > > > > Martin.
> > > > > > 
> > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > The conntrack entry would be like
> > > > > > > > > > > > > > > > below:
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > tcp      6 118 SYN_SENT src=172.16.1.50
> > > > > > > > > > > > > > > > dst=192.168.10.10 \
> > > > > > > > > > > > > > > >    sport=44742 dport=80 [UNREPLIED]
> > > > > > > > > > > > > > > > src=192.168.10.10 \
> > > > > > > > > > > > > > > >    dst=172.16.1.50 sport=80 dport=44742
> > > > > > > > > > > > > > > > mark=0
> > > > > > > > > > > > > > > > zone=13
> > > > > > > > > > > > > > > > use=1
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > When we have many connections on the
> > > > > > > > > > > > > > > > chassis
> > > > > > > > > > > > > > > > gateways,
> > > > > > > > > > > > > > > > more
> > > > > > > > > > > > > > > > than 50% of the conntrack entries stay
> > > > > > > > > > > > > > > > in
> > > > > > > > > > > > > > > > this
> > > > > > > > > > > > > > > > UNREPLIED state
> > > > > > > > > > > > > > > > until the entry is expired according
> > > > > > > > > > > > > > > > with the
> > > > > > > > > > > > > > > > nf_conntrack_tcp_timeout_syn_sent
> > > > > > > > > > > > > > > > setting.
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > Running the ab(apache benchmarking
> > > > > > > > > > > > > > > > tool) test
> > > > > > > > > > > > > > > > with
> > > > > > > > > > > > > > > > 3000
> > > > > > > > > > > > > > > > requests
> > > > > > > > > > > > > > > > to a dnat_and_snat IP, without this
> > > > > > > > > > > > > > > > patch we
> > > > > > > > > > > > > > > > would
> > > > > > > > > > > > > > > > have
> > > > > > > > > > > > > > > > 2997
> > > > > > > > > > > > > > > > SYN_SENT unreplied entries and with
> > > > > > > > > > > > > > > > this
> > > > > > > > > > > > > > > > patch
> > > > > > > > > > > > > > > > applied
> > > > > > > > > > > > > > > > we would have 0 entries.
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > Fixes: 40136a2f2c84 ("northd: Fix
> > > > > > > > > > > > > > > > direct
> > > > > > > > > > > > > > > > access
> > > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > SNAT
> > > > > > > > > > > > > > > > network.")
> > > > > > > > > > > > > > > > Signed-off-by: Tiago Pires
> > > > > > > > > > > > > > > > <tiago.pi...@luizalabs.com>
> > > > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > Hi Tiago,
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > I'm afraid this acts like a revert, the
> > > > > > > > > > > > > > > "unsnat_not_tracked"
> > > > > > > > > > > > > > > cannot
> > > > > > > > > > > > > > > be 1 if ct_commit_all is disabled. But at
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > same
> > > > > > > > > > > > > > > time
> > > > > > > > > > > > > > > this flow
> > > > > > > > > > > > > > > won't be created if ct_commit_all is
> > > > > > > > > > > > > > > enabled.
> > > > > > > > > > > > > > > Which
> > > > > > > > > > > > > > > basically
> > > > > > > > > > > > > > > boils
> > > > > > > > > > > > > > > down to the fact that the flow can never
> > > > > > > > > > > > > > > be
> > > > > > > > > > > > > > > matched.
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > This made me wonder what would happen if
> > > > > > > > > > > > > > > we
> > > > > > > > > > > > > > > would
> > > > > > > > > > > > > > > remove
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > whole
> > > > > > > > > > > > > > > if statement, which would be a full
> > > > > > > > > > > > > > > revert of
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > original
> > > > > > > > > > > > > > > commit.
> > > > > > > > > > > > > > > The system tests are still passing and
> > > > > > > > > > > > > > > there
> > > > > > > > > > > > > > > isn't
> > > > > > > > > > > > > > > any
> > > > > > > > > > > > > > > issue
> > > > > > > > > > > > > > > with the unreplied CT. I didn't dig
> > > > > > > > > > > > > > > deeper but
> > > > > > > > > > > > > > > I
> > > > > > > > > > > > > > > have
> > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > suspicion
> > > > > > > > > > > > > > > that some additional change in between
> > > > > > > > > > > > > > > allowed
> > > > > > > > > > > > > > > this
> > > > > > > > > > > > > > > behavior
> > > > > > > > > > > > > > > without
> > > > > > > > > > > > > > > the need for the extra SNAT commit. It
> > > > > > > > > > > > > > > would be
> > > > > > > > > > > > > > > nice
> > > > > > > > > > > > > > > if
> > > > > > > > > > > > > > > we can
> > > > > > > > > > > > > > > track
> > > > > > > > > > > > > > > down when the direct access breaks if we
> > > > > > > > > > > > > > > revert
> > > > > > > > > > > > > > > 40136a2f.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > I can try bisecting the history to find what
> > > > > > > > > > > > > "fixed"
> > > > > > > > > > > > > the
> > > > > > > > > > > > > issue as a
> > > > > > > > > > > > > side-effect.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > With that said I'm fine with reverting
> > > > > > > > > > > > > > > 40136a2f
> > > > > > > > > > > > > > > as
> > > > > > > > > > > > > > > long
> > > > > > > > > > > > > > > as we
> > > > > > > > > > > > > > > don't
> > > > > > > > > > > > > > > break any scenario that might not be
> > > > > > > > > > > > > > > tested
> > > > > > > > > > > > > > > currently
> > > > > > > > > > > > > > > and
> > > > > > > > > > > > > > > we
> > > > > > > > > > > > > > > figure
> > > > > > > > > > > > > > > out what allows the direct access even
> > > > > > > > > > > > > > > after
> > > > > > > > > > > > > > > the
> > > > > > > > > > > > > > > revert.
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > Unfortunately the revert doesn't work,
> > > > > > > > > > > > > > tests are
> > > > > > > > > > > > > > fine,
> > > > > > > > > > > > > > but
> > > > > > > > > > > > > > the reply is SNATed which shouldn't be the
> > > > > > > > > > > > > > case.
> > > > > > > > > > > > > > So
> > > > > > > > > > > > > > we
> > > > > > > > > > > > > > probably need a solution that involves
> > > > > > > > > > > > > > excluding
> > > > > > > > > > > > > > dnat_and_snat
> > > > > > > > > > > > > > ips from being commited during the SNAT
> > > > > > > > > > > > > > stage.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Wouldn't this break the "DNAT and SNAT on
> > > > > > > > > > > > > distributed
> > > > > > > > > > > > > router"
> > > > > > > > > > > > > test
> > > > > > > > > > > > > that
> > > > > > > > > > > > > tries accessing the internal IP from external
> > > > > > > > > > > > > network?
> > > > > > > > > > > > 
> > > > > > > > > > > > Ah, I see. It was one of the tricky things
> > > > > > > > > > > > about the
> > > > > > > > > > > > original
> > > > > > > > > > > > issue
> > > > > > > > > > > > (before 40136a2f2c84). The first packet in
> > > > > > > > > > > > reply
> > > > > > > > > > > > direction
> > > > > > > > > > > > would go
> > > > > > > > > > > > unchanged, so the SYN-ACK would pass and
> > > > > > > > > > > > session
> > > > > > > > > > > > would be
> > > > > > > > > > > > established.
> > > > > > > > > > > > However any other traffic in reply direction
> > > > > > > > > > > > would
> > > > > > > > > > > > get
> > > > > > > > > > > > SNATed
> > > > > > > > > > > > as you
> > > > > > > > > > > > say Ales.
> > > > > > > > > > > > 
> > > > > > > > > > > > Looking at the "DNAT and SNAT on distributed
> > > > > > > > > > > > router",
> > > > > > > > > > > > we
> > > > > > > > > > > > should
> > > > > > > > > > > > probably improve it as well. We are testing:
> > > > > > > > > > > > * UDP with "nc -u -z" which tests traffic only
> > > > > > > > > > > > in
> > > > > > > > > > > > direction
> > > > > > > > > > > > from client
> > > > > > > > > > > > to server and not the replies.
> > > > > > > > > > > > * TCP with "nc --send-only" which apparently
> > > > > > > > > > > > does not
> > > > > > > > > > > > wait
> > > > > > > > > > > > for
> > > > > > > > > > > > ACK
> > > > > > > > > > > > after PSH and closes connection immediately.
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > Right, that's why the test doesn't fail with
> > > > > > > > > > > revert or
> > > > > > > > > > > partial
> > > > > > > > > > > revert.
> > > > > > > > > > > So whatever the fix will be we need to make sure
> > > > > > > > > > > to
> > > > > > > > > > > adjust
> > > > > > > > > > > the
> > > > > > > > > > > test to see if the reply isn't SNATed.
> > > > > > > > > > 
> > > > > > > > > > Hi Ales and Martin,
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Hi Tiago,
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > I was only able to make the scenario of revert
> > > > > > > > > > working
> > > > > > > > > > when
> > > > > > > > > > using
> > > > > > > > > > flags.unsnat_not_tracked == 1 .
> > > > > > > > > > If the remote external network also wants to
> > > > > > > > > > communicate
> > > > > > > > > > with
> > > > > > > > > > the
> > > > > > > > > > dnat_and_snat private IP, it is covered and works.
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > This also about access to IPs that do not have
> > > > > > > > > dnat_and_snat
> > > > > > > > > defined for them. It should work for both, with the
> > > > > > > > > revert
> > > > > > > > > we
> > > > > > > > > will have SNAT on the reply which is wrong.
> > > > > > > > > 
> > > > > > > > > > I can work on the test but could you confirm if the
> > > > > > > > > > flags.unsnat_not_tracked == 1 is fisable for the
> > > > > > > > > > fix?
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > As mentioned previously it isn't, we need to find a
> > > > > > > > > different
> > > > > > > > > way that doesn't break the direct access use case.
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Regards,
> > > > > > > > > > 
> > > > > > > > > > Tiago Pires
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Thanks,
> > > > > > > > > Ales
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > Martin.
> > > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > Thanks,
> > > > > > > > > > > Ales
> > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > > 
> > > > > > > > > > > > > Anyway, I'll try to take a closer look as
> > > > > > > > > > > > > well.
> > > > > > > > > > > > > Martin.
> > > > > > > > > > > > > 
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > >   northd/northd.c     |  2 +-
> > > > > > > > > > > > > > > >   tests/ovn-northd.at | 18 +++++++++---
> > > > > > > > > > > > > > > > ------
> > > > > > > > > > > > > > > >   tests/system-ovn.at |  2 --
> > > > > > > > > > > > > > > >   3 files changed, 10 insertions(+), 12
> > > > > > > > > > > > > > > > deletions(-
> > > > > > > > > > > > > > > > )
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > diff --git a/northd/northd.c
> > > > > > > > > > > > > > > > b/northd/northd.c
> > > > > > > > > > > > > > > > index d027d5c66..ad9fabc8e 100644
> > > > > > > > > > > > > > > > --- a/northd/northd.c
> > > > > > > > > > > > > > > > +++ b/northd/northd.c
> > > > > > > > > > > > > > > > @@ -16521,7 +16521,7 @@
> > > > > > > > > > > > > > > > build_lrouter_out_snat_flow(struct
> > > > > > > > > > > > > > > > lflow_table
> > > > > > > > > > > > > > > > *lflows,
> > > > > > > > > > > > > > > >                         ds_cstr(match),
> > > > > > > > > > > > > > > > "ct_snat;",
> > > > > > > > > > > > > > > >                         lflow_ref);
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > -        ds_put_cstr(match, " &&
> > > > > > > > > > > > > > > > ct.new");
> > > > > > > > > > > > > > > > +        ds_put_cstr(match, " && ct.new
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > flags.unsnat_not_tracked ==
> > > > > > > > > > > > > > > > 1");
> > > > > > > > > > > > > > > >           ovn_lflow_add(lflows, od,
> > > > > > > > > > > > > > > > S_ROUTER_OUT_POST_SNAT,
> > > > > > > > > > > > > > > > priority,
> > > > > > > > > > > > > > > >                         ds_cstr(match),
> > > > > > > > > > > > > > > > "ct_commit_to_zone(snat);",
> > > > > > > > > > > > > > > >                         lflow_ref);
> > > > > > > > > > > > > > > > diff --git a/tests/ovn-northd.at
> > > > > > > > > > > > > > > > b/tests/ovn-
> > > > > > > > > > > > > > > > northd.at
> > > > > > > > > > > > > > > > index 5ddb15587..a0d6cfc66 100644
> > > > > > > > > > > > > > > > --- a/tests/ovn-northd.at
> > > > > > > > > > > > > > > > +++ b/tests/ovn-northd.at
> > > > > > > > > > > > > > > > @@ -1248,7 +1248,7 @@ AT_CHECK([grep -e
> > > > > > > > > > > > > > > > "lr_out_snat"
> > > > > > > > > > > > > > > > drflows |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0], [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep -e "lr_out_post_snat"
> > > > > > > > > > > > > > > > drflows |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0],
> > > > > > > > > > > > > > > > [dnl
> > > > > > > > > > > > > > > >     table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=0
> > > > > > > > > > > > > > > > ,
> > > > > > > > > > > > > > > > match=(1),
> > > > > > > > > > > > > > > > action=(next;)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 50.0.0.11 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ip4.src == $allowed_range && ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 50.0.0.11 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ip4.src == $allowed_range && ct.new &&
> > > > > > > > > > > > > > > > flags.unsnat_not_tracked
> > > > > > > > > > > > > > > > == 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep -e "lr_out_snat"
> > > > > > > > > > > > > > > > crflows |
> > > > > > > > > > > > > > > > ovn_strip_lflows],
> > > > > > > > > > > > > > > > [0], [dnl
> > > > > > > > > > > > > > > > @@ -1288,7 +1288,7 @@ AT_CHECK([grep -e
> > > > > > > > > > > > > > > > "lr_out_snat"
> > > > > > > > > > > > > > > > drflows2
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0], [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep -e "lr_out_post_snat"
> > > > > > > > > > > > > > > > drflows2 |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0],
> > > > > > > > > > > > > > > > [dnl
> > > > > > > > > > > > > > > >     table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=0
> > > > > > > > > > > > > > > > ,
> > > > > > > > > > > > > > > > match=(1),
> > > > > > > > > > > > > > > > action=(next;)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 50.0.0.11 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 50.0.0.11 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new && flags.unsnat_not_tracked ==
> > > > > > > > > > > > > > > > 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep -e "lr_out_snat"
> > > > > > > > > > > > > > > > crflows2 |
> > > > > > > > > > > > > > > > ovn_strip_lflows],
> > > > > > > > > > > > > > > > [0], [dnl
> > > > > > > > > > > > > > > > @@ -6013,8 +6013,8 @@ AT_CHECK([grep
> > > > > > > > > > > > > > > > "lr_out_snat"
> > > > > > > > > > > > > > > > lr0flows |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0], [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep "lr_out_post_snat"
> > > > > > > > > > > > > > > > lr0flows
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > ovn_strip_lflows],
> > > > > > > > > > > > > > > > [0], [dnl
> > > > > > > > > > > > > > > >     table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=0
> > > > > > > > > > > > > > > > ,
> > > > > > > > > > > > > > > > match=(1),
> > > > > > > > > > > > > > > > action=(next;)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=153  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.0/24 && inport == "lr0-public"
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-lr0-public") &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.10 && inport == "lr0-public" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-
> > > > > > > > > > > > > > > > lr0-public")
> > > > > > > > > > > > > > > > && ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=153  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.0/24 && inport == "lr0-public"
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-lr0-public") &&
> > > > > > > > > > > > > > > > ct.new &&
> > > > > > > > > > > > > > > > flags.unsnat_not_tracked == 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.10 && inport == "lr0-public" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-
> > > > > > > > > > > > > > > > lr0-public")
> > > > > > > > > > > > > > > > && ct.new && flags.unsnat_not_tracked
> > > > > > > > > > > > > > > > == 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   # Associate load balancer to lr0
> > > > > > > > > > > > > > > > @@ -6171,8 +6171,8 @@ AT_CHECK([grep
> > > > > > > > > > > > > > > > "lr_out_snat"
> > > > > > > > > > > > > > > > lr0flows |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0], [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep "lr_out_post_snat"
> > > > > > > > > > > > > > > > lr0flows
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > ovn_strip_lflows],
> > > > > > > > > > > > > > > > [0], [dnl
> > > > > > > > > > > > > > > >     table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=0
> > > > > > > > > > > > > > > > ,
> > > > > > > > > > > > > > > > match=(1),
> > > > > > > > > > > > > > > > action=(next;)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=153  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.0/24 && inport == "lr0-public"
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-lr0-public") &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.10 && inport == "lr0-public" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-
> > > > > > > > > > > > > > > > lr0-public")
> > > > > > > > > > > > > > > > && ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=153  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.0/24 && inport == "lr0-public"
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-lr0-public") &&
> > > > > > > > > > > > > > > > ct.new &&
> > > > > > > > > > > > > > > > flags.unsnat_not_tracked == 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 10.0.0.10 && inport == "lr0-public" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-
> > > > > > > > > > > > > > > > lr0-public")
> > > > > > > > > > > > > > > > && ct.new && flags.unsnat_not_tracked
> > > > > > > > > > > > > > > > == 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   # Make the logical router as Gateway
> > > > > > > > > > > > > > > > router
> > > > > > > > > > > > > > > > @@ -8399,9 +8399,9 @@ AT_CHECK([grep
> > > > > > > > > > > > > > > > lr_out_snat
> > > > > > > > > > > > > > > > lrflows | grep
> > > > > > > > > > > > > > > > ct_snat |
> > > > > > > > > > > > > > > > ovn_strip_lflows], [0], [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   AT_CHECK([grep lr_out_post_snat
> > > > > > > > > > > > > > > > lrflows |
> > > > > > > > > > > > > > > > ovn_strip_lflows],
> > > > > > > > > > > > > > > > [0], [dnl
> > > > > > > > > > > > > > > >     table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=0
> > > > > > > > > > > > > > > > ,
> > > > > > > > > > > > > > > > match=(1),
> > > > > > > > > > > > > > > > action=(next;)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S2" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S2")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > -  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S3" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S3")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S1" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S1")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new && flags.unsnat_not_tracked ==
> > > > > > > > > > > > > > > > 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S2" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S2")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new && flags.unsnat_not_tracked ==
> > > > > > > > > > > > > > > > 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > > +  table=??(lr_out_post_snat   ),
> > > > > > > > > > > > > > > > priority=161  ,
> > > > > > > > > > > > > > > > match=(ip &&
> > > > > > > > > > > > > > > > ip4.dst ==
> > > > > > > > > > > > > > > > 20.0.0.10 && inport == "DR-S3" &&
> > > > > > > > > > > > > > > > is_chassis_resident("cr-DR-
> > > > > > > > > > > > > > > > S3")
> > > > > > > > > > > > > > > > &&
> > > > > > > > > > > > > > > > ct.new && flags.unsnat_not_tracked ==
> > > > > > > > > > > > > > > > 1),
> > > > > > > > > > > > > > > > action=(ct_commit_to_zone(snat);)
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > >   check ovn-nbctl --wait=sb lr-nat-del
> > > > > > > > > > > > > > > > DR
> > > > > > > > > > > > > > > > snat
> > > > > > > > > > > > > > > > 20.0.0.10
> > > > > > > > > > > > > > > > diff --git a/tests/system-ovn.at
> > > > > > > > > > > > > > > > b/tests/system-
> > > > > > > > > > > > > > > > ovn.at
> > > > > > > > > > > > > > > > index e0407383a..a000637d2 100644
> > > > > > > > > > > > > > > > --- a/tests/system-ovn.at
> > > > > > > > > > > > > > > > +++ b/tests/system-ovn.at
> > > > > > > > > > > > > > > > @@ -4244,7 +4244,6 @@
> > > > > > > > > > > > > > > > NS_CHECK_EXEC([foo2],
> > > > > > > > > > > > > > > > [ping
> > > > > > > > > > > > > > > > -
> > > > > > > > > > > > > > > > q -c
> > > > > > > > > > > > > > > > 3 -i
> > > > > > > > > > > > > > > > 0.3
> > > > > > > > > > > > > > > > -w 2
> > > > > > > > > > > > > > > > 172.16.1.4 | FORMAT_PING], \
> > > > > > > > > > > > > > > >   AT_CHECK([ovs-appctl dpctl/dump-
> > > > > > > > > > > > > > > > conntrack |
> > > > > > > > > > > > > > > > grep
> > > > > > > > > > > > > > > > icmp
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > FORMAT_CT(172.16.1.1) | \
> > > > > > > > > > > > > > > >   sed -e 's/zone=[[0-
> > > > > > > > > > > > > > > > 9]]*/zone=<cleared>/'],
> > > > > > > > > > > > > > > > [0],
> > > > > > > > > > > > > > > > [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > icmp,orig=(src=172.16.1.1,dst=172.16.1.
> > > > > > > > > > > > > > > > 4,id=<
> > > > > > > > > > > > > > > > clea
> > > > > > > > > > > > > > > > re
> > > > > > > > > > > > > > > > d>,t
> > > > > > > > > > > > > > > > ype=8,c
> > > > > > > > > > > > > > > > od
> > > > > > > > > > > > > > > > e=0),reply=(src=192.168.2.2,dst=172.16.
> > > > > > > > > > > > > > > > 1.1,id
> > > > > > > > > > > > > > > > =<cl
> > > > > > > > > > > > > > > > ea
> > > > > > > > > > > > > > > > red>
> > > > > > > > > > > > > > > > ,type=0,
> > > > > > > > > > > > > > > > co
> > > > > > > > > > > > > > > > de=0),zone=<cleared>
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > -
> > > > > > > > > > > > > > > > icmp,orig=(src=172.16.1.1,dst=192.168.2
> > > > > > > > > > > > > > > > .2,id=
> > > > > > > > > > > > > > > > <cle
> > > > > > > > > > > > > > > > ar
> > > > > > > > > > > > > > > > ed>,
> > > > > > > > > > > > > > > > type=8,c
> > > > > > > > > > > > > > > > ode
> > > > > > > > > > > > > > > > =0),reply=(src=192.168.2.2,dst=172.16.1
> > > > > > > > > > > > > > > > .1,id=
> > > > > > > > > > > > > > > > <cle
> > > > > > > > > > > > > > > > ar
> > > > > > > > > > > > > > > > ed>,
> > > > > > > > > > > > > > > > type=0,c
> > > > > > > > > > > > > > > > od
> > > > > > > > > > > > > > > > e=0),zone=<cleared>
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > icmp,orig=(src=192.168.1.3,dst=172.16.1
> > > > > > > > > > > > > > > > .4,id=
> > > > > > > > > > > > > > > > <cle
> > > > > > > > > > > > > > > > ar
> > > > > > > > > > > > > > > > ed>,
> > > > > > > > > > > > > > > > type=8,
> > > > > > > > > > > > > > > > co
> > > > > > > > > > > > > > > > de=0),reply=(src=172.16.1.4,dst=172.16.
> > > > > > > > > > > > > > > > 1.1,id
> > > > > > > > > > > > > > > > =<cl
> > > > > > > > > > > > > > > > ea
> > > > > > > > > > > > > > > > red>
> > > > > > > > > > > > > > > > ,type=0,
> > > > > > > > > > > > > > > > co
> > > > > > > > > > > > > > > > de=0),zone=<cleared>
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > @@ -4412,7 +4411,6 @@
> > > > > > > > > > > > > > > > NS_CHECK_EXEC([foo2],
> > > > > > > > > > > > > > > > [ping
> > > > > > > > > > > > > > > > -
> > > > > > > > > > > > > > > > q -c
> > > > > > > > > > > > > > > > 3 -i
> > > > > > > > > > > > > > > > 0.3
> > > > > > > > > > > > > > > > -w 2
> > > > > > > > > > > > > > > > fd20::4 | FORMAT_PING], \
> > > > > > > > > > > > > > > >   AT_CHECK([ovs-appctl dpctl/dump-
> > > > > > > > > > > > > > > > conntrack |
> > > > > > > > > > > > > > > > FORMAT_CT(fd20::1)
> > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > \
> > > > > > > > > > > > > > > >   sed -e 's/zone=[[0-
> > > > > > > > > > > > > > > > 9]]*/zone=<cleared>/'],
> > > > > > > > > > > > > > > > [0],
> > > > > > > > > > > > > > > > [dnl
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > icmpv6,orig=(src=fd11::3,dst=fd20::4,id
> > > > > > > > > > > > > > > > =<clea
> > > > > > > > > > > > > > > > red>
> > > > > > > > > > > > > > > > ,t
> > > > > > > > > > > > > > > > ype=
> > > > > > > > > > > > > > > > 128,cod
> > > > > > > > > > > > > > > > e=
> > > > > > > > > > > > > > > > 0),reply=(src=fd20::4,dst=fd20::1,id=<c
> > > > > > > > > > > > > > > > leared
> > > > > > > > > > > > > > > > > ,ty
> > > > > > > > > > > > > > > > pe
> > > > > > > > > > > > > > > > =129
> > > > > > > > > > > > > > > > ,code=0)
> > > > > > > > > > > > > > > > ,z
> > > > > > > > > > > > > > > > one=<cleared>
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > -
> > > > > > > > > > > > > > > > icmpv6,orig=(src=fd20::1,dst=fd12::2,id
> > > > > > > > > > > > > > > > =<clea
> > > > > > > > > > > > > > > > red>
> > > > > > > > > > > > > > > > ,t
> > > > > > > > > > > > > > > > ype=
> > > > > > > > > > > > > > > > 128,code
> > > > > > > > > > > > > > > > =0)
> > > > > > > > > > > > > > > > ,reply=(src=fd12::2,dst=fd20::1,id=<cle
> > > > > > > > > > > > > > > > ared>,
> > > > > > > > > > > > > > > > type
> > > > > > > > > > > > > > > > =1
> > > > > > > > > > > > > > > > 29,c
> > > > > > > > > > > > > > > > ode=0),z
> > > > > > > > > > > > > > > > on
> > > > > > > > > > > > > > > > e=<cleared>
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > icmpv6,orig=(src=fd20::1,dst=fd20::4,id
> > > > > > > > > > > > > > > > =<clea
> > > > > > > > > > > > > > > > red>
> > > > > > > > > > > > > > > > ,t
> > > > > > > > > > > > > > > > ype=
> > > > > > > > > > > > > > > > 128,cod
> > > > > > > > > > > > > > > > e=
> > > > > > > > > > > > > > > > 0),reply=(src=fd12::2,dst=fd20::1,id=<c
> > > > > > > > > > > > > > > > leared
> > > > > > > > > > > > > > > > > ,ty
> > > > > > > > > > > > > > > > pe
> > > > > > > > > > > > > > > > =129
> > > > > > > > > > > > > > > > ,code=0)
> > > > > > > > > > > > > > > > ,z
> > > > > > > > > > > > > > > > one=<cleared>
> > > > > > > > > > > > > > > >   ])
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > 2.43.0
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > --
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > _'Esta mensagem é direcionada apenas
> > > > > > > > > > > > > > > > para os
> > > > > > > > > > > > > > > > endereços
> > > > > > > > > > > > > > > > constantes
> > > > > > > > > > > > > > > > no
> > > > > > > > > > > > > > > > cabeçalho inicial. Se você não está
> > > > > > > > > > > > > > > > listado
> > > > > > > > > > > > > > > > nos
> > > > > > > > > > > > > > > > endereços
> > > > > > > > > > > > > > > > constantes no
> > > > > > > > > > > > > > > > cabeçalho, pedimos-lhe que desconsidere
> > > > > > > > > > > > > > > > completamente o
> > > > > > > > > > > > > > > > conteúdo
> > > > > > > > > > > > > > > > dessa
> > > > > > > > > > > > > > > > mensagem e cuja cópia, encaminhamento
> > > > > > > > > > > > > > > > e/ou
> > > > > > > > > > > > > > > > execução
> > > > > > > > > > > > > > > > das
> > > > > > > > > > > > > > > > ações
> > > > > > > > > > > > > > > > citadas
> > > > > > > > > > > > > > > > estão
> > > > > > > > > > > > > > > > imediatamente anuladas e proibidas'._
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > * **'Apesar do Magazine Luiza tomar
> > > > > > > > > > > > > > > > todas as precauções razoáveis para
> > > > > > > > > > > > > > > > assegurar
> > > > > > > > > > > > > > > > que
> > > > > > > > > > > > > > > > nenhum
> > > > > > > > > > > > > > > > vírus
> > > > > > > > > > > > > > > > esteja
> > > > > > > > > > > > > > > > presente nesse e-mail, a empresa não
> > > > > > > > > > > > > > > > poderá
> > > > > > > > > > > > > > > > aceitar
> > > > > > > > > > > > > > > > a
> > > > > > > > > > > > > > > > responsabilidade
> > > > > > > > > > > > > > > > por
> > > > > > > > > > > > > > > > quaisquer perdas ou danos causados por
> > > > > > > > > > > > > > > > esse
> > > > > > > > > > > > > > > > e-
> > > > > > > > > > > > > > > > mail
> > > > > > > > > > > > > > > > ou
> > > > > > > > > > > > > > > > por seus
> > > > > > > > > > > > > > > > anexos'.*
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > _______________________________________
> > > > > > > > > > > > > > > > ______
> > > > > > > > > > > > > > > > __
> > > > > > > > > > > > > > > > dev mailing list
> > > > > > > > > > > > > > > > d...@openvswitch.org
> > > > > > > > > > > > > > > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > Ales
> > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > ___________________________________________
> > > > > > > > > > > > > > ____
> > > > > > > > > > > > > > dev mailing list
> > > > > > > > > > > > > > d...@openvswitch.org
> > > > > > > > > > > > > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> > > > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > 
> > > > 
> > > 
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to