Lines Matching refs:pktinfo
448 static void gtp_push_header(struct sk_buff *skb, struct gtp_pktinfo *pktinfo) in gtp_push_header() argument
450 switch (pktinfo->pctx->gtp_version) { in gtp_push_header()
452 pktinfo->gtph_port = htons(GTP0_PORT); in gtp_push_header()
453 gtp0_push_header(skb, pktinfo->pctx); in gtp_push_header()
456 pktinfo->gtph_port = htons(GTP1U_PORT); in gtp_push_header()
457 gtp1_push_header(skb, pktinfo->pctx); in gtp_push_header()
462 static inline void gtp_set_pktinfo_ipv4(struct gtp_pktinfo *pktinfo, in gtp_set_pktinfo_ipv4() argument
468 pktinfo->sk = sk; in gtp_set_pktinfo_ipv4()
469 pktinfo->iph = iph; in gtp_set_pktinfo_ipv4()
470 pktinfo->pctx = pctx; in gtp_set_pktinfo_ipv4()
471 pktinfo->rt = rt; in gtp_set_pktinfo_ipv4()
472 pktinfo->fl4 = *fl4; in gtp_set_pktinfo_ipv4()
473 pktinfo->dev = dev; in gtp_set_pktinfo_ipv4()
477 struct gtp_pktinfo *pktinfo) in gtp_build_skb_ip4() argument
547 gtp_set_pktinfo_ipv4(pktinfo, pctx->sk, iph, pctx, rt, &fl4, dev); in gtp_build_skb_ip4()
548 gtp_push_header(skb, pktinfo); in gtp_build_skb_ip4()
560 struct gtp_pktinfo pktinfo; in gtp_dev_xmit() local
573 err = gtp_build_skb_ip4(skb, dev, &pktinfo); in gtp_dev_xmit()
586 netdev_dbg(pktinfo.dev, "gtp -> IP src: %pI4 dst: %pI4\n", in gtp_dev_xmit()
587 &pktinfo.iph->saddr, &pktinfo.iph->daddr); in gtp_dev_xmit()
588 udp_tunnel_xmit_skb(pktinfo.rt, pktinfo.sk, skb, in gtp_dev_xmit()
589 pktinfo.fl4.saddr, pktinfo.fl4.daddr, in gtp_dev_xmit()
590 pktinfo.iph->tos, in gtp_dev_xmit()
591 ip4_dst_hoplimit(&pktinfo.rt->dst), in gtp_dev_xmit()
593 pktinfo.gtph_port, pktinfo.gtph_port, in gtp_dev_xmit()