On Tue, Sep 20, 2016 at 2:38 PM, Ramu Ramamurthy <ramu.ramamur...@gmail.com> wrote:
> > > > Does the following diff work on your system? > > > > > > diff --git a/ovn/northd/ovn-northd.8.xml b/ovn/northd/ovn-northd.8.xml > > index 7797417..4f1cd89 100644 > > --- a/ovn/northd/ovn-northd.8.xml > > +++ b/ovn/northd/ovn-northd.8.xml > > @@ -421,8 +421,8 @@ > > > > <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 ARP responder if inport is not > > associated > > + with a local VIF, and advances directly to the next table. > > </li> > > > > <li> > > diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c > > index 8c7e80c..bcb9738 100644 > > --- a/ovn/northd/ovn-northd.c > > +++ b/ovn/northd/ovn-northd.c > > @@ -2428,7 +2428,9 @@ build_lswitch_flows(struct hmap *datapaths, struct > > hmap *ports, > > continue; > > } > > > > - if (!strcmp(op->nbsp->type, "localnet")) { > > + /* Skip installing arp responder if the logical switch inport > > + * is not associated with a local VIF. */ > > + if (strcmp(op->nbsp->type, "")) { > > 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, > > Yes, the above works, The above code skips the arp-responder for all > non-vif ports > (localnet, vtep, router, l2gateway). Is that ok ? > Actually, I was just going to fire off another e-mail after further reflection. The present "l2gateway type" inport case could be kept for now; thats a separate discussion with other implications. It will take advantage of the arp responder, however, for north->south traffic. The logical switch "router type" inport case should never be needed here and if that is the inport, we can go to the next table. diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c index 8c7e80c..e1a33c1 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -2428,7 +2428,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 not + * associated with a local VIF or a l2gateway port */ + if ((strcmp(op->nbsp->type, "")) && + (strcmp(op->nbsp->type, "l2gateway"))) { 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, > > My usecase requires to skip the arp-responder for > vtep because, multiple hypervisors could respond to an arp from vtep. > Thats right _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev