• Xin Long's avatar
    esp4: add gso_segment for esp4 beet mode · 384a46ea
    Xin Long authored
    Similar to xfrm4_tunnel/transport_gso_segment(), _gso_segment()
    is added to do gso_segment for esp4 beet mode. Before calling
    inet_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_TCPV4 to gso_type if x->sel.family == AF_INET6
        and the proto == IPPROTO_TCP, so that the current tcp ipv4
        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>
    384a46ea
esp4_offload.c 8.42 KB