Lines Matching refs:orig_node
141 struct batadv_orig_node *orig_node;
144 orig_node = batadv_orig_hash_find(bat_priv, addr);
145 if (orig_node)
146 return orig_node;
148 orig_node = batadv_orig_node_new(bat_priv, addr);
149 if (!orig_node)
152 spin_lock_init(&orig_node->bat_iv.ogm_cnt_lock);
154 kref_get(&orig_node->refcount);
156 batadv_choose_orig, orig_node,
157 &orig_node->hash_entry);
161 return orig_node;
165 batadv_orig_node_put(orig_node);
167 batadv_orig_node_put(orig_node);
175 struct batadv_orig_node *orig_node,
180 neigh_node = batadv_neigh_node_get_or_create(orig_node,
185 neigh_node->orig_node = orig_neigh;
681 static void batadv_iv_ogm_forward(struct batadv_orig_node *orig_node,
745 struct batadv_orig_node *orig_node;
755 hlist_for_each_entry_rcu(orig_node, head, hash_entry) {
757 &orig_node->ifinfo_list,
762 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);
768 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock);
874 * @orig_node: originator which reproadcasted the OGMs directly
882 static u8 batadv_iv_orig_ifinfo_sum(struct batadv_orig_node *orig_node,
888 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, if_outgoing);
892 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);
894 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock);
905 * @orig_node: the orig node who originally emitted the ogm packet
906 * @orig_ifinfo: ifinfo for the outgoing interface of the orig_node
915 struct batadv_orig_node *orig_node,
938 &orig_node->neigh_list, list) {
978 orig_node, orig_tmp);
1011 router = batadv_orig_router_get(orig_node, if_outgoing);
1032 sum_orig = batadv_iv_orig_ifinfo_sum(router->orig_node,
1034 sum_neigh = batadv_iv_orig_ifinfo_sum(neigh_node->orig_node,
1040 batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node);
1054 * @orig_node: the orig node who originally emitted the ogm packet
1062 static bool batadv_iv_ogm_calc_tq(struct batadv_orig_node *orig_node,
1107 /* if orig_node is direct neighbor update neigh_node last_seen */
1108 if (orig_node == orig_neigh_node)
1111 orig_node->last_seen = jiffies;
1177 orig_node->orig, orig_neigh_node->orig, total_count,
1211 struct batadv_orig_node *orig_node;
1225 orig_node = batadv_iv_ogm_orig_get(bat_priv, batadv_ogm_packet->orig);
1226 if (!orig_node)
1229 orig_ifinfo = batadv_orig_ifinfo_new(orig_node, if_outgoing);
1231 batadv_orig_node_put(orig_node);
1235 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);
1239 if (!hlist_empty(&orig_node->neigh_list) &&
1248 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) {
1291 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock);
1292 batadv_orig_node_put(orig_node);
1302 * @orig_node: the (cached) orig node for the originator of this OGM
1308 struct batadv_orig_node *orig_node,
1365 router = batadv_orig_router_get(orig_node, if_outgoing);
1367 router_router = batadv_orig_router_get(router->orig_node,
1389 batadv_tvlv_ogm_receive(bat_priv, ogm_packet, orig_node);
1395 orig_neigh_node = orig_node;
1404 batadv_nc_update_nc_node(bat_priv, orig_node, orig_neigh_node,
1419 is_bidirect = batadv_iv_ogm_calc_tq(orig_node, orig_neigh_node,
1426 orig_ifinfo = batadv_orig_ifinfo_new(orig_node, if_outgoing);
1435 batadv_iv_ogm_orig_update(bat_priv, orig_node,
1458 batadv_iv_ogm_forward(orig_node, ethhdr, ogm_packet,
1483 batadv_iv_ogm_forward(orig_node, ethhdr, ogm_packet,
1504 * @orig_node: originator which reproadcasted the OGMs
1509 struct batadv_orig_node *orig_node,
1526 orig_ifinfo = batadv_orig_ifinfo_get(orig_node, if_incoming);
1531 spin_lock_bh(&orig_node->bat_iv.ogm_cnt_lock);
1538 spin_unlock_bh(&orig_node->bat_iv.ogm_cnt_lock);
1553 struct batadv_orig_node *orig_neigh_node, *orig_node;
1655 orig_node = batadv_iv_ogm_orig_get(bat_priv, ogm_packet->orig);
1656 if (!orig_node)
1659 batadv_iv_ogm_process_per_outif(skb, ogm_offset, orig_node,
1673 batadv_iv_ogm_process_per_outif(skb, ogm_offset, orig_node,
1680 batadv_orig_node_put(orig_node);
1805 * @orig_node: Originator to dump
1815 struct batadv_orig_node *orig_node,
1823 last_seen_msecs = jiffies_to_msecs(jiffies - orig_node->last_seen);
1838 orig_node->orig) ||
1868 * @orig_node: Originator to dump
1879 struct batadv_orig_node *orig_node, int *sub_s)
1887 neigh_node_best = batadv_orig_router_get(orig_node, if_outgoing);
1898 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) {
1906 orig_node, neigh_node,
1942 struct batadv_orig_node *orig_node;
1946 hlist_for_each_entry_rcu(orig_node, head, hash_entry) {
1951 if_outgoing, orig_node,
2257 struct batadv_orig_node *orig_node;
2261 orig_node = gw_node->orig_node;
2262 router = batadv_orig_router_get(orig_node, BATADV_IF_DEFAULT);
2326 struct batadv_orig_node *orig_node)
2352 router_orig = batadv_orig_router_get(orig_node, BATADV_IF_DEFAULT);
2410 router = batadv_orig_router_get(gw_node->orig_node, BATADV_IF_DEFAULT);
2439 gw_node->orig_node->orig) ||