Lines Matching refs:pskb
123 ipv6_prepare(struct sk_buff **pskb, unsigned int hooknum, unsigned int *dataoff,
126 unsigned int extoff = (u8 *)(ipv6_hdr(*pskb) + 1) - (*pskb)->data;
127 unsigned char pnum = ipv6_hdr(*pskb)->nexthdr;
128 int protoff = nf_ct_ipv6_skip_exthdr(*pskb, extoff, &pnum,
129 (*pskb)->len - extoff);
131 * (protoff == (*pskb)->len) mean that the packet doesn't have no data
134 if ((protoff < 0) || (protoff > (*pskb)->len)) {
152 struct sk_buff **pskb,
162 unsigned int extoff = (u8 *)(ipv6_hdr(*pskb) + 1) - (*pskb)->data;
163 unsigned char pnum = ipv6_hdr(*pskb)->nexthdr;
167 ct = nf_ct_get(*pskb, &ctinfo);
179 protoff = nf_ct_ipv6_skip_exthdr(*pskb, extoff, &pnum,
180 (*pskb)->len - extoff);
181 if (protoff > (*pskb)->len || pnum == NEXTHDR_FRAGMENT) {
186 ret = helper->help(pskb, protoff, ct, ctinfo);
191 return nf_conntrack_confirm(pskb);
195 struct sk_buff **pskb,
203 if ((*pskb)->nfct)
206 reasm = nf_ct_frag6_gather(*pskb);
213 if (reasm == *pskb)
223 struct sk_buff **pskb,
228 struct sk_buff *reasm = (*pskb)->nfct_reasm;
240 (*pskb)->nfct = reasm->nfct;
241 (*pskb)->nfctinfo = reasm->nfctinfo;
245 ret = nf_conntrack_in(PF_INET6, hooknum, pskb);
252 ct = nf_ct_get(*pskb, &ctinfo);
253 ip_conntrack_ipct_add(*pskb, hooknum, ct, ctinfo, NULL);
261 struct sk_buff **pskb,
267 if ((*pskb)->len < sizeof(struct ipv6hdr)) {
272 return ipv6_conntrack_in(hooknum, pskb, in, out, okfn);