Lines Matching refs:gtp0
223 struct gtp0_header *gtp0; in gtp0_udp_encap_recv() local
229 gtp0 = (struct gtp0_header *)(skb->data + sizeof(struct udphdr)); in gtp0_udp_encap_recv()
231 if ((gtp0->flags >> 5) != GTP_V0) in gtp0_udp_encap_recv()
234 if (gtp0->type != GTP_TPDU) in gtp0_udp_encap_recv()
237 pctx = gtp0_pdp_find(gtp, be64_to_cpu(gtp0->tid)); in gtp0_udp_encap_recv()
408 struct gtp0_header *gtp0; in gtp0_push_header() local
410 gtp0 = skb_push(skb, sizeof(*gtp0)); in gtp0_push_header()
412 gtp0->flags = 0x1e; /* v0, GTP-non-prime. */ in gtp0_push_header()
413 gtp0->type = GTP_TPDU; in gtp0_push_header()
414 gtp0->length = htons(payload_len); in gtp0_push_header()
415 gtp0->seq = htons((atomic_inc_return(&pctx->tx_seq) - 1) % 0xffff); in gtp0_push_header()
416 gtp0->flow = htons(pctx->u.v0.flow); in gtp0_push_header()
417 gtp0->number = 0xff; in gtp0_push_header()
418 gtp0->spare[0] = gtp0->spare[1] = gtp0->spare[2] = 0xff; in gtp0_push_header()
419 gtp0->tid = cpu_to_be64(pctx->u.v0.tid); in gtp0_push_header()