Commit 3ffb93ba authored by Xin Long's avatar Xin Long Committed by Steffen Klassert

esp4: improve xfrm4_beet_gso_segment() to be more readable

This patch is to improve the code to make xfrm4_beet_gso_segment()
more readable, and keep consistent with xfrm6_beet_gso_segment().
Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
parent 56b1b7c6
...@@ -141,20 +141,23 @@ static struct sk_buff *xfrm4_beet_gso_segment(struct xfrm_state *x, ...@@ -141,20 +141,23 @@ static struct sk_buff *xfrm4_beet_gso_segment(struct xfrm_state *x,
skb->transport_header += x->props.header_len; skb->transport_header += x->props.header_len;
if (proto == IPPROTO_BEETPH) { if (x->sel.family != AF_INET6) {
struct ip_beet_phdr *ph = (struct ip_beet_phdr *)skb->data; if (proto == IPPROTO_BEETPH) {
struct ip_beet_phdr *ph =
skb->transport_header += ph->hdrlen * 8; (struct ip_beet_phdr *)skb->data;
proto = ph->nexthdr;
} else if (x->sel.family == AF_INET6) { skb->transport_header += ph->hdrlen * 8;
proto = ph->nexthdr;
} else {
skb->transport_header -= IPV4_BEET_PHMAXLEN;
}
} else {
__be16 frag; __be16 frag;
skb->transport_header += skb->transport_header +=
ipv6_skip_exthdr(skb, 0, &proto, &frag); ipv6_skip_exthdr(skb, 0, &proto, &frag);
if (proto == IPPROTO_TCP) if (proto == IPPROTO_TCP)
skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4; skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4;
} else {
skb->transport_header -= IPV4_BEET_PHMAXLEN;
} }
__skb_pull(skb, skb_transport_offset(skb)); __skb_pull(skb, skb_transport_offset(skb));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment