net: vrf: Update flags and features settings
1. Default VRF devices to not having a qdisc (IFF_NO_QUEUE). Users can add one as desired. 2. Disable adding a VLAN to a VRF device. 3. Enable offloads and hardware features similar to other logical devices (e.g., dummy, veth) Change provides a significant boost in TCP stream Tx performance, from ~2,700 Mbps to ~18,100 Mbps and makes throughput close to the performance without a VRF (18,500 Mbps). netperf TCP_STREAM benchmark using qemu with virtio+vhost for the NICs Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
df10db98ab
commit
7889681f4a
|
@ -1099,6 +1099,20 @@ static void vrf_setup(struct net_device *dev)
|
||||||
|
|
||||||
/* don't allow vrf devices to change network namespaces. */
|
/* don't allow vrf devices to change network namespaces. */
|
||||||
dev->features |= NETIF_F_NETNS_LOCAL;
|
dev->features |= NETIF_F_NETNS_LOCAL;
|
||||||
|
|
||||||
|
/* does not make sense for a VLAN to be added to a vrf device */
|
||||||
|
dev->features |= NETIF_F_VLAN_CHALLENGED;
|
||||||
|
|
||||||
|
/* enable offload features */
|
||||||
|
dev->features |= NETIF_F_GSO_SOFTWARE;
|
||||||
|
dev->features |= NETIF_F_RXCSUM | NETIF_F_HW_CSUM;
|
||||||
|
dev->features |= NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA;
|
||||||
|
|
||||||
|
dev->hw_features = dev->features;
|
||||||
|
dev->hw_enc_features = dev->features;
|
||||||
|
|
||||||
|
/* default to no qdisc; user can add if desired */
|
||||||
|
dev->priv_flags |= IFF_NO_QUEUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vrf_validate(struct nlattr *tb[], struct nlattr *data[])
|
static int vrf_validate(struct nlattr *tb[], struct nlattr *data[])
|
||||||
|
|
Loading…
Reference in New Issue