Home | History | Annotate | Download | only in slirp-android

Lines Matching refs:fp

52                            register struct ipq *fp);
53 static void ip_freef(struct ipq *fp);
186 register struct ipq *fp;
193 fp = container_of(l, struct ipq, ip_link);
194 if (ip->ip_id == fp->ipq_id &&
195 ip_equal(ip->ip_src, fp->ipq_src) &&
196 ip_equal(ip->ip_dst, fp->ipq_dst) &&
197 ip->ip_p == fp->ipq_p)
200 fp = NULL;
223 ip = ip_reass(ip, fp);
229 if (fp)
230 ip_freef(fp);
265 * is given as fp; otherwise have to make a chain.
268 ip_reass(register struct ip *ip, register struct ipq *fp)
277 DEBUG_ARG("fp = %lx", (long)fp);
291 if (fp == NULL) {
294 fp = mtod(t, struct ipq *);
295 insque(&fp->ip_link, &ipq.ip_link);
296 fp->ipq_ttl = IPFRAGTTL;
297 fp->ipq_p = ip->ip_p;
298 fp->ipq_id = ip->ip_id;
299 fp->frag_link.next = fp->frag_link.prev = &fp->frag_link;
300 fp->ipq_src = ip->ip_src;
301 fp->ipq_dst = ip->ip_dst;
302 q = (struct ipasfrag *)fp;
309 for (q = fp->frag_link.next; q != (struct ipasfrag *)&fp->frag_link;
319 if (q->ipf_prev != &fp->frag_link) {
335 while (q != (struct ipasfrag*)&fp->frag_link &&
356 for (q = fp->frag_link.next; q != (struct ipasfrag*)&fp->frag_link;
368 q = fp->frag_link.next;
372 while (q != (struct ipasfrag*)&fp->frag_link) {
384 q = fp->frag_link.next;
389 * m_ext buffer was alloced. But fp->ipq_next points to
404 ip->ip_src = fp->ipq_src;
405 ip->ip_dst = fp->ipq_dst;
406 remque(&fp->ip_link);
407 (void) m_free(dtom(fp));
424 ip_freef(struct ipq *fp)
428 for (q = fp->frag_link.next; q != (struct ipasfrag*)&fp->frag_link; q = p) {
433 remque(&fp->ip_link);
434 (void) m_free(dtom(fp));
480 struct ipq *fp = container_of(l, struct ipq, ip_link);
482 if (--fp->ipq_ttl == 0) {
484 ip_freef(fp);