On Wed, 14 Apr 2021 16:25:39 -0700 Saeed Mahameed wrote: > +static void get_inner_ipproto(struct sk_buff *skb, struct sec_path *sp) > +{ > + const struct ethhdr *eth; > + > + if (!skb->inner_protocol) > + return; > + > + if (skb->inner_protocol_type == ENCAP_TYPE_IPPROTO) { > + sp->inner_ipproto = skb->inner_protocol; > + return; > + } > + > + if (skb->inner_protocol_type != ENCAP_TYPE_ETHER) > + return; > + > + eth = (struct ethhdr *)skb_inner_mac_header(skb); > + > + switch (eth->h_proto) { > + case ntohs(ETH_P_IPV6): > + sp->inner_ipproto = inner_ipv6_hdr(skb)->nexthdr; > + break; > + case ntohs(ETH_P_IP): > + sp->inner_ipproto = inner_ip_hdr(skb)->protocol; > + break; > + default: > + return; > + } > +}
Bunch of sparse warnings here, please check.