Home
last modified time | relevance | path

Searched refs:hard_iface (Results 1 – 13 of 13) sorted by relevance

/linux/net/batman-adv/
H A Dhard-interface.c51 struct batadv_hard_iface *hard_iface; in batadv_hardif_release() local
53 hard_iface = container_of(ref, struct batadv_hard_iface, refcount); in batadv_hardif_release()
54 dev_put(hard_iface->net_dev); in batadv_hardif_release()
56 kfree_rcu(hard_iface, rcu); in batadv_hardif_release()
68 struct batadv_hard_iface *hard_iface; in batadv_hardif_get_by_netdev() local
71 list_for_each_entry_rcu(hard_iface, &batadv_hardif_list, list) { in batadv_hardif_get_by_netdev()
72 if (hard_iface->net_dev == net_dev && in batadv_hardif_get_by_netdev()
73 kref_get_unless_zero(&hard_iface->refcount)) in batadv_hardif_get_by_netdev()
77 hard_iface = NULL; in batadv_hardif_get_by_netdev()
81 return hard_iface; in batadv_hardif_get_by_netdev()
[all …]
H A Dbat_v_elp.c62 static void batadv_v_elp_start_timer(struct batadv_hard_iface *hard_iface) in batadv_v_elp_start_timer() argument
66 msecs = atomic_read(&hard_iface->bat_v.elp_interval) - BATADV_JITTER; in batadv_v_elp_start_timer()
69 queue_delayed_work(batadv_event_workqueue, &hard_iface->bat_v.elp_wq, in batadv_v_elp_start_timer()
84 struct batadv_hard_iface *hard_iface = neigh->if_incoming; in batadv_v_elp_get_throughput() local
85 struct net_device *soft_iface = hard_iface->soft_iface; in batadv_v_elp_get_throughput()
101 throughput = atomic_read(&hard_iface->bat_v.throughput_override); in batadv_v_elp_get_throughput()
110 if (batadv_is_wifi_hardif(hard_iface)) { in batadv_v_elp_get_throughput()
111 if (!batadv_is_cfg80211_hardif(hard_iface)) in batadv_v_elp_get_throughput()
115 real_netdev = batadv_get_real_netdev(hard_iface->net_dev); in batadv_v_elp_get_throughput()
165 ret = __ethtool_get_link_ksettings(hard_iface->net_dev, &link_settings); in batadv_v_elp_get_throughput()
[all …]
H A Dbat_v_ogm.c87 static void batadv_v_ogm_start_queue_timer(struct batadv_hard_iface *hard_iface) in batadv_v_ogm_start_queue_timer() argument
93 queue_delayed_work(batadv_event_workqueue, &hard_iface->bat_v.aggr_wq, in batadv_v_ogm_start_queue_timer()
122 struct batadv_hard_iface *hard_iface) in batadv_v_ogm_send_to_if() argument
124 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_v_ogm_send_to_if()
126 if (hard_iface->if_status != BATADV_IF_ACTIVE) { in batadv_v_ogm_send_to_if()
135 batadv_send_broadcast_skb(skb, hard_iface); in batadv_v_ogm_send_to_if()
163 struct batadv_hard_iface *hard_iface) in batadv_v_ogm_queue_left() argument
165 unsigned int max = min_t(unsigned int, hard_iface->net_dev->mtu, in batadv_v_ogm_queue_left()
169 lockdep_assert_held(&hard_iface->bat_v.aggr_list.lock); in batadv_v_ogm_queue_left()
171 return hard_iface->bat_v.aggr_len + ogm_len <= max; in batadv_v_ogm_queue_left()
[all …]
H A Dhard-interface.h72 bool batadv_is_cfg80211_hardif(struct batadv_hard_iface *hard_iface);
73 bool batadv_is_wifi_hardif(struct batadv_hard_iface *hard_iface);
76 int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
78 void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface);
90 static inline void batadv_hardif_put(struct batadv_hard_iface *hard_iface) in batadv_hardif_put() argument
92 if (!hard_iface) in batadv_hardif_put()
95 kref_put(&hard_iface->refcount, batadv_hardif_release); in batadv_hardif_put()
107 struct batadv_hard_iface *hard_iface; in batadv_primary_if_get_selected() local
110 hard_iface = rcu_dereference(bat_priv->primary_if); in batadv_primary_if_get_selected()
111 if (!hard_iface) in batadv_primary_if_get_selected()
[all …]
H A Dbat_v.c44 static void batadv_v_iface_activate(struct batadv_hard_iface *hard_iface) in batadv_v_iface_activate() argument
46 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_v_iface_activate()
52 batadv_v_elp_iface_activate(primary_if, hard_iface); in batadv_v_iface_activate()
60 if (hard_iface->if_status == BATADV_IF_TO_BE_ACTIVATED) in batadv_v_iface_activate()
61 hard_iface->if_status = BATADV_IF_ACTIVE; in batadv_v_iface_activate()
64 static int batadv_v_iface_enable(struct batadv_hard_iface *hard_iface) in batadv_v_iface_enable() argument
68 ret = batadv_v_elp_iface_enable(hard_iface); in batadv_v_iface_enable()
72 ret = batadv_v_ogm_iface_enable(hard_iface); in batadv_v_iface_enable()
74 batadv_v_elp_iface_disable(hard_iface); in batadv_v_iface_enable()
79 static void batadv_v_iface_disable(struct batadv_hard_iface *hard_iface) in batadv_v_iface_disable() argument
[all …]
H A Dsend.c64 struct batadv_hard_iface *hard_iface, in batadv_send_skb_packet() argument
71 bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_send_skb_packet()
73 if (hard_iface->if_status != BATADV_IF_ACTIVE) in batadv_send_skb_packet()
76 if (unlikely(!hard_iface->net_dev)) in batadv_send_skb_packet()
79 if (!(hard_iface->net_dev->flags & IFF_UP)) { in batadv_send_skb_packet()
81 hard_iface->net_dev->name); in batadv_send_skb_packet()
92 ether_addr_copy(ethhdr->h_source, hard_iface->net_dev->dev_addr); in batadv_send_skb_packet()
99 skb->dev = hard_iface->net_dev; in batadv_send_skb_packet()
125 struct batadv_hard_iface *hard_iface) in batadv_send_broadcast_skb() argument
127 return batadv_send_skb_packet(skb, hard_iface, batadv_broadcast_addr); in batadv_send_broadcast_skb()
[all …]
H A Dbat_v_elp.h14 int batadv_v_elp_iface_enable(struct batadv_hard_iface *hard_iface);
15 void batadv_v_elp_iface_disable(struct batadv_hard_iface *hard_iface);
17 struct batadv_hard_iface *hard_iface);
H A Dsend.h36 struct batadv_hard_iface *hard_iface,
39 struct batadv_hard_iface *hard_iface);
52 const struct batadv_hard_iface *hard_iface);
H A Dbat_v_ogm.h19 int batadv_v_ogm_iface_enable(struct batadv_hard_iface *hard_iface);
20 void batadv_v_ogm_iface_disable(struct batadv_hard_iface *hard_iface);
H A Dtypes.h2196 void (*activate)(struct batadv_hard_iface *hard_iface);
2199 int (*enable)(struct batadv_hard_iface *hard_iface);
2202 void (*enabled)(struct batadv_hard_iface *hard_iface);
2205 void (*disable)(struct batadv_hard_iface *hard_iface);
2211 void (*update_mac)(struct batadv_hard_iface *hard_iface);
2214 void (*primary_set)(struct batadv_hard_iface *hard_iface);
2246 struct batadv_hard_iface *hard_iface);
2256 struct batadv_hard_iface *hard_iface);
H A Doriginator.h28 batadv_hardif_neigh_get(const struct batadv_hard_iface *hard_iface,
33 struct batadv_hard_iface *hard_iface,
H A Drouting.h16 struct batadv_hard_iface *hard_iface,
H A Drouting.c178 struct batadv_hard_iface *hard_iface, in batadv_check_management_packet() argument