Lines Matching full:dat
98 * batadv_dat_start_timer() - initialise the DAT periodic worker
103 queue_delayed_work(batadv_event_workqueue, &bat_priv->dat.work, in batadv_dat_start_timer()
147 * __batadv_dat_purge() - delete entries from the DAT local storage
154 * Loops over each entry in the DAT local storage and deletes it if and only if
166 if (!bat_priv->dat.hash) in __batadv_dat_purge()
169 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge()
170 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge()
171 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge()
191 * DAT hash table
202 bat_priv = container_of(priv_dat, struct batadv_priv, dat); in batadv_dat_purge()
209 * batadv_compare_dat() - comparing function used in the local DAT hash table
288 const struct batadv_dat_entry *dat = data; in batadv_hash_dat() local
293 key = (__force const unsigned char *)&dat->ip; in batadv_hash_dat()
294 for (i = 0; i < sizeof(dat->ip); i++) { in batadv_hash_dat()
300 vid = htons(dat->vid); in batadv_hash_dat()
302 for (i = 0; i < sizeof(dat->vid); i++) { in batadv_hash_dat()
330 struct batadv_hashtable *hash = bat_priv->dat.hash; in batadv_dat_entry_hash_find()
359 * batadv_dat_entry_add() - add a new dat entry or update it if already exists
395 hash_added = batadv_hash_add(bat_priv->dat.hash, batadv_compare_dat, in batadv_dat_entry_add()
519 /* check if orig node candidate is running DAT */ in batadv_is_orig_node_eligible()
633 struct batadv_dat_entry dat; in batadv_dat_select_candidates() local
642 dat.ip = ip_dst; in batadv_dat_select_candidates()
643 dat.vid = vid; in batadv_dat_select_candidates()
644 ip_key = (batadv_dat_addr_t)batadv_hash_dat(&dat, in batadv_dat_select_candidates()
734 * batadv_dat_tvlv_container_update() - update the dat tvlv container after dat
756 * batadv_dat_status_update() - update the dat tvlv container after dat
768 * batadv_dat_tvlv_ogm_handler_v1() - process incoming dat tvlv container
787 * batadv_dat_hash_free() - free the local DAT hash table
792 if (!bat_priv->dat.hash) in batadv_dat_hash_free()
797 batadv_hash_destroy(bat_priv->dat.hash); in batadv_dat_hash_free()
799 bat_priv->dat.hash = NULL; in batadv_dat_hash_free()
803 * batadv_dat_init() - initialise the DAT internals
810 if (bat_priv->dat.hash) in batadv_dat_init()
813 bat_priv->dat.hash = batadv_hash_new(1024); in batadv_dat_init()
815 if (!bat_priv->dat.hash) in batadv_dat_init()
818 INIT_DELAYED_WORK(&bat_priv->dat.work, batadv_dat_purge); in batadv_dat_init()
829 * batadv_dat_free() - free the DAT internals
837 cancel_delayed_work_sync(&bat_priv->dat.work); in batadv_dat_free()
843 * batadv_dat_cache_dump_entry() - dump one entry of the DAT cache table to a
885 * batadv_dat_cache_dump_bucket() - dump one bucket of the DAT cache table to
928 * batadv_dat_cache_dump() - dump DAT cache table to a netlink socket
950 hash = bat_priv->dat.hash; in batadv_dat_cache_dump()
1026 /* Check for bad reply/request. If the ARP message is not sane, DAT in batadv_arp_get_type()
1117 * answer using DAT
1161 * client will answer itself. DAT would only generate a in batadv_dat_snoop_outgoing_arp_request()
1165 * additional DAT answer may trigger kernel warnings about in batadv_dat_snoop_outgoing_arp_request()
1214 * answer using the local DAT storage
1325 * local DAT storage only
1330 * Return: true if the packet was snooped and consumed by DAT. False if the
1606 * DAT cache
1614 * Adds given MAC/IP pairs to the local DAT cache and propagates them further
1691 * batadv_dat_snoop_outgoing_dhcp_ack() - snoop DHCPACK and fill DAT with it
1699 * field and DHCP Your IP Address field are added to the local DAT cache and
1724 * batadv_dat_snoop_incoming_dhcp_ack() - snoop DHCPACK and fill DAT cache
1731 * field and DHCP Your IP Address field are added to the local DAT cache.
1772 * dropped (because the node has already obtained the reply via DAT) or not