Lines Matching refs:hard_iface
263 batadv_iv_ogm_neigh_new(struct batadv_hard_iface *hard_iface, in batadv_iv_ogm_neigh_new() argument
268 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_neigh_new()
271 neigh_node = batadv_neigh_node_new(hard_iface, neigh_addr, orig_node); in batadv_iv_ogm_neigh_new()
275 if (!atomic_inc_not_zero(&hard_iface->refcount)) { in batadv_iv_ogm_neigh_new()
282 neigh_node->if_incoming = hard_iface; in batadv_iv_ogm_neigh_new()
285 tmp_neigh_node = batadv_neigh_node_get(orig_node, hard_iface, in batadv_iv_ogm_neigh_new()
291 batadv_hardif_free_ref(hard_iface); in batadv_iv_ogm_neigh_new()
300 hard_iface->net_dev->name); in batadv_iv_ogm_neigh_new()
306 static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_iface_enable() argument
315 atomic_set(&hard_iface->bat_iv.ogm_seqno, random_seqno); in batadv_iv_ogm_iface_enable()
317 hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN; in batadv_iv_ogm_iface_enable()
318 ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC); in batadv_iv_ogm_iface_enable()
322 hard_iface->bat_iv.ogm_buff = ogm_buff; in batadv_iv_ogm_iface_enable()
338 static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_iface_disable() argument
340 kfree(hard_iface->bat_iv.ogm_buff); in batadv_iv_ogm_iface_disable()
341 hard_iface->bat_iv.ogm_buff = NULL; in batadv_iv_ogm_iface_disable()
344 static void batadv_iv_ogm_iface_update_mac(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_iface_update_mac() argument
347 unsigned char *ogm_buff = hard_iface->bat_iv.ogm_buff; in batadv_iv_ogm_iface_update_mac()
351 hard_iface->net_dev->dev_addr); in batadv_iv_ogm_iface_update_mac()
353 hard_iface->net_dev->dev_addr); in batadv_iv_ogm_iface_update_mac()
357 batadv_iv_ogm_primary_iface_set(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_primary_iface_set() argument
360 unsigned char *ogm_buff = hard_iface->bat_iv.ogm_buff; in batadv_iv_ogm_primary_iface_set()
413 struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_send_to_if() argument
415 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_send_to_if()
423 if (hard_iface->if_status != BATADV_IF_ACTIVE) in batadv_iv_ogm_send_to_if()
438 forw_packet->if_incoming == hard_iface) in batadv_iv_ogm_send_to_if()
456 hard_iface->net_dev->name, in batadv_iv_ogm_send_to_if()
457 hard_iface->net_dev->dev_addr); in batadv_iv_ogm_send_to_if()
472 batadv_send_skb_packet(skb, hard_iface, batadv_broadcast_addr); in batadv_iv_ogm_send_to_if()
862 batadv_iv_ogm_slide_own_bcast_window(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_slide_own_bcast_window() argument
864 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_slide_own_bcast_window()
880 word_index = hard_iface->if_num * BATADV_NUM_WORDS; in batadv_iv_ogm_slide_own_bcast_window()
884 if_num = hard_iface->if_num; in batadv_iv_ogm_slide_own_bcast_window()
893 static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface) in batadv_iv_ogm_schedule() argument
895 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_iv_ogm_schedule()
896 unsigned char **ogm_buff = &hard_iface->bat_iv.ogm_buff; in batadv_iv_ogm_schedule()
899 int *ogm_buff_len = &hard_iface->bat_iv.ogm_buff_len; in batadv_iv_ogm_schedule()
906 if (hard_iface == primary_if) { in batadv_iv_ogm_schedule()
920 seqno = (uint32_t)atomic_read(&hard_iface->bat_iv.ogm_seqno); in batadv_iv_ogm_schedule()
922 atomic_inc(&hard_iface->bat_iv.ogm_seqno); in batadv_iv_ogm_schedule()
924 batadv_iv_ogm_slide_own_bcast_window(hard_iface); in batadv_iv_ogm_schedule()
928 if (hard_iface != primary_if) { in batadv_iv_ogm_schedule()
933 hard_iface, hard_iface, 1, send_time); in batadv_iv_ogm_schedule()
942 if (tmp_hard_iface->soft_iface != hard_iface->soft_iface) in batadv_iv_ogm_schedule()
945 *ogm_buff_len, hard_iface, in batadv_iv_ogm_schedule()
1571 struct batadv_hard_iface *hard_iface; in batadv_iv_ogm_process() local
1615 list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { in batadv_iv_ogm_process()
1616 if (hard_iface->if_status != BATADV_IF_ACTIVE) in batadv_iv_ogm_process()
1619 if (hard_iface->soft_iface != if_incoming->soft_iface) in batadv_iv_ogm_process()
1623 hard_iface->net_dev->dev_addr)) in batadv_iv_ogm_process()
1627 hard_iface->net_dev->dev_addr)) in batadv_iv_ogm_process()
1631 hard_iface->net_dev->dev_addr)) in batadv_iv_ogm_process()
1704 list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { in batadv_iv_ogm_process()
1705 if (hard_iface->if_status != BATADV_IF_ACTIVE) in batadv_iv_ogm_process()
1708 if (hard_iface->soft_iface != bat_priv->soft_iface) in batadv_iv_ogm_process()
1712 if_incoming, hard_iface); in batadv_iv_ogm_process()