[ovs-git] [ovn-org/ovn] e80d4c: northd: Swap src and dst eth addresses in router e...

Mark Michelson noreply at github.com
Wed Jun 30 17:42:51 UTC 2021


  Branch: refs/heads/branch-21.06
  Home:   https://github.com/ovn-org/ovn
  Commit: e80d4ccd0e4c6a64e500edf1434dd9c8ace833c4
      https://github.com/ovn-org/ovn/commit/e80d4ccd0e4c6a64e500edf1434dd9c8ace833c4
  Author: Mark Michelson <mmichels at redhat.com>
  Date:   2021-06-30 (Wed, 30 Jun 2021)

  Changed paths:
    M northd/ovn-northd.c
    M northd/ovn_northd.dl
    M tests/system-ovn.at

  Log Message:
  -----------
  northd: Swap src and dst eth addresses in router egress loop.

When a hairpin scenario is detected (i.e. egressing on gateway router
port to a NAT external address), we loop back to the ingress router
pipeline and swap the inport and outport. This is intended to allow for
the traffic to get DNATted. In practice, though, the ethernet
destination has not been updated to be the distributed gateway port's
address, and so the packet is immediately dropped.

This fixes the issue by swapping source and dest eth addressses when
doing the hairpin redirection. This way, the packet appears to be
arriving on the gateway port, and it gets handled as expected.

Reported at: https://bugzilla.redhat.com/show_bug.cgi?id=1929901

Tested-by: Brendan Doyle <brendan.doyle at oracle.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
(cherry picked from commit 9be470dc69daf16ac1fbbe13cc295f46862226ad)




More information about the git mailing list