Currently, arping from a vtep-gw physical-switch port to a VIF IP address does not work.
When a physical-switch-port arps for an IP address of a VIF, that arp packet comes into the VIF hypervisor via a vxlan tunnel. That arp packet must not be responded-to by the arp responder table because, potentially, multiple hypervisors could independently respond. Signed-off-by: Ramu Ramamurthy <ramu.ramamur...@us.ibm.com> --- ovn/northd/ovn-northd.8.xml | 5 +++-- ovn/northd/ovn-northd.c | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ovn/northd/ovn-northd.8.xml b/ovn/northd/ovn-northd.8.xml index 1da633a..f27b776 100644 --- a/ovn/northd/ovn-northd.8.xml +++ b/ovn/northd/ovn-northd.8.xml @@ -421,8 +421,9 @@ <ul> <li> - Priority-100 flows to skip ARP responder if inport is of type - <code>localnet</code>, and advances directly to the next table. + Priority-100 flows to skip the ARP responder if inport type is + <code>localnet</code> or <code>vtep</code>, and advances directly + to the next table. </li> <li> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c index cdc5525..9606c95 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -2683,7 +2683,10 @@ build_lswitch_flows(struct hmap *datapaths, struct hmap *ports, continue; } - if (!strcmp(op->nbsp->type, "localnet")) { + /* Skip arp responder if the logical switch inport + * is of type localnet or vtep. */ + if (!strcmp(op->nbsp->type, "localnet") + || !strcmp(op->nbsp->type, "vtep")) { ds_clear(&match); ds_put_format(&match, "inport == %s", op->json_key); ovn_lflow_add(lflows, op->od, S_SWITCH_IN_ARP_ND_RSP, 100, -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev