search for: ip6_frag_id

Displaying 20 results from an estimated 66 matches for "ip6_frag_id".

2014 Oct 21
2
IPv6 UFO for VMs
...t/virtio_net.c: skb_shinfo(skb)->gso_type = SKB_GSO_UDP; Our implementation of UFO for IPv6 does: fptr = (struct frag_hdr *)(skb_network_header(skb) + unfrag_ip6hlen); fptr->nexthdr = nexthdr; fptr->reserved = 0; fptr->identification = skb_shinfo(skb)->ip6_frag_id; which assumes ip6_frag_id has been set. That's only true if the local stack constructed the skb; otherwise it appears we get zero. This seems to be a regression as a result of: commit 916e4cf46d0204806c062c8c6c4d1f633852c5b6 Author: Hannes Frederic Sowa <hannes at stressinduktion.org&gt...
2014 Oct 21
2
IPv6 UFO for VMs
...t/virtio_net.c: skb_shinfo(skb)->gso_type = SKB_GSO_UDP; Our implementation of UFO for IPv6 does: fptr = (struct frag_hdr *)(skb_network_header(skb) + unfrag_ip6hlen); fptr->nexthdr = nexthdr; fptr->reserved = 0; fptr->identification = skb_shinfo(skb)->ip6_frag_id; which assumes ip6_frag_id has been set. That's only true if the local stack constructed the skb; otherwise it appears we get zero. This seems to be a regression as a result of: commit 916e4cf46d0204806c062c8c6c4d1f633852c5b6 Author: Hannes Frederic Sowa <hannes at stressinduktion.org&gt...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...therwise this looks fine. > > > > > > > >>> > > > > > > > >>> Ben. > > > > > > > >> > > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > > move into the skb_shared_info area. > > > > > > >...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...therwise this looks fine. > > > > > > > >>> > > > > > > > >>> Ben. > > > > > > > >> > > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > > move into the skb_shared_info area. > > > > > > >...
2015 Jan 28
7
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...> > > > > >>> sk_buff? Otherwise this looks fine. > > > > > >>> > > > > > >>> Ben. > > > > > >> > > > > > >> Hmm we seem to be out of tx flags. > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > move into the skb_shared_info area. > > > > > > > > > > That's wh...
2015 Jan 28
7
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...> > > > > >>> sk_buff? Otherwise this looks fine. > > > > > >>> > > > > > >>> Ben. > > > > > >> > > > > > >> Hmm we seem to be out of tx flags. > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > move into the skb_shared_info area. > > > > > > > > > > That's wh...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...>>> sk_buff? Otherwise this looks fine. > > > > > > >>> > > > > > > >>> Ben. > > > > > > >> > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > move into the skb_shared_info area. > > > > > > > > > &gt...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...>>> sk_buff? Otherwise this looks fine. > > > > > > >>> > > > > > > >>> Ben. > > > > > > >> > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > move into the skb_shared_info area. > > > > > > > > > &gt...
2015 Jan 30
0
[PATCH v2 1/3] ipv6: Select fragment id during UFO segmentation if not set.
...ent(struct sk_buff *skb) net_get_random_once(&ip6_proxy_idents_hashrnd, sizeof(ip6_proxy_idents_hashrnd)); - hash = __ipv6_addr_jhash(&addrs[1], ip6_proxy_idents_hashrnd); - hash = __ipv6_addr_jhash(&addrs[0], hash); - - id = ip_idents_reserve(hash, 1); - skb_shinfo(skb)->ip6_frag_id = htonl(id); + id = __ipv6_select_ident(ip6_proxy_idents_hashrnd, + &addrs[1], &addrs[0]); + skb_shinfo(skb)->ip6_frag_id = id; } EXPORT_SYMBOL_GPL(ipv6_proxy_select_ident); diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c index b6aa8ed..a562769 100644 --- a/net/ipv6/...
2015 Jan 30
0
[PATCH v2 1/3] ipv6: Select fragment id during UFO segmentation if not set.
...ent(struct sk_buff *skb) net_get_random_once(&ip6_proxy_idents_hashrnd, sizeof(ip6_proxy_idents_hashrnd)); - hash = __ipv6_addr_jhash(&addrs[1], ip6_proxy_idents_hashrnd); - hash = __ipv6_addr_jhash(&addrs[0], hash); - - id = ip_idents_reserve(hash, 1); - skb_shinfo(skb)->ip6_frag_id = htonl(id); + id = __ipv6_select_ident(ip6_proxy_idents_hashrnd, + &addrs[1], &addrs[0]); + skb_shinfo(skb)->ip6_frag_id = id; } EXPORT_SYMBOL_GPL(ipv6_proxy_select_ident); diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c index b6aa8ed..a562769 100644 --- a/net/ipv6/...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...> > > > > > > > >>> > > > > > > > > >>> Ben. > > > > > > > > >> > > > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > > > move into the skb_shared_info area. > > > >...
2015 Feb 03
0
[PATCH v3 net 1/3] ipv6: Select fragment id during UFO segmentation if not set.
...ent(struct sk_buff *skb) net_get_random_once(&ip6_proxy_idents_hashrnd, sizeof(ip6_proxy_idents_hashrnd)); - hash = __ipv6_addr_jhash(&addrs[1], ip6_proxy_idents_hashrnd); - hash = __ipv6_addr_jhash(&addrs[0], hash); - - id = ip_idents_reserve(hash, 1); - skb_shinfo(skb)->ip6_frag_id = htonl(id); + id = __ipv6_select_ident(ip6_proxy_idents_hashrnd, + &addrs[1], &addrs[0]); + skb_shinfo(skb)->ip6_frag_id = id; } EXPORT_SYMBOL_GPL(ipv6_proxy_select_ident); +void ipv6_select_ident(struct frag_hdr *fhdr, struct rt6_info *rt) +{ + static u32 ip6_idents_hashrnd __r...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...> > > > > > > > >>> > > > > > > > > >>> Ben. > > > > > > > > >> > > > > > > > > >> Hmm we seem to be out of tx flags. > > > > > > > > >> Maybe ip6_frag_id == 0 should mean "not set". > > > > > > > > > > > > > > > > > > Maybe that is the best idea. Definitely the ufo_fragid_set bit should > > > > > > > > > move into the skb_shared_info area. > > > >...
2015 Feb 03
0
[PATCH v3 net 1/3] ipv6: Select fragment id during UFO segmentation if not set.
...ent(struct sk_buff *skb) net_get_random_once(&ip6_proxy_idents_hashrnd, sizeof(ip6_proxy_idents_hashrnd)); - hash = __ipv6_addr_jhash(&addrs[1], ip6_proxy_idents_hashrnd); - hash = __ipv6_addr_jhash(&addrs[0], hash); - - id = ip_idents_reserve(hash, 1); - skb_shinfo(skb)->ip6_frag_id = htonl(id); + id = __ipv6_select_ident(ip6_proxy_idents_hashrnd, + &addrs[1], &addrs[0]); + skb_shinfo(skb)->ip6_frag_id = id; } EXPORT_SYMBOL_GPL(ipv6_proxy_select_ident); +void ipv6_select_ident(struct frag_hdr *fhdr, struct rt6_info *rt) +{ + static u32 ip6_idents_hashrnd __r...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...t;>>>> sk_buff? Otherwise this looks fine. > >>>>>>>>> > >>>>>>>>> Ben. > >>>>>>>> > >>>>>>>> Hmm we seem to be out of tx flags. > >>>>>>>> Maybe ip6_frag_id == 0 should mean "not set". > >>>>>>> > >>>>>>> Maybe that is the best idea. Definitely the ufo_fragid_set bit should > >>>>>>> move into the skb_shared_info area. > >>>>>> > >>>>&g...
2015 Jan 28
2
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...t;>>>> sk_buff? Otherwise this looks fine. > >>>>>>>>> > >>>>>>>>> Ben. > >>>>>>>> > >>>>>>>> Hmm we seem to be out of tx flags. > >>>>>>>> Maybe ip6_frag_id == 0 should mean "not set". > >>>>>>> > >>>>>>> Maybe that is the best idea. Definitely the ufo_fragid_set bit should > >>>>>>> move into the skb_shared_info area. > >>>>>> > >>>>&g...
2015 Jan 26
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...fo *rt) { static u32 ip6_idents_hashrnd __read_mostly; u32 hash, id; @@ -1092,7 +1092,7 @@ static inline int ip6_ufo_append_data(struct sock *sk, sizeof(struct frag_hdr)) & ~7; skb_shinfo(skb)->gso_type = SKB_GSO_UDP; ipv6_select_ident(&fhdr, rt); - skb_shinfo(skb)->ip6_frag_id = fhdr.identification; + ipv6_skb_set_fragid(skb, fhdr.identification); append: return skb_append_datato_frags(sk, skb, getfrag, from, diff --git a/net/ipv6/output_core.c b/net/ipv6/output_core.c index 97f41a3..68f879b 100644 --- a/net/ipv6/output_core.c +++ b/net/ipv6/output_core.c @@ -38,10...
2015 Jan 26
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...fo *rt) { static u32 ip6_idents_hashrnd __read_mostly; u32 hash, id; @@ -1092,7 +1092,7 @@ static inline int ip6_ufo_append_data(struct sock *sk, sizeof(struct frag_hdr)) & ~7; skb_shinfo(skb)->gso_type = SKB_GSO_UDP; ipv6_select_ident(&fhdr, rt); - skb_shinfo(skb)->ip6_frag_id = fhdr.identification; + ipv6_skb_set_fragid(skb, fhdr.identification); append: return skb_append_datato_frags(sk, skb, getfrag, from, diff --git a/net/ipv6/output_core.c b/net/ipv6/output_core.c index 97f41a3..68f879b 100644 --- a/net/ipv6/output_core.c +++ b/net/ipv6/output_core.c @@ -38,10...
2014 Oct 22
0
IPv6 UFO for VMs
...skb_shinfo(skb)->gso_type = SKB_GSO_UDP; > > Our implementation of UFO for IPv6 does: > > fptr = (struct frag_hdr *)(skb_network_header(skb) + unfrag_ip6hlen); > fptr->nexthdr = nexthdr; > fptr->reserved = 0; > fptr->identification = skb_shinfo(skb)->ip6_frag_id; > > which assumes ip6_frag_id has been set. That's only true if the local > stack constructed the skb; otherwise it appears we get zero. > > This seems to be a regression as a result of: > > commit 916e4cf46d0204806c062c8c6c4d1f633852c5b6 > Author: Hannes Frederic S...
2015 Jan 28
0
[PATCH 1/3] ipv6: Select fragment id during UFO/GSO segmentation if not set.
...struct >>>>>>>>> sk_buff? Otherwise this looks fine. >>>>>>>>> >>>>>>>>> Ben. >>>>>>>> >>>>>>>> Hmm we seem to be out of tx flags. >>>>>>>> Maybe ip6_frag_id == 0 should mean "not set". >>>>>>> >>>>>>> Maybe that is the best idea. Definitely the ufo_fragid_set bit should >>>>>>> move into the skb_shared_info area. >>>>>> >>>>>> That's what I...