-        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.

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

Reply via email to