Searched refs:hard_iface (Results 1 - 15 of 15) sorted by relevance

/net/batman-adv/
H A Dhard-interface.c37 struct batadv_hard_iface *hard_iface; local
39 hard_iface = container_of(rcu, struct batadv_hard_iface, rcu);
40 dev_put(hard_iface->net_dev);
41 kfree(hard_iface);
47 struct batadv_hard_iface *hard_iface; local
50 list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) {
51 if (hard_iface->net_dev == net_dev &&
52 atomic_inc_not_zero(&hard_iface->refcount))
56 hard_iface = NULL;
60 return hard_iface;
123 struct batadv_hard_iface *hard_iface; local
192 batadv_hardif_is_iface_up(const struct batadv_hard_iface *hard_iface) argument
202 const struct batadv_hard_iface *hard_iface; local
227 const struct batadv_hard_iface *hard_iface; local
265 batadv_hardif_activate_interface(struct batadv_hard_iface *hard_iface) argument
296 batadv_hardif_deactivate_interface(struct batadv_hard_iface *hard_iface) argument
334 batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface, const char *iface_name) argument
445 batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface, enum batadv_hard_if_cleanup autodel) argument
505 struct batadv_hard_iface *hard_iface; local
517 struct batadv_hard_iface *hard_iface; local
566 batadv_hardif_remove_interface(struct batadv_hard_iface *hard_iface) argument
584 struct batadv_hard_iface *hard_iface, *hard_iface_tmp; local
599 struct batadv_hard_iface *hard_iface; local
[all...]
H A Dhard-interface.h46 int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
48 void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface,
57 batadv_hardif_free_ref(struct batadv_hard_iface *hard_iface) argument
59 if (atomic_dec_and_test(&hard_iface->refcount))
60 call_rcu(&hard_iface->rcu, batadv_hardif_free_rcu);
66 struct batadv_hard_iface *hard_iface; local
69 hard_iface = rcu_dereference(bat_priv->primary_if);
70 if (!hard_iface)
73 if (!atomic_inc_not_zero(&hard_iface->refcount))
74 hard_iface
[all...]
H A Dsend.h24 struct batadv_hard_iface *hard_iface,
29 void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface);
36 const struct batadv_hard_iface *hard_iface);
H A Dsend.c40 struct batadv_hard_iface *hard_iface,
43 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
46 if (hard_iface->if_status != BATADV_IF_ACTIVE)
49 if (unlikely(!hard_iface->net_dev))
52 if (!(hard_iface->net_dev->flags & IFF_UP)) {
54 hard_iface->net_dev->name);
65 memcpy(ethhdr->h_source, hard_iface->net_dev->dev_addr, ETH_ALEN);
73 skb->dev = hard_iface->net_dev;
121 void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface) argument
123 struct batadv_priv *bat_priv = netdev_priv(hard_iface
39 batadv_send_skb_packet(struct sk_buff *skb, struct batadv_hard_iface *hard_iface, const uint8_t *dst_addr) argument
234 struct batadv_hard_iface *hard_iface; local
320 batadv_purge_outstanding_packets(struct batadv_priv *bat_priv, const struct batadv_hard_iface *hard_iface) argument
[all...]
H A Doriginator.h33 batadv_neigh_node_new(struct batadv_hard_iface *hard_iface,
39 int batadv_orig_hash_add_if(struct batadv_hard_iface *hard_iface,
41 int batadv_orig_hash_del_if(struct batadv_hard_iface *hard_iface,
H A Dbat_iv_ogm.c48 batadv_iv_ogm_neigh_new(struct batadv_hard_iface *hard_iface, argument
55 neigh_node = batadv_neigh_node_new(hard_iface, neigh_addr,
63 neigh_node->if_incoming = hard_iface;
73 static int batadv_iv_ogm_iface_enable(struct batadv_hard_iface *hard_iface) argument
82 atomic_set(&hard_iface->bat_iv.ogm_seqno, random_seqno);
84 hard_iface->bat_iv.ogm_buff_len = BATADV_OGM_HLEN;
85 ogm_buff = kmalloc(hard_iface->bat_iv.ogm_buff_len, GFP_ATOMIC);
89 hard_iface->bat_iv.ogm_buff = ogm_buff;
106 static void batadv_iv_ogm_iface_disable(struct batadv_hard_iface *hard_iface) argument
108 kfree(hard_iface
112 batadv_iv_ogm_iface_update_mac(struct batadv_hard_iface *hard_iface) argument
125 batadv_iv_ogm_primary_iface_set(struct batadv_hard_iface *hard_iface) argument
180 batadv_iv_ogm_send_to_if(struct batadv_forw_packet *forw_packet, struct batadv_hard_iface *hard_iface) argument
247 struct batadv_hard_iface *hard_iface; local
608 batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface) argument
1010 struct batadv_hard_iface *hard_iface; local
[all...]
H A Dsysfs.c530 struct batadv_hard_iface *hard_iface; local
534 hard_iface = batadv_hardif_get_by_netdev(net_dev);
535 if (!hard_iface)
538 if (hard_iface->if_status == BATADV_IF_NOT_IN_USE)
541 ifname = hard_iface->soft_iface->name;
545 batadv_hardif_free_ref(hard_iface);
555 struct batadv_hard_iface *hard_iface; local
559 hard_iface = batadv_hardif_get_by_netdev(net_dev);
560 if (!hard_iface)
569 batadv_hardif_free_ref(hard_iface);
611 struct batadv_hard_iface *hard_iface; local
[all...]
H A Dmain.c197 const struct batadv_hard_iface *hard_iface; local
200 list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) {
201 if (hard_iface->if_status != BATADV_IF_ACTIVE)
204 if (hard_iface->soft_iface != bat_priv->soft_iface)
207 if (batadv_compare_eth(hard_iface->net_dev->dev_addr, addr)) {
267 struct batadv_hard_iface *hard_iface; local
271 hard_iface = container_of(ptype, struct batadv_hard_iface,
287 if (!hard_iface->soft_iface)
290 bat_priv = netdev_priv(hard_iface->soft_iface);
296 if (hard_iface
[all...]
H A Drouting.h23 void batadv_slide_own_bcast_window(struct batadv_hard_iface *hard_iface);
25 struct batadv_hard_iface *hard_iface,
H A Dsoft-interface.c523 struct batadv_hard_iface *hard_iface; local
526 hard_iface = batadv_hardif_get_by_netdev(slave_dev);
527 if (!hard_iface || hard_iface->soft_iface != NULL)
530 ret = batadv_hardif_enable_interface(hard_iface, dev->name);
533 if (hard_iface)
534 batadv_hardif_free_ref(hard_iface);
548 struct batadv_hard_iface *hard_iface; local
551 hard_iface = batadv_hardif_get_by_netdev(slave_dev);
553 if (!hard_iface || hard_ifac
667 struct batadv_hard_iface *hard_iface; local
[all...]
H A Doriginator.c94 batadv_neigh_node_new(struct batadv_hard_iface *hard_iface, argument
97 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
530 int batadv_orig_hash_add_if(struct batadv_hard_iface *hard_iface, argument
533 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
613 int batadv_orig_hash_del_if(struct batadv_hard_iface *hard_iface, argument
616 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
634 hard_iface->if_num);
649 if (hard_iface == hard_iface_tmp)
652 if (hard_iface->soft_iface != hard_iface_tmp->soft_iface)
655 if (hard_iface_tmp->if_num > hard_iface
[all...]
H A Dunicast.h33 struct batadv_hard_iface *hard_iface,
H A Dtypes.h953 int (*bat_iface_enable)(struct batadv_hard_iface *hard_iface);
954 void (*bat_iface_disable)(struct batadv_hard_iface *hard_iface);
955 void (*bat_iface_update_mac)(struct batadv_hard_iface *hard_iface);
956 void (*bat_primary_iface_set)(struct batadv_hard_iface *hard_iface);
957 void (*bat_ogm_schedule)(struct batadv_hard_iface *hard_iface);
H A Dunicast.c225 struct batadv_hard_iface *hard_iface,
273 seqno = atomic_add_return(2, &hard_iface->frag_seqno);
277 batadv_send_skb_packet(skb, hard_iface, dstaddr);
278 batadv_send_skb_packet(frag_skb, hard_iface, dstaddr);
224 batadv_frag_send_skb(struct sk_buff *skb, struct batadv_priv *bat_priv, struct batadv_hard_iface *hard_iface, const uint8_t dstaddr[]) argument
H A Drouting.c37 void batadv_slide_own_bcast_window(struct batadv_hard_iface *hard_iface) argument
39 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface);
54 word_index = hard_iface->if_num * BATADV_NUM_WORDS;
58 w = &orig_node->bcast_own_sum[hard_iface->if_num];
250 struct batadv_hard_iface *hard_iface,
249 batadv_check_management_packet(struct sk_buff *skb, struct batadv_hard_iface *hard_iface, int header_len) argument

Completed in 2481 milliseconds