TPA in arp requests generated for unknown MAC-to-IP bindings is currently set to DST_IP of the original packet. These arps will not be resolved when the DST_IP is rechable via the default gateway. This patch fixes the issue by setting the TPA to reg0. In routing stage reg0 is set to IP of the default gateway when the packet has to go through the default gateway, otherwise reg0 is set to the DST_IP of the original packet.
Signed-off-by: Chandra Sekhar Vejendla <csvej...@us.ibm.com> --- ovn/northd/ovn-northd.8.xml | 9 ++++++--- ovn/northd/ovn-northd.c | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ovn/northd/ovn-northd.8.xml b/ovn/northd/ovn-northd.8.xml index 6bc83ea..531e253 100644 --- a/ovn/northd/ovn-northd.8.xml +++ b/ovn/northd/ovn-northd.8.xml @@ -866,8 +866,9 @@ icmp4 { <code>ip4.dst</code>, the packet's final destination, unchanged) and advances to the next table for ARP resolution. It also sets <code>reg1</code> to the IP address owned by the selected router port - (which is used later in table 6 as the IP source address for an ARP - request, if needed). + (Table 6 will generate ARP request, if needed, with <code>reg0</code> as + the target protocol address and <code>reg1</code> as the target source + address) </p> <p> @@ -1011,6 +1012,7 @@ icmp4 { arp { eth.dst = ff:ff:ff:ff:ff:ff; arp.spa = reg1; + arp.tpa = reg0; arp.op = 1; /* ARP request. */ output; }; @@ -1018,7 +1020,8 @@ arp { <p> (Ingress table 4 initialized <code>reg1</code> with the IP address - owned by <code>outport</code>.) + owned by <code>outport</code> and <code>reg0</code> with the next-hop + IP address) </p> <p> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c index f4b4435..afcd7fd 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -2693,6 +2693,7 @@ build_lrouter_flows(struct hmap *datapaths, struct hmap *ports, "arp { " "eth.dst = ff:ff:ff:ff:ff:ff; " "arp.spa = reg1; " + "arp.tpa = reg0; " "arp.op = 1; " /* ARP request */ "output; " "};"); -- 2.6.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev