Lines Matching refs:addr
31 const unsigned char *addr,
34 const unsigned char *addr, u16 vid);
93 static void fdb_add_hw_addr(struct net_bridge *br, const unsigned char *addr) in fdb_add_hw_addr() argument
102 err = dev_uc_add(p->dev, addr); in fdb_add_hw_addr()
112 dev_uc_del(p->dev, addr); in fdb_add_hw_addr()
121 static void fdb_del_hw_addr(struct net_bridge *br, const unsigned char *addr) in fdb_del_hw_addr() argument
129 dev_uc_del(p->dev, addr); in fdb_del_hw_addr()
136 fdb_del_hw_addr(br, f->addr.addr); in fdb_delete()
148 const unsigned char *addr = f->addr.addr; in fdb_delete_local() local
154 if (op != p && ether_addr_equal(op->dev->dev_addr, addr) && in fdb_delete_local()
163 if (p && ether_addr_equal(br->dev->dev_addr, addr) && in fdb_delete_local()
175 const unsigned char *addr, u16 vid) in br_fdb_find_delete_local() argument
177 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; in br_fdb_find_delete_local()
181 f = fdb_find(head, addr, vid); in br_fdb_find_delete_local()
347 const unsigned char *addr, in __br_fdb_get() argument
353 &br->hash[br_mac_hash(addr, vid)], hlist) { in __br_fdb_get()
354 if (ether_addr_equal(fdb->addr.addr, addr) && in __br_fdb_get()
368 int br_fdb_test_addr(struct net_device *dev, unsigned char *addr) in br_fdb_test_addr() argument
379 fdb = __br_fdb_get(port->br, addr, 0); in br_fdb_test_addr()
421 memcpy(fe->mac_addr, f->addr.addr, ETH_ALEN); in br_fdb_fillbuf()
442 const unsigned char *addr, in fdb_find() argument
448 if (ether_addr_equal(fdb->addr.addr, addr) && in fdb_find()
456 const unsigned char *addr, in fdb_find_rcu() argument
462 if (ether_addr_equal(fdb->addr.addr, addr) && in fdb_find_rcu()
471 const unsigned char *addr, in fdb_create() argument
478 memcpy(fdb->addr.addr, addr, ETH_ALEN); in fdb_create()
492 const unsigned char *addr, u16 vid) in fdb_insert() argument
494 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; in fdb_insert()
497 if (!is_valid_ether_addr(addr)) in fdb_insert()
500 fdb = fdb_find(head, addr, vid); in fdb_insert()
513 fdb = fdb_create(head, source, addr, vid); in fdb_insert()
518 fdb_add_hw_addr(br, addr); in fdb_insert()
525 const unsigned char *addr, u16 vid) in br_fdb_insert() argument
530 ret = fdb_insert(br, source, addr, vid); in br_fdb_insert()
536 const unsigned char *addr, u16 vid, bool added_by_user) in br_fdb_update() argument
538 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; in br_fdb_update()
551 fdb = fdb_find_rcu(head, addr, vid); in br_fdb_update()
573 if (likely(!fdb_find(head, addr, vid))) { in br_fdb_update()
574 fdb = fdb_create(head, source, addr, vid); in br_fdb_update()
622 if (nla_put(skb, NDA_LLADDR, ETH_ALEN, &fdb->addr)) in fdb_fill_info()
731 static int fdb_add_entry(struct net_bridge_port *source, const __u8 *addr, in fdb_add_entry() argument
735 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; in fdb_add_entry()
739 fdb = fdb_find(head, addr, vid); in fdb_add_entry()
744 fdb = fdb_create(head, source, addr, vid); in fdb_add_entry()
764 fdb_add_hw_addr(br, addr); in fdb_add_entry()
770 fdb_add_hw_addr(br, addr); in fdb_add_entry()
776 fdb_del_hw_addr(br, addr); in fdb_add_entry()
794 const unsigned char *addr, u16 nlh_flags, u16 vid) in __br_fdb_add() argument
801 br_fdb_update(p->br, p, addr, vid, true); in __br_fdb_add()
806 err = fdb_add_entry(p, addr, ndm->ndm_state, in __br_fdb_add()
817 const unsigned char *addr, u16 vid, u16 nlh_flags) in br_fdb_add() argument
828 if (is_zero_ether_addr(addr)) { in br_fdb_add()
849 err = __br_fdb_add(ndm, p, addr, nlh_flags, vid); in br_fdb_add()
851 err = __br_fdb_add(ndm, p, addr, nlh_flags, 0); in br_fdb_add()
860 err = __br_fdb_add(ndm, p, addr, nlh_flags, vid); in br_fdb_add()
870 static int fdb_delete_by_addr(struct net_bridge *br, const u8 *addr, u16 vlan) in fdb_delete_by_addr() argument
872 struct hlist_head *head = &br->hash[br_mac_hash(addr, vlan)]; in fdb_delete_by_addr()
875 fdb = fdb_find(head, addr, vlan); in fdb_delete_by_addr()
884 const unsigned char *addr, u16 vid) in __br_fdb_delete() argument
889 err = fdb_delete_by_addr(p->br, addr, vid); in __br_fdb_delete()
898 const unsigned char *addr, u16 vid) in br_fdb_delete() argument
919 err = __br_fdb_delete(p, addr, vid); in br_fdb_delete()
922 err &= __br_fdb_delete(p, addr, 0); in br_fdb_delete()
931 err &= __br_fdb_delete(p, addr, vid); in br_fdb_delete()
952 err = dev_uc_add(p->dev, fdb->addr.addr); in br_fdb_sync_static()
970 dev_uc_del(p->dev, tmp->addr.addr); in br_fdb_sync_static()
989 dev_uc_del(p->dev, fdb->addr.addr); in br_fdb_unsync_static()
995 const unsigned char *addr, u16 vid) in br_fdb_external_learn_add() argument
1004 head = &br->hash[br_mac_hash(addr, vid)]; in br_fdb_external_learn_add()
1005 fdb = fdb_find(head, addr, vid); in br_fdb_external_learn_add()
1007 fdb = fdb_create(head, p, addr, vid); in br_fdb_external_learn_add()
1031 const unsigned char *addr, u16 vid) in br_fdb_external_learn_del() argument
1040 head = &br->hash[br_mac_hash(addr, vid)]; in br_fdb_external_learn_del()
1041 fdb = fdb_find(head, addr, vid); in br_fdb_external_learn_del()