/Linux-v5.4/net/ipv4/ |
D | arp.c | 528 struct arphdr *arp; in arp_create() local 543 arp = skb_put(skb, arp_hdr_len(dev)); in arp_create() 569 arp->ar_hrd = htons(dev->type); in arp_create() 570 arp->ar_pro = htons(ETH_P_IP); in arp_create() 575 arp->ar_hrd = htons(ARPHRD_AX25); in arp_create() 576 arp->ar_pro = htons(AX25_P_IP); in arp_create() 581 arp->ar_hrd = htons(ARPHRD_NETROM); in arp_create() 582 arp->ar_pro = htons(AX25_P_IP); in arp_create() 589 arp->ar_hrd = htons(ARPHRD_ETHER); in arp_create() 590 arp->ar_pro = htons(ETH_P_IP); in arp_create() [all …]
|
D | Makefile | 14 udp_offload.o arp.o icmp.o devinet.o af_inet.o igmp.o \
|
/Linux-v5.4/tools/testing/selftests/net/forwarding/ |
D | loopback.sh | 35 tc filter add dev $h1 ingress protocol arp pref 1 handle 101 flower \ 38 $MZ $h1 -c 1 -t arp -q 48 $MZ $h1 -c 1 -t arp -q 56 $MZ $h1 -c 1 -t arp -q 61 tc filter del dev $h1 ingress protocol arp pref 1 handle 101 flower
|
D | bridge_sticky_fdb.sh | 54 $MZ $h2 -c 1 -a $TEST_MAC -t arp "request" -q
|
D | mirror_gre_bridge_1q_lag.sh | 228 proto 802.1q flower vlan_ethtype arp $tcflags \
|
/Linux-v5.4/drivers/net/bonding/ |
D | bond_alb.c | 61 static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp); 252 static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp) in rlb_update_entry_from_arp() argument 260 hash_index = _simple_hash((u8 *)&(arp->ip_src), sizeof(arp->ip_src)); in rlb_update_entry_from_arp() 264 (client_info->ip_src == arp->ip_dst) && in rlb_update_entry_from_arp() 265 (client_info->ip_dst == arp->ip_src) && in rlb_update_entry_from_arp() 266 (!ether_addr_equal_64bits(client_info->mac_dst, arp->mac_src))) { in rlb_update_entry_from_arp() 268 ether_addr_copy(client_info->mac_dst, arp->mac_src); in rlb_update_entry_from_arp() 279 struct arp_pkt *arp, _arp; in rlb_arp_recv() local 284 arp = skb_header_pointer(skb, 0, sizeof(_arp), &_arp); in rlb_arp_recv() 285 if (!arp) in rlb_arp_recv() [all …]
|
D | bond_main.c | 2542 struct arphdr *arp = (struct arphdr *)skb->data; in bond_arp_rcv() local 2564 arp = kmalloc(alen, GFP_ATOMIC); in bond_arp_rcv() 2565 if (!arp) in bond_arp_rcv() 2567 if (skb_copy_bits(skb, 0, arp, alen) < 0) in bond_arp_rcv() 2571 if (arp->ar_hln != bond->dev->addr_len || in bond_arp_rcv() 2574 arp->ar_hrd != htons(ARPHRD_ETHER) || in bond_arp_rcv() 2575 arp->ar_pro != htons(ETH_P_IP) || in bond_arp_rcv() 2576 arp->ar_pln != 4) in bond_arp_rcv() 2579 arp_ptr = (unsigned char *)(arp + 1); in bond_arp_rcv() 2622 else if (curr_arp_slave && (arp->ar_op == htons(ARPOP_REPLY)) && in bond_arp_rcv() [all …]
|
/Linux-v5.4/net/ipv4/netfilter/ |
D | arpt_mangle.c | 16 const struct arphdr *arp; in target() local 23 arp = arp_hdr(skb); in target() 24 arpptr = skb_network_header(skb) + sizeof(*arp); in target() 25 pln = arp->ar_pln; in target() 26 hln = arp->ar_hln; in target()
|
D | ipt_CLUSTERIP.c | 609 struct arphdr *arp = arp_hdr(skb); in arp_mangle() local 615 if (arp->ar_hrd != htons(ARPHRD_ETHER) || in arp_mangle() 616 arp->ar_pro != htons(ETH_P_IP) || in arp_mangle() 617 arp->ar_pln != 4 || arp->ar_hln != ETH_ALEN) in arp_mangle() 621 if (arp->ar_op != htons(ARPOP_REPLY) && in arp_mangle() 622 arp->ar_op != htons(ARPOP_REQUEST)) in arp_mangle() 625 payload = (void *)(arp+1); in arp_mangle() 645 memcpy(payload->src_hw, c->clustermac, arp->ar_hln); in arp_mangle()
|
D | arp_tables.c | 145 static inline int arp_checkentry(const struct arpt_arp *arp) in arp_checkentry() argument 147 if (arp->flags & ~ARPT_F_MASK) in arp_checkentry() 149 if (arp->invflags & ~ARPT_INV_MASK) in arp_checkentry() 189 const struct arphdr *arp; in arpt_do_table() local 219 arp = arp_hdr(skb); in arpt_do_table() 224 if (!arp_packet_match(arp, skb->dev, indev, outdev, &e->arp)) { in arpt_do_table() 273 arp = arp_hdr(skb); in arpt_do_table() 295 memcmp(&e->arp, &uncond, sizeof(uncond)) == 0; in unconditional() 469 if (!arp_checkentry(&e->arp)) in check_entry_size_and_hooks() 1087 if (!arp_checkentry(&e->arp)) in check_compat_entry_size_and_hooks()
|
/Linux-v5.4/drivers/net/ethernet/mscc/ |
D | ocelot_ace.c | 406 struct ocelot_ace_frame_arp *arp = &ace->frame.arp; in is2_entry_set() local 409 VCAP_KEY_BYTES_SET(MAC_ARP_L2_SMAC, arp->smac.value, in is2_entry_set() 410 arp->smac.mask); in is2_entry_set() 411 VCAP_KEY_BIT_SET(MAC_ARP_ARP_ADDR_SPACE_OK, arp->ethernet); in is2_entry_set() 412 VCAP_KEY_BIT_SET(MAC_ARP_ARP_PROTO_SPACE_OK, arp->ip); in is2_entry_set() 413 VCAP_KEY_BIT_SET(MAC_ARP_ARP_LEN_OK, arp->length); in is2_entry_set() 414 VCAP_KEY_BIT_SET(MAC_ARP_ARP_TGT_MATCH, arp->dmac_match); in is2_entry_set() 415 VCAP_KEY_BIT_SET(MAC_ARP_ARP_SENDER_MATCH, arp->smac_match); in is2_entry_set() 416 VCAP_KEY_BIT_SET(MAC_ARP_ARP_OPCODE_UNKNOWN, arp->unknown); in is2_entry_set() 419 val = ((arp->req == OCELOT_VCAP_BIT_0 ? 1 : 0) | in is2_entry_set() [all …]
|
D | ocelot_ace.h | 120 enum ocelot_vcap_bit arp; /* Opcode ARP/RARP */ member 208 struct ocelot_ace_frame_arp arp; member
|
/Linux-v5.4/drivers/net/wireless/marvell/mwifiex/ |
D | sta_rx.c | 38 const struct mwifiex_arp_eth_header *arp; in mwifiex_discard_gratuitous_arp() local 46 arp = (void *)(skb->data + sizeof(struct ethhdr)); in mwifiex_discard_gratuitous_arp() 47 if (arp->hdr.ar_op == htons(ARPOP_REPLY) || in mwifiex_discard_gratuitous_arp() 48 arp->hdr.ar_op == htons(ARPOP_REQUEST)) { in mwifiex_discard_gratuitous_arp() 49 if (!memcmp(arp->ar_sip, arp->ar_tip, 4)) in mwifiex_discard_gratuitous_arp()
|
/Linux-v5.4/net/openvswitch/ |
D | flow.c | 614 struct arp_eth_header *arp; in key_extract_l3l4() local 617 arp = (struct arp_eth_header *)skb_network_header(skb); in key_extract_l3l4() 620 arp->ar_hrd == htons(ARPHRD_ETHER) && in key_extract_l3l4() 621 arp->ar_pro == htons(ETH_P_IP) && in key_extract_l3l4() 622 arp->ar_hln == ETH_ALEN && in key_extract_l3l4() 623 arp->ar_pln == 4) { in key_extract_l3l4() 626 if (ntohs(arp->ar_op) <= 0xff) in key_extract_l3l4() 627 key->ip.proto = ntohs(arp->ar_op); in key_extract_l3l4() 631 memcpy(&key->ipv4.addr.src, arp->ar_sip, sizeof(key->ipv4.addr.src)); in key_extract_l3l4() 632 memcpy(&key->ipv4.addr.dst, arp->ar_tip, sizeof(key->ipv4.addr.dst)); in key_extract_l3l4() [all …]
|
D | flow.h | 117 } arp; member
|
/Linux-v5.4/samples/bpf/ |
D | xdp_router_ipv4_user.c | 143 struct arp_table arp; in read_route() member 218 direct_entry.arp.mac = 0; in read_route() 219 direct_entry.arp.dst = 0; in read_route() 227 &direct_entry.arp.mac) == 0) in read_route() 228 direct_entry.arp.dst = route.dst; in read_route() 389 struct arp_table arp; in read_arp() member 424 direct_entry.arp.dst = 0; in read_arp() 425 direct_entry.arp.mac = 0; in read_arp() 427 direct_entry.arp.dst = arp_entry.dst; in read_arp() 428 direct_entry.arp.mac = arp_entry.mac; in read_arp()
|
D | xdp_router_ipv4_kern.c | 39 struct arp_entry arp; member 147 if (direct_entry && direct_entry->mac && direct_entry->arp.mac) { in xdp_router_ipv4_prog() 149 dest_mac = &direct_entry->arp.mac; in xdp_router_ipv4_prog()
|
/Linux-v5.4/net/sched/ |
D | cls_flower.c | 45 struct flow_dissector_key_arp arp; member 1175 fl_set_key_val(tb, &key->arp.sip, TCA_FLOWER_KEY_ARP_SIP, in fl_set_key() 1176 &mask->arp.sip, TCA_FLOWER_KEY_ARP_SIP_MASK, in fl_set_key() 1177 sizeof(key->arp.sip)); in fl_set_key() 1178 fl_set_key_val(tb, &key->arp.tip, TCA_FLOWER_KEY_ARP_TIP, in fl_set_key() 1179 &mask->arp.tip, TCA_FLOWER_KEY_ARP_TIP_MASK, in fl_set_key() 1180 sizeof(key->arp.tip)); in fl_set_key() 1181 fl_set_key_val(tb, &key->arp.op, TCA_FLOWER_KEY_ARP_OP, in fl_set_key() 1182 &mask->arp.op, TCA_FLOWER_KEY_ARP_OP_MASK, in fl_set_key() 1183 sizeof(key->arp.op)); in fl_set_key() [all …]
|
/Linux-v5.4/drivers/net/arcnet/ |
D | rfc1201.c | 208 struct arphdr *arp = (struct arphdr *)soft->payload; in rx() local 211 if (arp->ar_hln == 1 && arp->ar_pln == 4) { in rx() 212 uint8_t *cptr = (uint8_t *)arp + sizeof(struct arphdr); in rx() 226 arp->ar_hln, arp->ar_pln); in rx()
|
/Linux-v5.4/net/core/ |
D | flow_dissector.c | 446 const struct arphdr *arp; in __skb_flow_dissect_arp() local 452 arp = __skb_header_pointer(skb, nhoff, sizeof(_arp), data, in __skb_flow_dissect_arp() 454 if (!arp) in __skb_flow_dissect_arp() 457 if (arp->ar_hrd != htons(ARPHRD_ETHER) || in __skb_flow_dissect_arp() 458 arp->ar_pro != htons(ETH_P_IP) || in __skb_flow_dissect_arp() 459 arp->ar_hln != ETH_ALEN || in __skb_flow_dissect_arp() 460 arp->ar_pln != 4 || in __skb_flow_dissect_arp() 461 (arp->ar_op != htons(ARPOP_REPLY) && in __skb_flow_dissect_arp() 462 arp->ar_op != htons(ARPOP_REQUEST))) in __skb_flow_dissect_arp() 481 key_arp->op = ntohs(arp->ar_op) & 0xff; in __skb_flow_dissect_arp()
|
/Linux-v5.4/include/linux/netfilter_arp/ |
D | arp_tables.h | 65 struct arpt_arp arp; member
|
/Linux-v5.4/net/bridge/netfilter/ |
D | Kconfig | 178 tristate "ebt: arp reply target support" 181 This option adds the arp reply target, which allows 182 automatically sending arp replies to arp requests.
|
/Linux-v5.4/net/batman-adv/ |
D | Makefile | 15 batman-adv-$(CONFIG_BATMAN_ADV_DAT) += distributed-arp-table.o
|
/Linux-v5.4/include/uapi/linux/netfilter_arp/ |
D | arp_tables.h | 98 struct arpt_arp arp; member
|
/Linux-v5.4/drivers/net/wireless/intel/iwlwifi/ |
D | Kconfig | 90 patterns (e.g. incoming arp requests).
|