search for: tun_rx_pad

Displaying 10 results from an estimated 10 matches for "tun_rx_pad".

2018 Sep 06
2
[PATCH net-next 06/11] tuntap: split out XDP logic
...83,10 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, > struct sk_buff *skb = NULL; > struct bpf_prog *xdp_prog; > int buflen = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); > - unsigned int delta = 0; > char *buf; > size_t copied; > - int err, pad = TUN_RX_PAD; > + int pad = TUN_RX_PAD; > + int err = 0; > > rcu_read_lock(); > xdp_prog = rcu_dereference(tun->xdp_prog); > @@ -1685,9 +1723,8 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, > local_bh_disable(); > rcu_read_lock(); > xdp_prog = rcu_dere...
2018 Sep 06
2
[PATCH net-next 06/11] tuntap: split out XDP logic
...83,10 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, > struct sk_buff *skb = NULL; > struct bpf_prog *xdp_prog; > int buflen = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); > - unsigned int delta = 0; > char *buf; > size_t copied; > - int err, pad = TUN_RX_PAD; > + int pad = TUN_RX_PAD; > + int err = 0; > > rcu_read_lock(); > xdp_prog = rcu_dereference(tun->xdp_prog); > @@ -1685,9 +1723,8 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, > local_bh_disable(); > rcu_read_lock(); > xdp_prog = rcu_dere...
2018 Sep 06
1
[PATCH net-next 02/11] tuntap: switch to use XDP_PACKET_HEADROOM
...deletions(-) > > diff --git a/drivers/net/tun.c b/drivers/net/tun.c > index 2c548bd20393..d3677a544b56 100644 > --- a/drivers/net/tun.c > +++ b/drivers/net/tun.c > @@ -113,7 +113,6 @@ do { \ > } while (0) > #endif > > -#define TUN_HEADROOM 256 > #define TUN_RX_PAD (NET_IP_ALIGN + NET_SKB_PAD) > > /* TUN device flags */ > @@ -1654,7 +1653,7 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, > rcu_read_lock(); > xdp_prog = rcu_dereference(tun->xdp_prog); > if (xdp_prog) > - pad += TUN_HEADROOM; > + pad += XDP_...
2018 Sep 06
0
[PATCH net-next 06/11] tuntap: split out XDP logic
...uct iov_iter *from, @@ -1645,10 +1683,10 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, struct sk_buff *skb = NULL; struct bpf_prog *xdp_prog; int buflen = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); - unsigned int delta = 0; char *buf; size_t copied; - int err, pad = TUN_RX_PAD; + int pad = TUN_RX_PAD; + int err = 0; rcu_read_lock(); xdp_prog = rcu_dereference(tun->xdp_prog); @@ -1685,9 +1723,8 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, local_bh_disable(); rcu_read_lock(); xdp_prog = rcu_dereference(tun->xdp_prog); - if (xdp_prog &am...
2018 Sep 07
0
[PATCH net-next 06/11] tuntap: split out XDP logic
...un_build_skb(struct tun_struct *tun, >> struct sk_buff *skb = NULL; >> struct bpf_prog *xdp_prog; >> int buflen = SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); >> - unsigned int delta = 0; >> char *buf; >> size_t copied; >> - int err, pad = TUN_RX_PAD; >> + int pad = TUN_RX_PAD; >> + int err = 0; >> >> rcu_read_lock(); >> xdp_prog = rcu_dereference(tun->xdp_prog); >> @@ -1685,9 +1723,8 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, >> local_bh_disable(); >> rcu_re...
2018 Sep 06
0
[PATCH net-next 02/11] tuntap: switch to use XDP_PACKET_HEADROOM
...s/net/tun.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 2c548bd20393..d3677a544b56 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -113,7 +113,6 @@ do { \ } while (0) #endif -#define TUN_HEADROOM 256 #define TUN_RX_PAD (NET_IP_ALIGN + NET_SKB_PAD) /* TUN device flags */ @@ -1654,7 +1653,7 @@ static struct sk_buff *tun_build_skb(struct tun_struct *tun, rcu_read_lock(); xdp_prog = rcu_dereference(tun->xdp_prog); if (xdp_prog) - pad += TUN_HEADROOM; + pad += XDP_PACKET_HEADROOM; buflen += SKB_DATA_AL...
2018 Sep 06
22
[PATCH net-next 00/11] Vhost_net TX batching
Hi all: This series tries to batch submitting packets to underlayer socket through msg_control during sendmsg(). This is done by: 1) Doing userspace copy inside vhost_net 2) Build XDP buff 3) Batch at most 64 (VHOST_NET_BATCH) XDP buffs and submit them once through msg_control during sendmsg(). 4) Underlayer sockets can use XDP buffs directly when XDP is enalbed, or build skb based on XDP
2018 Sep 12
14
[PATCH net-next V2 00/11] vhost_net TX batching
Hi all: This series tries to batch submitting packets to underlayer socket through msg_control during sendmsg(). This is done by: 1) Doing userspace copy inside vhost_net 2) Build XDP buff 3) Batch at most 64 (VHOST_NET_BATCH) XDP buffs and submit them once through msg_control during sendmsg(). 4) Underlayer sockets can use XDP buffs directly when XDP is enalbed, or build skb based on XDP
2018 Sep 12
14
[PATCH net-next V2 00/11] vhost_net TX batching
Hi all: This series tries to batch submitting packets to underlayer socket through msg_control during sendmsg(). This is done by: 1) Doing userspace copy inside vhost_net 2) Build XDP buff 3) Batch at most 64 (VHOST_NET_BATCH) XDP buffs and submit them once through msg_control during sendmsg(). 4) Underlayer sockets can use XDP buffs directly when XDP is enalbed, or build skb based on XDP
2018 May 21
20
[RFC PATCH net-next 00/12] XDP batching for TUN/vhost_net
Hi all: We do not support XDP batching for TUN since it can only receive one packet a time from vhost_net. This series tries to remove this limitation by: - introduce a TUN specific msg_control that can hold a pointer to an array of XDP buffs - try copy and build XDP buff in vhost_net - store XDP buffs in an array and submit them once for every N packets from vhost_net - since TUN can only