Lines Matching refs:ipst
119 ip_srcid_insert(const in6_addr_t *addr, zoneid_t zoneid, ip_stack_t *ipst)
129 rw_enter(&ipst->ips_srcid_lock, RW_WRITER);
130 smpp = srcid_lookup_addr(addr, zoneid, ipst);
135 rw_exit(&ipst->ips_srcid_lock);
141 rw_exit(&ipst->ips_srcid_lock);
146 (*smpp)->sm_srcid = srcid_nextid(ipst);
150 rw_exit(&ipst->ips_srcid_lock);
159 ip_srcid_remove(const in6_addr_t *addr, zoneid_t zoneid, ip_stack_t *ipst)
170 rw_enter(&ipst->ips_srcid_lock, RW_WRITER);
171 smpp = srcid_lookup_addr(addr, zoneid, ipst);
175 rw_exit(&ipst->ips_srcid_lock);
183 rw_exit(&ipst->ips_srcid_lock);
188 rw_exit(&ipst->ips_srcid_lock);
205 ip_stack_t *ipst = ns->netstack_ip;
207 rw_enter(&ipst->ips_srcid_lock, RW_READER);
208 smpp = srcid_lookup_addr(addr, zoneid, ipst);
221 rw_exit(&ipst->ips_srcid_lock);
242 ip_stack_t *ipst = ns->netstack_ip;
245 rw_enter(&ipst->ips_srcid_lock, RW_READER);
246 smpp = srcid_lookup_id(id, ipst);
268 rw_exit(&ipst->ips_srcid_lock);
274 srcid_nextid(ip_stack_t *ipst)
279 ASSERT(rw_owner(&ipst->ips_srcid_lock) == curthread);
281 if (!ipst->ips_srcid_wrapped) {
282 id = ipst->ips_ip_src_id++;
283 if (ipst->ips_ip_src_id == 0)
284 ipst->ips_srcid_wrapped = B_TRUE;
289 smpp = srcid_lookup_id(id, ipst);
304 srcid_lookup_addr(const in6_addr_t *addr, zoneid_t zoneid, ip_stack_t *ipst)
308 ASSERT(RW_LOCK_HELD(&ipst->ips_srcid_lock));
309 smpp = &ipst->ips_srcid_head;
326 srcid_lookup_id(uint_t id, ip_stack_t *ipst)
330 ASSERT(RW_LOCK_HELD(&ipst->ips_srcid_lock));
331 smpp = &ipst->ips_srcid_head;