Process RARP packets with ethertype 0x8035 similar to ARP packets.
[openvswitch] / lib / dpif-linux.c
index f043f8a599d0b13fe2dc3208eb56462739e0d4d0..75bfc45872fa787c9ce495b1c57bdf6897e7755e 100644 (file)
@@ -492,7 +492,7 @@ dpif_linux_port_query__(const struct dpif *dpif, uint32_t port_no,
             /* A query by name reported that 'port_name' is in some datapath
              * other than 'dpif', but the caller wants to know about 'dpif'. */
             error = ENODEV;
-        } else {
+        } else if (dpif_port) {
             dpif_port->name = xstrdup(reply.name);
             dpif_port->type = xstrdup(netdev_vport_get_netdev_type(&reply));
             dpif_port->port_no = reply.port_no;
@@ -1402,7 +1402,7 @@ dpif_linux_vport_send(int dp_ifindex, uint32_t port_no,
     flow_extract(&packet, 0, NULL, 0, &flow);
 
     ofpbuf_use_stack(&key, &keybuf, sizeof keybuf);
-    odp_flow_key_from_flow(&key, &flow);
+    odp_flow_key_from_flow(&key, &flow, OVSP_NONE);
 
     ofpbuf_use_stack(&actions, &action, sizeof action);
     nl_msg_put_u32(&actions, OVS_ACTION_ATTR_OUTPUT, port_no);