Lines Matching refs:peer
88 static inline void peer_add(struct lowpan_dev *dev, struct lowpan_peer *peer) in peer_add() argument
90 list_add_rcu(&peer->list, &dev->peers); in peer_add()
94 static inline bool peer_del(struct lowpan_dev *dev, struct lowpan_peer *peer) in peer_del() argument
96 list_del_rcu(&peer->list); in peer_del()
97 kfree_rcu(peer, rcu); in peer_del()
112 struct lowpan_peer *peer; in peer_lookup_ba() local
119 list_for_each_entry_rcu(peer, &dev->peers, list) { in peer_lookup_ba()
121 &peer->chan->dst, peer->chan->dst_type); in peer_lookup_ba()
123 if (bacmp(&peer->chan->dst, ba)) in peer_lookup_ba()
126 if (type == peer->chan->dst_type) { in peer_lookup_ba()
128 return peer; in peer_lookup_ba()
140 struct lowpan_peer *peer; in __peer_lookup_chan() local
142 list_for_each_entry_rcu(peer, &dev->peers, list) { in __peer_lookup_chan()
143 if (peer->chan == chan) in __peer_lookup_chan()
144 return peer; in __peer_lookup_chan()
153 struct lowpan_peer *peer; in __peer_lookup_conn() local
155 list_for_each_entry_rcu(peer, &dev->peers, list) { in __peer_lookup_conn()
156 if (peer->chan->conn == conn) in __peer_lookup_conn()
157 return peer; in __peer_lookup_conn()
167 struct lowpan_peer *peer; in peer_lookup_dst() local
180 peer = list_first_or_null_rcu(&dev->peers, struct lowpan_peer, in peer_lookup_dst()
183 return peer; in peer_lookup_dst()
205 list_for_each_entry_rcu(peer, &dev->peers, list) { in peer_lookup_dst()
207 &peer->chan->dst, peer->chan->dst_type, in peer_lookup_dst()
208 &peer->peer_addr); in peer_lookup_dst()
210 if (!ipv6_addr_cmp(&peer->peer_addr, nexthop)) { in peer_lookup_dst()
212 return peer; in peer_lookup_dst()
224 struct lowpan_peer *peer = NULL; in lookup_peer() local
229 peer = __peer_lookup_conn(entry, conn); in lookup_peer()
230 if (peer) in lookup_peer()
236 return peer; in lookup_peer()
274 struct lowpan_peer *peer; in iphc_decompress() local
279 peer = __peer_lookup_chan(dev, chan); in iphc_decompress()
281 if (!peer) in iphc_decompress()
284 saddr = peer->eui64_addr; in iphc_decompress()
379 struct lowpan_peer *peer; in chan_recv_cb() local
382 peer = lookup_peer(chan->conn); in chan_recv_cb()
383 if (!peer) in chan_recv_cb()
435 struct lowpan_peer *peer; in setup_header() local
457 peer = peer_lookup_ba(dev, &addr, addr_type); in setup_header()
458 if (!peer) { in setup_header()
464 peer = peer_lookup_dst(dev, &ipv6_daddr, skb); in setup_header()
465 if (!peer) { in setup_header()
471 daddr = peer->eui64_addr; in setup_header()
474 lowpan_cb(skb)->chan = peer->chan; in setup_header()
771 struct lowpan_peer *peer; in add_peer_chan() local
773 peer = kzalloc(sizeof(*peer), GFP_ATOMIC); in add_peer_chan()
774 if (!peer) in add_peer_chan()
777 peer->chan = chan; in add_peer_chan()
778 memset(&peer->peer_addr, 0, sizeof(struct in6_addr)); in add_peer_chan()
781 peer->peer_addr.s6_addr[0] = 0xFE; in add_peer_chan()
782 peer->peer_addr.s6_addr[1] = 0x80; in add_peer_chan()
783 set_addr((u8 *)&peer->peer_addr.s6_addr + 8, chan->dst.b, in add_peer_chan()
786 memcpy(&peer->eui64_addr, (u8 *)&peer->peer_addr.s6_addr + 8, in add_peer_chan()
792 set_ip_addr_bits(chan->dst_type, (u8 *)&peer->peer_addr.s6_addr + 8); in add_peer_chan()
795 INIT_LIST_HEAD(&peer->list); in add_peer_chan()
796 peer_add(dev, peer); in add_peer_chan()
803 return peer->chan; in add_peer_chan()
907 struct lowpan_peer *peer; in chan_close_cb() local
927 peer = __peer_lookup_chan(dev, chan); in chan_close_cb()
928 if (peer) { in chan_close_cb()
929 last = peer_del(dev, peer); in chan_close_cb()
933 last ? "last " : "1 ", peer); in chan_close_cb()
1054 struct lowpan_peer *peer; in bt_6lowpan_disconnect() local
1058 peer = lookup_peer(conn); in bt_6lowpan_disconnect()
1059 if (!peer) in bt_6lowpan_disconnect()
1062 BT_DBG("peer %p chan %p", peer, peer->chan); in bt_6lowpan_disconnect()
1064 l2cap_chan_close(peer->chan, ENOENT); in bt_6lowpan_disconnect()
1137 struct lowpan_peer *peer, *tmp_peer, *new_peer; in disconnect_all_peers() local
1150 list_for_each_entry_rcu(peer, &entry->peers, list) { in disconnect_all_peers()
1155 new_peer->chan = peer->chan; in disconnect_all_peers()
1165 list_for_each_entry_safe(peer, tmp_peer, &peers, list) { in disconnect_all_peers()
1166 l2cap_chan_close(peer->chan, ENOENT); in disconnect_all_peers()
1168 list_del_rcu(&peer->list); in disconnect_all_peers()
1169 kfree_rcu(peer, rcu); in disconnect_all_peers()
1256 struct lowpan_peer *peer; in lowpan_control_write() local
1261 peer = lookup_peer(conn); in lowpan_control_write()
1262 if (peer) { in lowpan_control_write()
1297 struct lowpan_peer *peer; in lowpan_control_show() local
1302 list_for_each_entry(peer, &entry->peers, list) in lowpan_control_show()
1304 &peer->chan->dst, peer->chan->dst_type); in lowpan_control_show()