mirror of
https://github.com/systemd/systemd.git
synced 2025-03-21 02:50:18 +03:00
networkd: tap add support for vnet_hdr
This patch adds support to configure IFF_VNET_HDR flag for a tap device. It allows whether sending and receiving large pass larger (GSO) packets. This greatly increases the achievable throughput.
This commit is contained in:
parent
ff89f8b917
commit
f5f07dbf06
@ -59,6 +59,7 @@ Tun.Group, config_parse_string, 0,
|
||||
Tap.OneQueue, config_parse_bool, 0, offsetof(TunTap, one_queue)
|
||||
Tap.MultiQueue, config_parse_bool, 0, offsetof(TunTap, multi_queue)
|
||||
Tap.PacketInfo, config_parse_bool, 0, offsetof(TunTap, packet_info)
|
||||
Tap.VnetHeader, config_parse_bool, 0, offsetof(TunTap, vnet_hdr)
|
||||
Tap.User, config_parse_string, 0, offsetof(TunTap, user_name)
|
||||
Tap.Group, config_parse_string, 0, offsetof(TunTap, group_name)
|
||||
Bond.Mode, config_parse_bond_mode, 0, offsetof(Bond, mode)
|
||||
|
@ -51,6 +51,9 @@ static int netdev_fill_tuntap_message(NetDev *netdev, struct ifreq *ifr) {
|
||||
if (t->multi_queue)
|
||||
ifr->ifr_flags |= IFF_MULTI_QUEUE;
|
||||
|
||||
if (t->vnet_hdr)
|
||||
ifr->ifr_flags |= IFF_VNET_HDR;
|
||||
|
||||
strncpy(ifr->ifr_name, netdev->ifname, IFNAMSIZ-1);
|
||||
|
||||
return 0;
|
||||
|
@ -33,6 +33,7 @@ struct TunTap {
|
||||
bool one_queue;
|
||||
bool multi_queue;
|
||||
bool packet_info;
|
||||
bool vnet_hdr;
|
||||
};
|
||||
|
||||
extern const NetDevVTable tun_vtable;
|
||||
|
Loading…
x
Reference in New Issue
Block a user