lkml.org 
[lkml]   [2014]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 084/102] ipv6: reuse ip6_frag_id from ip6_ufo_append_data
    3.2.64-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Hannes Frederic Sowa <hannes@stressinduktion.org>

    commit 916e4cf46d0204806c062c8c6c4d1f633852c5b6 upstream.

    Currently we generate a new fragmentation id on UFO segmentation. It
    is pretty hairy to identify the correct net namespace and dst there.
    Especially tunnels use IFF_XMIT_DST_RELEASE and thus have no skb_dst
    available at all.

    This causes unreliable or very predictable ipv6 fragmentation id
    generation while segmentation.

    Luckily we already have pregenerated the ip6_frag_id in
    ip6_ufo_append_data and can use it here.

    Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    [bwh: Backported to 3.2: adjust filename, indentation]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    net/ipv6/udp_offload.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/ipv6/udp.c
    +++ b/net/ipv6/udp.c
    @@ -1362,7 +1362,7 @@ static struct sk_buff *udp6_ufo_fragment
    fptr = (struct frag_hdr *)(skb_network_header(skb) + unfrag_ip6hlen);
    fptr->nexthdr = nexthdr;
    fptr->reserved = 0;
    - ipv6_select_ident(fptr, (struct rt6_info *)skb_dst(skb));
    + fptr->identification = skb_shinfo(skb)->ip6_frag_id;

    /* Fragment the skb. ipv6 header and the remaining fields of the
    * fragment header are updated in ipv6_gso_segment()


    \
     
     \ /
      Last update: 2014-11-02 00:21    [W:5.798 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site