Eric Woudstra <ericwouds@xxxxxxxxx> wrote: > enum ip_conntrack_info ctinfo; > + u32 len, data_len = U32_MAX; > + int ret, offset = 0; > struct nf_conn *ct; > - u32 len; > - int ret; > + __be16 outer_proto; > > ct = nf_ct_get(skb, &ctinfo); > if ((ct && !nf_ct_is_template(ct)) || > ctinfo == IP_CT_UNTRACKED) > return NF_ACCEPT; > > + if (ct && nf_ct_zone_id(nf_ct_zone(ct), CTINFO2DIR(ctinfo)) != > + NF_CT_DEFAULT_ZONE_ID) { > + switch (skb->protocol) { > + case htons(ETH_P_PPP_SES): { > + struct ppp_hdr { > + struct pppoe_hdr hdr; > + __be16 proto; > + } *ph; > + This function is getting too long, please move this to a helper function.