search for: skb_reset_network_header

Displaying 20 results from an estimated 41 matches for "skb_reset_network_header".

2015 Jan 30
0
[PATCH v2 2/3] Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets"
...net.h> #include <linux/rcupdate.h> -#include <net/ipv6.h> #include <net/net_namespace.h> #include <net/netns/generic.h> #include <net/rtnetlink.h> @@ -1167,8 +1166,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, break; } - skb_reset_network_header(skb); - if (gso.gso_type != VIRTIO_NET_HDR_GSO_NONE) { pr_debug("GSO!\n"); switch (gso.gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { @@ -1189,8 +1186,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, current->comm); } skb_shinfo(skb)...
2015 Jan 30
0
[PATCH v2 2/3] Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets"
...net.h> #include <linux/rcupdate.h> -#include <net/ipv6.h> #include <net/net_namespace.h> #include <net/netns/generic.h> #include <net/rtnetlink.h> @@ -1167,8 +1166,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, break; } - skb_reset_network_header(skb); - if (gso.gso_type != VIRTIO_NET_HDR_GSO_NONE) { pr_debug("GSO!\n"); switch (gso.gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { @@ -1189,8 +1186,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, current->comm); } skb_shinfo(skb)...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...+3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > > trace_netif_receive_skb(skb); > > > > > > orig_dev = skb->dev; > > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > > > skb_reset_network_header(skb); > > > if (!skb_transport_header_was_set(skb)) > > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > > index ce69a12..819a821 100644 > > > --- a/net/ipv6/ip6_output.c > > > +++ b/net/ipv6/ip6_output.c > > > @@ -1092,7 +1092...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...+3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > > trace_netif_receive_skb(skb); > > > > > > orig_dev = skb->dev; > > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > > > skb_reset_network_header(skb); > > > if (!skb_transport_header_was_set(skb)) > > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > > index ce69a12..819a821 100644 > > > --- a/net/ipv6/ip6_output.c > > > +++ b/net/ipv6/ip6_output.c > > > @@ -1092,7 +1092...
2015 Jan 28
7
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...a/net/core/dev.c > +++ b/net/core/dev.c > @@ -3625,6 +3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > trace_netif_receive_skb(skb); > > orig_dev = skb->dev; > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > skb_reset_network_header(skb); > if (!skb_transport_header_was_set(skb)) > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > index ce69a12..819a821 100644 > --- a/net/ipv6/ip6_output.c > +++ b/net/ipv6/ip6_output.c > @@ -1092,7 +1092,8 @@ static inline int ip6_ufo_append_data(struct sock *sk,...
2015 Jan 28
7
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...a/net/core/dev.c > +++ b/net/core/dev.c > @@ -3625,6 +3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > trace_netif_receive_skb(skb); > > orig_dev = skb->dev; > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > skb_reset_network_header(skb); > if (!skb_transport_header_was_set(skb)) > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > index ce69a12..819a821 100644 > --- a/net/ipv6/ip6_output.c > +++ b/net/ipv6/ip6_output.c > @@ -1092,7 +1092,8 @@ static inline int ip6_ufo_append_data(struct sock *sk,...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...re/dev.c > > @@ -3625,6 +3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > trace_netif_receive_skb(skb); > > > > orig_dev = skb->dev; > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > skb_reset_network_header(skb); > > if (!skb_transport_header_was_set(skb)) > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > index ce69a12..819a821 100644 > > --- a/net/ipv6/ip6_output.c > > +++ b/net/ipv6/ip6_output.c > > @@ -1092,7 +1092,8 @@ static inline int ip6_uf...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...re/dev.c > > @@ -3625,6 +3625,7 @@ static int __netif_receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > trace_netif_receive_skb(skb); > > > > orig_dev = skb->dev; > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > skb_reset_network_header(skb); > > if (!skb_transport_header_was_set(skb)) > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > index ce69a12..819a821 100644 > > --- a/net/ipv6/ip6_output.c > > +++ b/net/ipv6/ip6_output.c > > @@ -1092,7 +1092,8 @@ static inline int ip6_uf...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > > > trace_netif_receive_skb(skb); > > > > > > > > orig_dev = skb->dev; > > > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > > > > > skb_reset_network_header(skb); > > > > if (!skb_transport_header_was_set(skb)) > > > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > > > index ce69a12..819a821 100644 > > > > --- a/net/ipv6/ip6_output.c > > > > +++ b/net/ipv6/ip6_output.c > &...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...receive_skb_core(struct sk_buff *skb, bool pfmemalloc) > > > > trace_netif_receive_skb(skb); > > > > > > > > orig_dev = skb->dev; > > > > + skb_shinfo(skb)->ip6_frag_id = skb->dev->ifindex; > > > > > > > > skb_reset_network_header(skb); > > > > if (!skb_transport_header_was_set(skb)) > > > > diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c > > > > index ce69a12..819a821 100644 > > > > --- a/net/ipv6/ip6_output.c > > > > +++ b/net/ipv6/ip6_output.c > &...
2015 Jan 30
9
[PATCH v2 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2015 Jan 30
9
[PATCH v2 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2018 Sep 06
0
[PATCH net-next 09/11] tuntap: accept an array of XDP buffs through sendmsg()
...rd_start); + skb_put(skb, xdp->data_end - xdp->data); + + if (virtio_net_hdr_to_skb(skb, gso, tun_is_little_endian(tun))) { + this_cpu_inc(tun->pcpu_stats->rx_frame_errors); + kfree_skb(skb); + err = -EINVAL; + goto out; + } + + skb->protocol = eth_type_trans(skb, tun->dev); + skb_reset_network_header(skb); + skb_probe_transport_header(skb, 0); + + if (skb_xdp) { + err = do_xdp_generic(xdp_prog, skb); + if (err != XDP_PASS) + goto out; + } + + if (!rcu_dereference(tun->steering_prog)) + rxhash = __skb_get_hash_symmetric(skb); + + netif_receive_skb(skb); + + stats = get_cpu_ptr(tun->pc...
2014 Oct 27
3
[PATCH net 0/2] drivers/net,ipv6: Fix IPv6 fragment ID selection for virtio
The virtio net protocol supports UFO but does not provide for passing a fragment ID for fragmentation of IPv6 packets. We used to generate a fragment ID wherever such a packet was fragmented, but currently we always use ID=0! Ben. Ben Hutchings (2): drivers/net: Disable UFO through virtio drivers/net,ipv6: Select IPv6 fragment idents for virtio UFO packets drivers/net/macvtap.c | 16
2014 Oct 27
3
[PATCH net 0/2] drivers/net,ipv6: Fix IPv6 fragment ID selection for virtio
The virtio net protocol supports UFO but does not provide for passing a fragment ID for fragmentation of IPv6 packets. We used to generate a fragment ID wherever such a packet was fragmented, but currently we always use ID=0! Ben. Ben Hutchings (2): drivers/net: Disable UFO through virtio drivers/net,ipv6: Select IPv6 fragment idents for virtio UFO packets drivers/net/macvtap.c | 16
2015 Feb 03
4
[PATCH v4 net 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2015 Feb 03
4
[PATCH v4 net 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2015 Feb 02
5
[PATCH v3 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2015 Feb 02
5
[PATCH v3 0/3] Restore UFO support to virtio_net devices
commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 Author: Ben Hutchings <ben at decadent.org.uk> Date: Thu Oct 30 18:27:12 2014 +0000 drivers/net: Disable UFO through virtio Turned off UFO support to virtio-net based devices due to issues with IPv6 fragment id generation for UFO packets. The issue was that IPv6 UFO/GSO implementation expects the fragment id to be supplied in
2018 Sep 06
1
[PATCH net-next 09/11] tuntap: accept an array of XDP buffs through sendmsg()
...gt;data); > + > + if (virtio_net_hdr_to_skb(skb, gso, tun_is_little_endian(tun))) { > + this_cpu_inc(tun->pcpu_stats->rx_frame_errors); > + kfree_skb(skb); > + err = -EINVAL; > + goto out; > + } > + > + skb->protocol = eth_type_trans(skb, tun->dev); > + skb_reset_network_header(skb); > + skb_probe_transport_header(skb, 0); > + > + if (skb_xdp) { > + err = do_xdp_generic(xdp_prog, skb); > + if (err != XDP_PASS) > + goto out; > + } > + > + if (!rcu_dereference(tun->steering_prog)) > + rxhash = __skb_get_hash_symmetric(skb); > + >...