Home
last modified time | relevance | path

Searched refs:nh_off (Results 1 – 15 of 15) sorted by relevance

/openbmc/linux/samples/bpf/
H A Dparse_varlen.c51 static int parse_ipv4(void *data, uint64_t nh_off, void *data_end) in parse_ipv4() argument
56 iph = data + nh_off; in parse_ipv4()
65 iph = data + nh_off + ihl_len; in parse_ipv4()
72 return tcp(data, nh_off + ihl_len, data_end); in parse_ipv4()
74 return udp(data, nh_off + ihl_len, data_end); in parse_ipv4()
78 static int parse_ipv6(void *data, uint64_t nh_off, void *data_end) in parse_ipv6() argument
85 ip6h = data + nh_off; in parse_ipv6()
92 iph = data + nh_off + ihl_len; in parse_ipv6()
98 ip6h = data + nh_off + ihl_len; in parse_ipv6()
106 return tcp(data, nh_off + ihl_len, data_end); in parse_ipv6()
[all …]
H A Dxdp_router_ipv4.bpf.c79 u64 nh_off = sizeof(*eth); in xdp_router_ipv4_prog() local
88 if (data + nh_off > data_end) in xdp_router_ipv4_prog()
96 vhdr = data + nh_off; in xdp_router_ipv4_prog()
97 nh_off += sizeof(struct vlan_hdr); in xdp_router_ipv4_prog()
98 if (data + nh_off > data_end) in xdp_router_ipv4_prog()
110 struct iphdr *iph = data + nh_off; in xdp_router_ipv4_prog()
H A Dxdp_fwd_kern.c52 u64 nh_off; in xdp_fwd_flags() local
55 nh_off = sizeof(*eth); in xdp_fwd_flags()
56 if (data + nh_off > data_end) in xdp_fwd_flags()
63 iph = data + nh_off; in xdp_fwd_flags()
83 ip6h = data + nh_off; in xdp_fwd_flags()
/openbmc/linux/tools/testing/selftests/bpf/progs/
H A Dxdp_redirect_multi_kern.c45 __u64 nh_off; in xdp_redirect_map_multi_prog() local
47 nh_off = sizeof(*eth); in xdp_redirect_map_multi_prog()
48 if (data + nh_off > data_end) in xdp_redirect_map_multi_prog()
80 __u64 nh_off; in xdp_devmap_prog() local
83 nh_off = sizeof(*eth); in xdp_devmap_prog()
84 if (data + nh_off > data_end) in xdp_devmap_prog()
H A Dtest_verif_scale2.c14 int nh_off, i = 0; in balancer_ingress() local
16 nh_off = 14; in balancer_ingress()
22 if (ptr + nh_off > data_end) \ in balancer_ingress()
24 ctx->tc_index = jhash(ptr, nh_off, ctx->cb[0] + i++); \ in balancer_ingress()
H A Dtest_verif_scale3.c14 int nh_off, i = 0; in balancer_ingress() local
16 nh_off = 32; in balancer_ingress()
22 if (ptr + nh_off > data_end) \ in balancer_ingress()
24 ctx->tc_index = jhash(ptr, nh_off, ctx->cb[0] + i++); \ in balancer_ingress()
H A Dtest_verif_scale1.c14 int nh_off, i = 0; in balancer_ingress() local
16 nh_off = 14; in balancer_ingress()
22 if (ptr + nh_off > data_end) \ in balancer_ingress()
24 ctx->tc_index = jhash(ptr, nh_off, ctx->cb[0] + i++); \ in balancer_ingress()
H A Dcore_kern.c80 int nh_off, i = 0; in balancer_ingress() local
82 nh_off = 14; in balancer_ingress()
87 if (ptr + nh_off > data_end) \ in balancer_ingress()
89 ctx->tc_index = jhash(ptr, nh_off, ctx->cb[0] + i++); \ in balancer_ingress()
H A Dtest_sk_lookup_kern.c21 static struct bpf_sock_tuple *get_tuple(void *data, __u64 nh_off, in get_tuple() argument
30 struct iphdr *iph = (struct iphdr *)(data + nh_off); in get_tuple()
39 struct ipv6hdr *ip6h = (struct ipv6hdr *)(data + nh_off); in get_tuple()
49 if (data + nh_off + ihl_len > data_end || proto != IPPROTO_TCP) in get_tuple()
H A Dtest_xdp_noinline.c764 __u32 nh_off; in balancer_ingress_v4() local
766 nh_off = sizeof(struct eth_hdr); in balancer_ingress_v4()
767 if (data + nh_off > data_end) in balancer_ingress_v4()
771 return process_packet(data, nh_off, data_end, 0, ctx); in balancer_ingress_v4()
783 __u32 nh_off; in balancer_ingress_v6() local
785 nh_off = sizeof(struct eth_hdr); in balancer_ingress_v6()
786 if (data + nh_off > data_end) in balancer_ingress_v6()
790 return process_packet(data, nh_off, data_end, 1, ctx); in balancer_ingress_v6()
H A Dtest_l4lb.c458 __u32 nh_off; in balancer_ingress() local
460 nh_off = sizeof(struct eth_hdr); in balancer_ingress()
461 if (data + nh_off > data_end) in balancer_ingress()
465 return process_packet(data, nh_off, data_end, false, ctx); in balancer_ingress()
467 return process_packet(data, nh_off, data_end, true, ctx); in balancer_ingress()
H A Dtest_l4lb_noinline.c457 __u32 nh_off; in balancer_ingress() local
459 nh_off = sizeof(struct eth_hdr); in balancer_ingress()
460 if (data + nh_off > data_end) in balancer_ingress()
464 return process_packet(data, nh_off, data_end, false, ctx); in balancer_ingress()
466 return process_packet(data, nh_off, data_end, true, ctx); in balancer_ingress()
H A Dtest_l4lb_noinline_dynptr.c464 __u32 nh_off; in balancer_ingress() local
467 nh_off = sizeof(struct eth_hdr); in balancer_ingress()
475 err = process_packet(&ptr, eth, nh_off, false, ctx); in balancer_ingress()
477 err = process_packet(&ptr, eth, nh_off, true, ctx); in balancer_ingress()
/openbmc/linux/include/linux/
H A Dvirtio_net.h158 unsigned int nh_off = p_off; in virtio_net_hdr_to_skb() local
164 nh_off -= thlen; in virtio_net_hdr_to_skb()
189 if (skb->len - nh_off > gso_size) { in virtio_net_hdr_to_skb()
/openbmc/linux/drivers/net/ethernet/pasemi/
H A Dpasemi_mac.c1348 const int nh_off = skb_network_offset(skb); in pasemi_mac_queue_csdesc() local
1356 XCT_FUN_CRM_SIG | XCT_FUN_LLEN(skb->len - nh_off) | in pasemi_mac_queue_csdesc()
1383 CS_DESC(csring, fill) = XCT_PTR_LEN(map_size[0]-nh_off) | XCT_PTR_ADDR(map[0]+nh_off); in pasemi_mac_queue_csdesc()
1438 const int nh_off = skb_network_offset(skb); in pasemi_mac_start_tx() local
1470 dflags |= XCT_MACTX_IPO(nh_off); in pasemi_mac_start_tx()
1475 dflags |= XCT_MACTX_IPO(nh_off); in pasemi_mac_start_tx()