On Mon, Sep 26, 2016 at 11:24 AM, Ramu Ramamurthy <ramu.ramamur...@gmail.com > wrote:
> - 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, > > The logical switch port of type "router" needs to have an > arp-responder entry for VIFs to get the > mac of the gateway port, but the above skips it and would introduce a > regression. > Thanks for fully testing these cases. The OVN system tests, including NAT that I ran all pass when skipping the arp responder for "LS router type" inports. I see we don't emulate everything, however, so that is expected. After a second set of discussions :-), it is agreed that the L3 gateway support using transit logical switch datapath in between distributed logical router and gateway router would hit this case for south -> north traffic. If that is what you see ? then we agree. Please add some comments regarding arp responders to the xml file and code to document what we discussed and found by testing, especially since there is some special code paths involved. > > I would suggest a) that the code is simpler if we explicitly list the > two known port-types for which we want to > skip the arp-responder b) keep every other port-type as-is with > respect to the arp-responder (and not make > code changes for them in this commit). Please let me know what you > think of this.. > > - if (!strcmp(op->nbsp->type, "localnet")) { > + 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, > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev