Lines Matching refs:backbone_gw

58 			 struct batadv_bla_backbone_gw *backbone_gw);
152 struct batadv_bla_backbone_gw *backbone_gw; in batadv_backbone_gw_release() local
154 backbone_gw = container_of(ref, struct batadv_bla_backbone_gw, in batadv_backbone_gw_release()
157 kfree_rcu(backbone_gw, rcu); in batadv_backbone_gw_release()
165 static void batadv_backbone_gw_put(struct batadv_bla_backbone_gw *backbone_gw) in batadv_backbone_gw_put() argument
167 kref_put(&backbone_gw->refcount, batadv_backbone_gw_release); in batadv_backbone_gw_put()
183 old_backbone_gw = claim->backbone_gw; in batadv_claim_release()
184 claim->backbone_gw = NULL; in batadv_claim_release()
258 struct batadv_bla_backbone_gw search_entry, *backbone_gw; in batadv_backbone_hash_find() local
272 hlist_for_each_entry_rcu(backbone_gw, head, hash_entry) { in batadv_backbone_hash_find()
273 if (!batadv_compare_backbone_gw(&backbone_gw->hash_entry, in batadv_backbone_hash_find()
277 if (!kref_get_unless_zero(&backbone_gw->refcount)) in batadv_backbone_hash_find()
280 backbone_gw_tmp = backbone_gw; in batadv_backbone_hash_find()
293 batadv_bla_del_backbone_claims(struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_del_backbone_claims() argument
302 hash = backbone_gw->bat_priv->bla.claim_hash; in batadv_bla_del_backbone_claims()
313 if (claim->backbone_gw != backbone_gw) in batadv_bla_del_backbone_claims()
323 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_del_backbone_claims()
324 backbone_gw->crc = BATADV_BLA_CRC_INIT; in batadv_bla_del_backbone_claims()
325 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_del_backbone_claims()
460 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_loopdetect_report() local
464 backbone_gw = container_of(work, struct batadv_bla_backbone_gw, in batadv_bla_loopdetect_report()
466 bat_priv = backbone_gw->bat_priv; in batadv_bla_loopdetect_report()
470 batadv_print_vid(backbone_gw->vid)); in batadv_bla_loopdetect_report()
472 batadv_print_vid(backbone_gw->vid)); in batadv_bla_loopdetect_report()
478 batadv_backbone_gw_put(backbone_gw); in batadv_bla_loopdetect_report()
568 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_update_own_backbone_gw() local
570 backbone_gw = batadv_bla_get_backbone_gw(bat_priv, in batadv_bla_update_own_backbone_gw()
573 if (unlikely(!backbone_gw)) in batadv_bla_update_own_backbone_gw()
576 backbone_gw->lasttime = jiffies; in batadv_bla_update_own_backbone_gw()
577 batadv_backbone_gw_put(backbone_gw); in batadv_bla_update_own_backbone_gw()
596 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_answer_request() local
603 backbone_gw = batadv_backbone_hash_find(bat_priv, in batadv_bla_answer_request()
606 if (!backbone_gw) in batadv_bla_answer_request()
616 if (claim->backbone_gw != backbone_gw) in batadv_bla_answer_request()
626 batadv_bla_send_announce(bat_priv, backbone_gw); in batadv_bla_answer_request()
627 batadv_backbone_gw_put(backbone_gw); in batadv_bla_answer_request()
638 static void batadv_bla_send_request(struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_send_request() argument
641 batadv_bla_del_backbone_claims(backbone_gw); in batadv_bla_send_request()
643 batadv_dbg(BATADV_DBG_BLA, backbone_gw->bat_priv, in batadv_bla_send_request()
644 "Sending REQUEST to %pM\n", backbone_gw->orig); in batadv_bla_send_request()
647 batadv_bla_send_claim(backbone_gw->bat_priv, backbone_gw->orig, in batadv_bla_send_request()
648 backbone_gw->vid, BATADV_CLAIM_TYPE_REQUEST); in batadv_bla_send_request()
651 if (!atomic_read(&backbone_gw->request_sent)) { in batadv_bla_send_request()
652 atomic_inc(&backbone_gw->bat_priv->bla.num_requests); in batadv_bla_send_request()
653 atomic_set(&backbone_gw->request_sent, 1); in batadv_bla_send_request()
663 struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_send_announce() argument
669 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_send_announce()
670 crc = htons(backbone_gw->crc); in batadv_bla_send_announce()
671 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_send_announce()
674 batadv_bla_send_claim(bat_priv, mac, backbone_gw->vid, in batadv_bla_send_announce()
687 struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_add_claim() argument
709 kref_get(&backbone_gw->refcount); in batadv_bla_add_claim()
710 claim->backbone_gw = backbone_gw; in batadv_bla_add_claim()
730 if (claim->backbone_gw == backbone_gw) in batadv_bla_add_claim()
737 backbone_gw->orig); in batadv_bla_add_claim()
744 old_backbone_gw = claim->backbone_gw; in batadv_bla_add_claim()
745 kref_get(&backbone_gw->refcount); in batadv_bla_add_claim()
746 claim->backbone_gw = backbone_gw; in batadv_bla_add_claim()
759 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_add_claim()
760 backbone_gw->crc ^= crc16(0, claim->addr, ETH_ALEN); in batadv_bla_add_claim()
761 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_add_claim()
762 backbone_gw->lasttime = jiffies; in batadv_bla_add_claim()
778 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_claim_get_backbone_gw() local
781 backbone_gw = claim->backbone_gw; in batadv_bla_claim_get_backbone_gw()
782 kref_get(&backbone_gw->refcount); in batadv_bla_claim_get_backbone_gw()
785 return backbone_gw; in batadv_bla_claim_get_backbone_gw()
838 struct batadv_bla_backbone_gw *backbone_gw; in batadv_handle_announce() local
844 backbone_gw = batadv_bla_get_backbone_gw(bat_priv, backbone_addr, vid, in batadv_handle_announce()
847 if (unlikely(!backbone_gw)) in batadv_handle_announce()
851 backbone_gw->lasttime = jiffies; in batadv_handle_announce()
856 __func__, batadv_print_vid(vid), backbone_gw->orig, crc); in batadv_handle_announce()
858 spin_lock_bh(&backbone_gw->crc_lock); in batadv_handle_announce()
859 backbone_crc = backbone_gw->crc; in batadv_handle_announce()
860 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_handle_announce()
863 batadv_dbg(BATADV_DBG_BLA, backbone_gw->bat_priv, in batadv_handle_announce()
865 __func__, backbone_gw->orig, in batadv_handle_announce()
866 batadv_print_vid(backbone_gw->vid), in batadv_handle_announce()
869 batadv_bla_send_request(backbone_gw); in batadv_handle_announce()
874 if (atomic_read(&backbone_gw->request_sent)) { in batadv_handle_announce()
875 atomic_dec(&backbone_gw->bat_priv->bla.num_requests); in batadv_handle_announce()
876 atomic_set(&backbone_gw->request_sent, 0); in batadv_handle_announce()
880 batadv_backbone_gw_put(backbone_gw); in batadv_handle_announce()
932 struct batadv_bla_backbone_gw *backbone_gw; in batadv_handle_unclaim() local
940 backbone_gw = batadv_backbone_hash_find(bat_priv, backbone_addr, vid); in batadv_handle_unclaim()
942 if (!backbone_gw) in batadv_handle_unclaim()
948 claim_addr, batadv_print_vid(vid), backbone_gw->orig); in batadv_handle_unclaim()
951 batadv_backbone_gw_put(backbone_gw); in batadv_handle_unclaim()
970 struct batadv_bla_backbone_gw *backbone_gw; in batadv_handle_claim() local
974 backbone_gw = batadv_bla_get_backbone_gw(bat_priv, backbone_addr, vid, in batadv_handle_claim()
977 if (unlikely(!backbone_gw)) in batadv_handle_claim()
981 batadv_bla_add_claim(bat_priv, claim_addr, vid, backbone_gw); in batadv_handle_claim()
988 batadv_backbone_gw_put(backbone_gw); in batadv_handle_claim()
1220 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_purge_backbone_gw() local
1236 hlist_for_each_entry_safe(backbone_gw, node_tmp, in batadv_bla_purge_backbone_gw()
1240 if (!batadv_has_timed_out(backbone_gw->lasttime, in batadv_bla_purge_backbone_gw()
1244 batadv_dbg(BATADV_DBG_BLA, backbone_gw->bat_priv, in batadv_bla_purge_backbone_gw()
1246 __func__, backbone_gw->orig); in batadv_bla_purge_backbone_gw()
1250 if (atomic_read(&backbone_gw->request_sent)) in batadv_bla_purge_backbone_gw()
1253 batadv_bla_del_backbone_claims(backbone_gw); in batadv_bla_purge_backbone_gw()
1255 hlist_del_rcu(&backbone_gw->hash_entry); in batadv_bla_purge_backbone_gw()
1256 batadv_backbone_gw_put(backbone_gw); in batadv_bla_purge_backbone_gw()
1275 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_purge_claims() local
1290 backbone_gw = batadv_bla_claim_get_backbone_gw(claim); in batadv_bla_purge_claims()
1294 if (!batadv_compare_eth(backbone_gw->orig, in batadv_bla_purge_claims()
1311 backbone_gw->orig, in batadv_bla_purge_claims()
1314 batadv_backbone_gw_put(backbone_gw); in batadv_bla_purge_claims()
1331 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_update_orig_address() local
1359 hlist_for_each_entry_rcu(backbone_gw, head, hash_entry) { in batadv_bla_update_orig_address()
1361 if (!batadv_compare_eth(backbone_gw->orig, in batadv_bla_update_orig_address()
1365 ether_addr_copy(backbone_gw->orig, in batadv_bla_update_orig_address()
1370 batadv_bla_send_announce(bat_priv, backbone_gw); in batadv_bla_update_orig_address()
1388 struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_send_loopdetect() argument
1391 backbone_gw->vid); in batadv_bla_send_loopdetect()
1393 backbone_gw->vid, BATADV_CLAIM_TYPE_LOOPDETECT); in batadv_bla_send_loopdetect()
1430 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_periodic_work() local
1473 hlist_for_each_entry_rcu(backbone_gw, head, hash_entry) { in batadv_bla_periodic_work()
1474 if (!batadv_compare_eth(backbone_gw->orig, in batadv_bla_periodic_work()
1478 backbone_gw->lasttime = jiffies; in batadv_bla_periodic_work()
1480 batadv_bla_send_announce(bat_priv, backbone_gw); in batadv_bla_periodic_work()
1483 backbone_gw); in batadv_bla_periodic_work()
1494 if (atomic_read(&backbone_gw->request_sent) == 0) in batadv_bla_periodic_work()
1497 if (!atomic_dec_and_test(&backbone_gw->wait_periods)) in batadv_bla_periodic_work()
1500 atomic_dec(&backbone_gw->bat_priv->bla.num_requests); in batadv_bla_periodic_work()
1501 atomic_set(&backbone_gw->request_sent, 0); in batadv_bla_periodic_work()
1733 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_is_backbone_gw_orig() local
1746 hlist_for_each_entry_rcu(backbone_gw, head, hash_entry) { in batadv_bla_is_backbone_gw_orig()
1747 if (batadv_compare_eth(backbone_gw->orig, orig) && in batadv_bla_is_backbone_gw_orig()
1748 backbone_gw->vid == vid) { in batadv_bla_is_backbone_gw_orig()
1771 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_is_backbone_gw() local
1784 backbone_gw = batadv_backbone_hash_find(orig_node->bat_priv, in batadv_bla_is_backbone_gw()
1786 if (!backbone_gw) in batadv_bla_is_backbone_gw()
1789 batadv_backbone_gw_put(backbone_gw); in batadv_bla_is_backbone_gw()
1838 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_loopdetect_check() local
1858 backbone_gw = batadv_bla_get_backbone_gw(bat_priv, in batadv_bla_loopdetect_check()
1861 if (unlikely(!backbone_gw)) in batadv_bla_loopdetect_check()
1864 ret = queue_work(batadv_event_workqueue, &backbone_gw->report_work); in batadv_bla_loopdetect_check()
1870 batadv_backbone_gw_put(backbone_gw); in batadv_bla_loopdetect_check()
1894 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_rx() local
1963 backbone_gw = batadv_bla_claim_get_backbone_gw(claim); in batadv_bla_rx()
1964 own_claim = batadv_compare_eth(backbone_gw->orig, in batadv_bla_rx()
1966 batadv_backbone_gw_put(backbone_gw); in batadv_bla_rx()
2033 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_tx() local
2065 backbone_gw = batadv_bla_claim_get_backbone_gw(claim); in batadv_bla_tx()
2066 client_roamed = batadv_compare_eth(backbone_gw->orig, in batadv_bla_tx()
2068 batadv_backbone_gw_put(backbone_gw); in batadv_bla_tx()
2131 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_claim_table_seq_print_text() local
2156 backbone_gw = batadv_bla_claim_get_backbone_gw(claim); in batadv_bla_claim_table_seq_print_text()
2158 is_own = batadv_compare_eth(backbone_gw->orig, in batadv_bla_claim_table_seq_print_text()
2161 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_claim_table_seq_print_text()
2162 backbone_crc = backbone_gw->crc; in batadv_bla_claim_table_seq_print_text()
2163 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_claim_table_seq_print_text()
2166 backbone_gw->orig, in batadv_bla_claim_table_seq_print_text()
2170 batadv_backbone_gw_put(backbone_gw); in batadv_bla_claim_table_seq_print_text()
2214 is_own = batadv_compare_eth(claim->backbone_gw->orig, in batadv_bla_claim_dump_entry()
2217 spin_lock_bh(&claim->backbone_gw->crc_lock); in batadv_bla_claim_dump_entry()
2218 backbone_crc = claim->backbone_gw->crc; in batadv_bla_claim_dump_entry()
2219 spin_unlock_bh(&claim->backbone_gw->crc_lock); in batadv_bla_claim_dump_entry()
2230 claim->backbone_gw->orig) || in batadv_bla_claim_dump_entry()
2365 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_backbone_table_seq_print_text() local
2388 hlist_for_each_entry_rcu(backbone_gw, head, hash_entry) { in batadv_bla_backbone_table_seq_print_text()
2390 backbone_gw->lasttime); in batadv_bla_backbone_table_seq_print_text()
2394 is_own = batadv_compare_eth(backbone_gw->orig, in batadv_bla_backbone_table_seq_print_text()
2399 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_backbone_table_seq_print_text()
2400 backbone_crc = backbone_gw->crc; in batadv_bla_backbone_table_seq_print_text()
2401 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_backbone_table_seq_print_text()
2404 backbone_gw->orig, in batadv_bla_backbone_table_seq_print_text()
2405 batadv_print_vid(backbone_gw->vid), secs, in batadv_bla_backbone_table_seq_print_text()
2432 struct batadv_bla_backbone_gw *backbone_gw) in batadv_bla_backbone_dump_entry() argument
2451 is_own = batadv_compare_eth(backbone_gw->orig, primary_addr); in batadv_bla_backbone_dump_entry()
2453 spin_lock_bh(&backbone_gw->crc_lock); in batadv_bla_backbone_dump_entry()
2454 backbone_crc = backbone_gw->crc; in batadv_bla_backbone_dump_entry()
2455 spin_unlock_bh(&backbone_gw->crc_lock); in batadv_bla_backbone_dump_entry()
2457 msecs = jiffies_to_msecs(jiffies - backbone_gw->lasttime); in batadv_bla_backbone_dump_entry()
2466 backbone_gw->orig) || in batadv_bla_backbone_dump_entry()
2467 nla_put_u16(msg, BATADV_ATTR_BLA_VID, backbone_gw->vid) || in batadv_bla_backbone_dump_entry()
2502 struct batadv_bla_backbone_gw *backbone_gw; in batadv_bla_backbone_dump_bucket() local
2509 hlist_for_each_entry(backbone_gw, &hash->table[bucket], hash_entry) { in batadv_bla_backbone_dump_bucket()
2514 primary_if, backbone_gw); in batadv_bla_backbone_dump_bucket()
2627 if (!batadv_compare_eth(claim->backbone_gw->orig, in batadv_bla_check_claim()