• Xin Long's avatar
    esp6: add gso_segment for esp6 beet mode · 7f9e40eb
    Xin Long authored
    Similar to xfrm6_tunnel/transport_gso_segment(), _gso_segment()
    is added to do gso_segment for esp6 beet mode. Before calling
    inet6_offloads[proto]->callbacks.gso_segment, it needs to do:
    
      - Get the upper proto from ph header to get its gso_segment
        when xo->proto is IPPROTO_BEETPH.
    
      - Add SKB_GSO_TCPV6 to gso_type if x->sel.family != AF_INET6
        and the proto == IPPROTO_TCP, so that the current tcp ipv6
        packet can be segmented.
    
      - Calculate a right value for skb->transport_header and move
        skb->data to the transport header position.
    Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    7f9e40eb
esp6_offload.c 8.88 KB