/kernel/linux/linux-5.10/net/ipv4/ |
H A D | arp.c | 2 /* linux/net/ipv4/arp.c 40 * eg intelligent arp probing and 51 * Stuart Cheshire : Metricom and grat arp fixes 60 * Alexey Kuznetsov: new arp state machine; 63 * Arnaldo C. Melo : convert /proc/net/arp to seq_file 109 #include <net/arp.h> 299 /* Create and send an arp packet. */ 309 /* arp on this interface. */ in arp_send_dst() 479 * Check for RFC3069 proxy arp private VLAN (allow to send back to same dev) 481 * RFC3069 supports proxy arp replie 530 struct arphdr *arp; arp_create() local 681 struct arphdr *arp; arp_process() local 945 const struct arphdr *arp; arp_rcv() local [all...] |
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | arp.c | 2 /* linux/net/ipv4/arp.c 40 * eg intelligent arp probing and 51 * Stuart Cheshire : Metricom and grat arp fixes 60 * Alexey Kuznetsov: new arp state machine; 63 * Arnaldo C. Melo : convert /proc/net/arp to seq_file 109 #include <net/arp.h> 300 /* Create and send an arp packet. */ 310 /* arp on this interface. */ in arp_send_dst() 442 case 2: /* Create a neighbor in the arp table only if sip in arp_accept() 500 * Check for RFC3069 proxy arp privat 551 struct arphdr *arp; arp_create() local 702 struct arphdr *arp; arp_process() local 966 const struct arphdr *arp; arp_rcv() local [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/net/forwarding/ |
H A D | loopback.sh | 38 tc filter add dev $h1 ingress protocol arp pref 1 handle 101 flower \ 41 $MZ $h1 -c 1 -t arp -q 51 $MZ $h1 -c 1 -t arp -q 59 $MZ $h1 -c 1 -t arp -q 64 tc filter del dev $h1 ingress protocol arp pref 1 handle 101 flower
|
/kernel/linux/linux-6.6/tools/testing/selftests/net/forwarding/ |
H A D | loopback.sh | 38 tc filter add dev $h1 ingress protocol arp pref 1 handle 101 flower \ 41 $MZ $h1 -c 1 -t arp -q 51 $MZ $h1 -c 1 -t arp -q 59 $MZ $h1 -c 1 -t arp -q 64 tc filter del dev $h1 ingress protocol arp pref 1 handle 101 flower
|
/kernel/linux/linux-6.6/drivers/net/bonding/ |
H A D | bond_alb.c | 20 #include <net/arp.h> 56 static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp); 248 static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp) in rlb_update_entry_from_arp() argument 256 hash_index = _simple_hash((u8 *)&(arp->ip_src), sizeof(arp->ip_src)); in rlb_update_entry_from_arp() 260 (client_info->ip_src == arp->ip_dst) && in rlb_update_entry_from_arp() 261 (client_info->ip_dst == arp->ip_src) && in rlb_update_entry_from_arp() 262 (!ether_addr_equal_64bits(client_info->mac_dst, arp->mac_src))) { in rlb_update_entry_from_arp() 264 ether_addr_copy(client_info->mac_dst, arp->mac_src); in rlb_update_entry_from_arp() 275 struct arp_pkt *arp, _ar in rlb_arp_recv() local 553 rlb_choose_channel(struct sk_buff *skb, struct bonding *bond, const struct arp_pkt *arp) rlb_choose_channel() argument 657 struct arp_pkt *arp; rlb_arp_xmit() local 834 rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp) rlb_purge_src_ip() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/bonding/ |
H A D | bond_alb.c | 21 #include <net/arp.h> 56 static void rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp); 247 static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp) in rlb_update_entry_from_arp() argument 255 hash_index = _simple_hash((u8 *)&(arp->ip_src), sizeof(arp->ip_src)); in rlb_update_entry_from_arp() 259 (client_info->ip_src == arp->ip_dst) && in rlb_update_entry_from_arp() 260 (client_info->ip_dst == arp->ip_src) && in rlb_update_entry_from_arp() 261 (!ether_addr_equal_64bits(client_info->mac_dst, arp->mac_src))) { in rlb_update_entry_from_arp() 263 ether_addr_copy(client_info->mac_dst, arp->mac_src); in rlb_update_entry_from_arp() 274 struct arp_pkt *arp, _ar in rlb_arp_recv() local 551 rlb_choose_channel(struct sk_buff *skb, struct bonding *bond, const struct arp_pkt *arp) rlb_choose_channel() argument 653 struct arp_pkt *arp; rlb_arp_xmit() local 821 rlb_purge_src_ip(struct bonding *bond, struct arp_pkt *arp) rlb_purge_src_ip() argument [all...] |
/kernel/linux/linux-5.10/net/ipv4/netfilter/ |
H A D | arpt_mangle.c | 2 /* module that allows mangling of the arp payload */ 10 MODULE_DESCRIPTION("arptables arp payload mangle target"); 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()
|
H A D | ipt_CLUSTERIP.c | 612 struct arphdr *arp = arp_hdr(skb); in arp_mangle() local 618 if (arp->ar_hrd != htons(ARPHRD_ETHER) || in arp_mangle() 619 arp->ar_pro != htons(ETH_P_IP) || in arp_mangle() 620 arp->ar_pln != 4 || arp->ar_hln != ETH_ALEN) in arp_mangle() 623 /* we only want to mangle arp requests and replies */ in arp_mangle() 624 if (arp->ar_op != htons(ARPOP_REPLY) && in arp_mangle() 625 arp->ar_op != htons(ARPOP_REQUEST)) in arp_mangle() 628 payload = (void *)(arp+1); in arp_mangle() 630 /* if there is no clusterip configuration for the arp repl in arp_mangle() [all...] |
/kernel/linux/linux-6.6/net/ipv4/netfilter/ |
H A D | arpt_mangle.c | 2 /* module that allows mangling of the arp payload */ 10 MODULE_DESCRIPTION("arptables arp payload mangle target"); 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()
|
/kernel/linux/linux-5.10/drivers/net/wireless/marvell/mwifiex/ |
H A 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()
|
/kernel/linux/linux-6.6/drivers/net/wireless/marvell/mwifiex/ |
H A D | sta_rx.c | 26 const struct mwifiex_arp_eth_header *arp; in mwifiex_discard_gratuitous_arp() local 34 arp = (void *)(skb->data + sizeof(struct ethhdr)); in mwifiex_discard_gratuitous_arp() 35 if (arp->hdr.ar_op == htons(ARPOP_REPLY) || in mwifiex_discard_gratuitous_arp() 36 arp->hdr.ar_op == htons(ARPOP_REQUEST)) { in mwifiex_discard_gratuitous_arp() 37 if (!memcmp(arp->ar_sip, arp->ar_tip, 4)) in mwifiex_discard_gratuitous_arp()
|
/kernel/linux/linux-6.6/drivers/net/wireless/intel/iwlwifi/mei/ |
H A D | net.c | 85 const struct arphdr *arp; in iwl_mei_rx_filter_arp() local 92 arp = arp_hdr(skb); in iwl_mei_rx_filter_arp() 95 if (arp->ar_hrd != htons(ARPHRD_ETHER) || in iwl_mei_rx_filter_arp() 96 arp->ar_pro != htons(ETH_P_IP)) in iwl_mei_rx_filter_arp() 105 target_ip = (const void *)((const u8 *)(arp + 1) + in iwl_mei_rx_filter_arp() 112 if (arp->ar_op == htons(ARPOP_REQUEST) && in iwl_mei_rx_filter_arp() 125 arp->ar_op == htons(ARPOP_REPLY)) { in iwl_mei_rx_filter_arp()
|
/kernel/linux/linux-5.10/net/openvswitch/ |
H A 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 in key_extract_l3l4() [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | xdp_router_ipv4_user.c | 111 struct arp_table arp; in read_route() member 172 direct_entry.arp.mac = 0; in read_route() 173 direct_entry.arp.dst = 0; in read_route() 181 &direct_entry.arp.mac) == 0) in read_route() 182 direct_entry.arp.dst = route.dst; in read_route() 313 /* Function to parse the arp entry returned by netlink 314 * Updates the arp entry related map entries 328 struct arp_table arp; in read_arp() member 360 direct_entry.arp.dst = 0; in read_arp() 361 direct_entry.arp in read_arp() [all...] |
H A D | xdp_router_ipv4.bpf.c | 36 struct arp_entry arp; member 122 direct_entry->arp.mac) { in xdp_router_ipv4_prog() 124 dest_mac = &direct_entry->arp.mac; in xdp_router_ipv4_prog()
|
/kernel/linux/linux-5.10/samples/bpf/ |
H A 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()
|
H A 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() 374 /* Function to parse the arp entry returned by netlink 375 * Updates the arp entry related map entries 389 struct arp_table arp; in read_arp() member 395 printf("READING arp entry\n"); in read_arp() 424 direct_entry.arp in read_arp() [all...] |
/kernel/linux/linux-6.6/net/openvswitch/ |
H A D | flow.c | 764 struct arp_eth_header *arp; in key_extract_l3l4() local 767 arp = (struct arp_eth_header *)skb_network_header(skb); in key_extract_l3l4() 770 arp->ar_hrd == htons(ARPHRD_ETHER) && in key_extract_l3l4() 771 arp->ar_pro == htons(ETH_P_IP) && in key_extract_l3l4() 772 arp->ar_hln == ETH_ALEN && in key_extract_l3l4() 773 arp->ar_pln == 4) { in key_extract_l3l4() 776 if (ntohs(arp->ar_op) <= 0xff) in key_extract_l3l4() 777 key->ip.proto = ntohs(arp->ar_op); in key_extract_l3l4() 781 memcpy(&key->ipv4.addr.src, arp->ar_sip, sizeof(key->ipv4.addr.src)); in key_extract_l3l4() 782 memcpy(&key->ipv4.addr.dst, arp in key_extract_l3l4() [all...] |
/kernel/linux/linux-5.10/drivers/net/arcnet/ |
H A 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()
|
/kernel/linux/linux-6.6/drivers/net/arcnet/ |
H A 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()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mscc/ |
H A D | ocelot_vcap.c | 440 struct ocelot_vcap_key_arp *arp = &filter->key.arp; in is2_entry_set() local 444 arp->smac.value, arp->smac.mask); in is2_entry_set() 447 arp->ethernet); in is2_entry_set() 450 arp->ip); in is2_entry_set() 453 arp->length); in is2_entry_set() 456 arp->dmac_match); in is2_entry_set() 459 arp->smac_match); in is2_entry_set() 462 arp in is2_entry_set() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mscc/ |
H A D | ocelot_vcap.c | 441 struct ocelot_vcap_key_arp *arp = &filter->key.arp; in is2_entry_set() local 445 arp->smac.value, arp->smac.mask); in is2_entry_set() 448 arp->ethernet); in is2_entry_set() 451 arp->ip); in is2_entry_set() 454 arp->length); in is2_entry_set() 457 arp->dmac_match); in is2_entry_set() 460 arp->smac_match); in is2_entry_set() 463 arp in is2_entry_set() [all...] |
/kernel/linux/linux-5.10/net/sched/ |
H A D | cls_flower.c | 52 struct flow_dissector_key_arp arp; member 1626 fl_set_key_val(tb, &key->arp.sip, TCA_FLOWER_KEY_ARP_SIP, in fl_set_key() 1627 &mask->arp.sip, TCA_FLOWER_KEY_ARP_SIP_MASK, in fl_set_key() 1628 sizeof(key->arp.sip)); in fl_set_key() 1629 fl_set_key_val(tb, &key->arp.tip, TCA_FLOWER_KEY_ARP_TIP, in fl_set_key() 1630 &mask->arp.tip, TCA_FLOWER_KEY_ARP_TIP_MASK, in fl_set_key() 1631 sizeof(key->arp.tip)); in fl_set_key() 1632 fl_set_key_val(tb, &key->arp.op, TCA_FLOWER_KEY_ARP_OP, in fl_set_key() 1633 &mask->arp.op, TCA_FLOWER_KEY_ARP_OP_MASK, in fl_set_key() 1634 sizeof(key->arp in fl_set_key() [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/drivers/net/bonding/ |
H A D | Makefile | 5 bond-arp-interval-causes-panic.sh \
|
/kernel/linux/linux-6.6/net/sched/ |
H A D | cls_flower.c | 57 struct flow_dissector_key_arp arp; member 1885 fl_set_key_val(tb, &key->arp.sip, TCA_FLOWER_KEY_ARP_SIP, in fl_set_key() 1886 &mask->arp.sip, TCA_FLOWER_KEY_ARP_SIP_MASK, in fl_set_key() 1887 sizeof(key->arp.sip)); in fl_set_key() 1888 fl_set_key_val(tb, &key->arp.tip, TCA_FLOWER_KEY_ARP_TIP, in fl_set_key() 1889 &mask->arp.tip, TCA_FLOWER_KEY_ARP_TIP_MASK, in fl_set_key() 1890 sizeof(key->arp.tip)); in fl_set_key() 1891 fl_set_key_val(tb, &key->arp.op, TCA_FLOWER_KEY_ARP_OP, in fl_set_key() 1892 &mask->arp.op, TCA_FLOWER_KEY_ARP_OP_MASK, in fl_set_key() 1893 sizeof(key->arp in fl_set_key() [all...] |