skb_reset_mac_header(skb);
compute_ip_summed(skb, true);
+ OVS_CB(skb)->flow = NULL;
vport_receive(vport, skb);
struct vport_ops internal_vport_ops = {
.type = "internal",
- .flags = VPORT_F_REQUIRED | VPORT_F_GEN_STATS,
+ .flags = VPORT_F_REQUIRED | VPORT_F_GEN_STATS | VPORT_F_FLOW,
.create = internal_dev_create,
.destroy = internal_dev_destroy,
.attach = internal_dev_attach,
struct vport *internal_dev_get_vport(struct net_device *netdev)
{
- struct internal_dev *internal_dev = internal_dev_priv(netdev);
+ struct internal_dev *internal_dev;
+
+ if (!is_internal_dev(netdev))
+ return NULL;
+
+ internal_dev = internal_dev_priv(netdev);
return rcu_dereference(internal_dev->attached_vport);
}