Lines Matching full:dat

99  * batadv_dat_start_timer() - initialise the DAT periodic worker
104 queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, in batadv_dat_start_timer()
148 * __batadv_dat_purge() - delete entries from the DAT local storage
155 * Loops over each entry in the DAT local storage and deletes it if and only if
167 if (!bat_priv->dat.hash) in __batadv_dat_purge()
170 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge()
171 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge()
172 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge()
192 * DAT hash table
203 bat_priv = container_of(priv_dat, struct batadv_priv, dat); in batadv_dat_purge()
210 * batadv_compare_dat() - comparing function used in the local DAT hash table
289 const struct batadv_dat_entry *dat = data; in batadv_hash_dat() local
294 key = (__force const unsigned char *)&dat->ip; in batadv_hash_dat()
295 for (i = 0; i < sizeof(dat->ip); i++) { in batadv_hash_dat()
301 vid = htons(dat->vid); in batadv_hash_dat()
303 for (i = 0; i < sizeof(dat->vid); i++) { in batadv_hash_dat()
331 struct batadv_hashtable *hash = bat_priv->dat.hash; in batadv_dat_entry_hash_find()
360 * batadv_dat_entry_add() - add a new dat entry or update it if already exists
396 hash_added = batadv_hash_add(bat_priv->dat.hash, batadv_compare_dat, in batadv_dat_entry_add()
520 /* check if orig node candidate is running DAT */ in batadv_is_orig_node_eligible()
634 struct batadv_dat_entry dat; in batadv_dat_select_candidates() local
644 dat.ip = ip_dst; in batadv_dat_select_candidates()
645 dat.vid = vid; in batadv_dat_select_candidates()
646 ip_key = (batadv_dat_addr_t)batadv_hash_dat(&dat, in batadv_dat_select_candidates()
736 * batadv_dat_tvlv_container_update() - update the dat tvlv container after dat
758 * batadv_dat_status_update() - update the dat tvlv container after dat
770 * batadv_dat_tvlv_ogm_handler_v1() - process incoming dat tvlv container
789 * batadv_dat_hash_free() - free the local DAT hash table
794 if (!bat_priv->dat.hash) in batadv_dat_hash_free()
799 batadv_hash_destroy(bat_priv->dat.hash); in batadv_dat_hash_free()
801 bat_priv->dat.hash = NULL; in batadv_dat_hash_free()
805 * batadv_dat_init() - initialise the DAT internals
812 if (bat_priv->dat.hash) in batadv_dat_init()
815 bat_priv->dat.hash = batadv_hash_new(1024); in batadv_dat_init()
817 if (!bat_priv->dat.hash) in batadv_dat_init()
820 INIT_DELAYED_WORK(&bat_priv->dat.work, batadv_dat_purge); in batadv_dat_init()
831 * batadv_dat_free() - free the DAT internals
839 cancel_delayed_work_sync(&bat_priv->dat.work); in batadv_dat_free()
845 * batadv_dat_cache_dump_entry() - dump one entry of the DAT cache table to a
887 * batadv_dat_cache_dump_bucket() - dump one bucket of the DAT cache table to
930 * batadv_dat_cache_dump() - dump DAT cache table to a netlink socket
961 hash = bat_priv->dat.hash; in batadv_dat_cache_dump()
1037 /* Check for bad reply/request. If the ARP message is not sane, DAT in batadv_arp_get_type()
1128 * answer using DAT
1172 * client will answer itself. DAT would only generate a in batadv_dat_snoop_outgoing_arp_request()
1176 * additional DAT answer may trigger kernel warnings about in batadv_dat_snoop_outgoing_arp_request()
1225 * answer using the local DAT storage
1336 * local DAT storage only
1341 * Return: true if the packet was snooped and consumed by DAT. False if the
1617 * DAT cache
1625 * Adds given MAC/IP pairs to the local DAT cache and propagates them further
1702 * batadv_dat_snoop_outgoing_dhcp_ack() - snoop DHCPACK and fill DAT with it
1710 * field and DHCP Your IP Address field are added to the local DAT cache and
1735 * batadv_dat_snoop_incoming_dhcp_ack() - snoop DHCPACK and fill DAT cache
1742 * field and DHCP Your IP Address field are added to the local DAT cache.
1783 * dropped (because the node has already obtained the reply via DAT) or not