Symbol: ipnet
usr/src/uts/common/inet/ipnet.h
143
struct ipnet;
usr/src/uts/common/inet/ipnet.h
145
typedef boolean_t ipnet_acceptfn_t(struct ipnet *, struct hook_pkt_observe_s *,
usr/src/uts/common/inet/ipnet/ipnet.c
1010
ipnet_get_addrtype(ipnet_t *ipnet, ipnet_addrp_t *addr)
usr/src/uts/common/inet/ipnet/ipnet.c
1013
ipnetif_t *ipnetif = ipnet->ipnet_if;
usr/src/uts/common/inet/ipnet/ipnet.c
1044
if (ipnet->ipnet_zoneid != GLOBAL_ZONEID &&
usr/src/uts/common/inet/ipnet/ipnet.c
1045
ipnet->ipnet_zoneid != ifaddr->ifa_zone)
usr/src/uts/common/inet/ipnet/ipnet.c
1073
ipnet_accept(ipnet_t *ipnet, hook_pkt_observe_t *hdr, ipnet_addrp_t *src,
usr/src/uts/common/inet/ipnet/ipnet.c
1077
uint64_t ifindex = ipnet->ipnet_if->if_index;
usr/src/uts/common/inet/ipnet/ipnet.c
1081
srctype = ipnet_get_addrtype(ipnet, src);
usr/src/uts/common/inet/ipnet/ipnet.c
1082
dsttype = ipnet_get_addrtype(ipnet, dst);
usr/src/uts/common/inet/ipnet/ipnet.c
1104
if (ipnet->ipnet_zoneid != GLOBAL_ZONEID &&
usr/src/uts/common/inet/ipnet/ipnet.c
1106
if (ipnet->ipnet_zoneid != ntohl(hdr->hpo_zsrc) &&
usr/src/uts/common/inet/ipnet/ipnet.c
1107
ipnet->ipnet_zoneid != ntohl(hdr->hpo_zdst))
usr/src/uts/common/inet/ipnet/ipnet.c
1115
if (!(ipnet->ipnet_flags & IPNET_PROMISC_SAP) &&
usr/src/uts/common/inet/ipnet/ipnet.c
1116
ipnet->ipnet_family != hdr->hpo_family)
usr/src/uts/common/inet/ipnet/ipnet.c
1128
if (ipnet->ipnet_flags & IPNET_PROMISC_PHYS) {
usr/src/uts/common/inet/ipnet/ipnet.c
1149
ipnet_loaccept(ipnet_t *ipnet, hook_pkt_observe_t *hdr, ipnet_addrp_t *src,
usr/src/uts/common/inet/ipnet/ipnet.c
1156
if (ipnet->ipnet_if == NULL)
usr/src/uts/common/inet/ipnet/ipnet.c
1163
if (ipnet->ipnet_zoneid != GLOBAL_ZONEID) {
usr/src/uts/common/inet/ipnet/ipnet.c
1164
if (ipnet->ipnet_zoneid != ntohl(hdr->hpo_zsrc) &&
usr/src/uts/common/inet/ipnet/ipnet.c
1165
ipnet->ipnet_zoneid != ntohl(hdr->hpo_zdst))
usr/src/uts/common/inet/ipnet/ipnet.c
1169
return (ipnet->ipnet_family == AF_UNSPEC ||
usr/src/uts/common/inet/ipnet/ipnet.c
1170
ipnet->ipnet_family == hdr->hpo_family);
usr/src/uts/common/inet/ipnet/ipnet.c
1178
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
1202
for (ipnet = list_head(list); ipnet != NULL;
usr/src/uts/common/inet/ipnet/ipnet.c
1203
ipnet = list_next(list, ipnet)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1204
if (!(*ipnet->ipnet_acceptfn)(ipnet, hdr, &src, &dst)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1210
if (list_next(list, ipnet) == NULL) {
usr/src/uts/common/inet/ipnet/ipnet.c
1221
if (ipnet->ipnet_flags & IPNET_INFO) {
usr/src/uts/common/inet/ipnet/ipnet.c
1228
if (ipnet->ipnet_rq->q_first == NULL &&
usr/src/uts/common/inet/ipnet/ipnet.c
1229
canputnext(ipnet->ipnet_rq)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1230
putnext(ipnet->ipnet_rq, netmp);
usr/src/uts/common/inet/ipnet/ipnet.c
1232
} else if (canput(ipnet->ipnet_rq)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1233
(void) putq(ipnet->ipnet_rq, netmp);
usr/src/uts/common/inet/ipnet/ipnet.c
1330
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
1334
for (ipnet = list_head(&ips->ips_str_list); ipnet != NULL;
usr/src/uts/common/inet/ipnet/ipnet.c
1335
ipnet = list_next(&ips->ips_str_list, ipnet)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1336
if (ipnet->ipnet_if == ipnetif)
usr/src/uts/common/inet/ipnet/ipnet.c
1337
(void) putnextctl(ipnet->ipnet_rq, M_HANGUP);
usr/src/uts/common/inet/ipnet/ipnet.c
1812
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
1815
for (ipnet = list_head(strlist); ipnet != NULL;
usr/src/uts/common/inet/ipnet/ipnet.c
1816
ipnet = list_next(strlist, ipnet)) {
usr/src/uts/common/inet/ipnet/ipnet.c
1817
if (ipnet->ipnet_if != ipnetif)
usr/src/uts/common/inet/ipnet/ipnet.c
1819
if (!ipnetif_in_zone(ipnetif, ipnet->ipnet_zoneid, ips))
usr/src/uts/common/inet/ipnet/ipnet.c
1820
(void) putnextctl(ipnet->ipnet_rq, M_HANGUP);
usr/src/uts/common/inet/ipnet/ipnet.c
2186
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
2202
ipnet = kmem_zalloc(sizeof (*ipnet), KM_SLEEP);
usr/src/uts/common/inet/ipnet/ipnet.c
2203
ipnet->ipnet_if = ifp;
usr/src/uts/common/inet/ipnet/ipnet.c
2204
ipnet->ipnet_ns = ns;
usr/src/uts/common/inet/ipnet/ipnet.c
2205
ipnet->ipnet_flags = flags;
usr/src/uts/common/inet/ipnet/ipnet.c
2208
ipnet->ipnet_acceptfn = ipnet_loaccept;
usr/src/uts/common/inet/ipnet/ipnet.c
2210
ipnet->ipnet_acceptfn = ipnet_accept;
usr/src/uts/common/inet/ipnet/ipnet.c
2217
HOOK_INIT(ipnet->ipnet_hook, ipnet_bpf_bounce, "", ipnet);
usr/src/uts/common/inet/ipnet/ipnet.c
2219
(void *)ipnet->ipnet_hook);
usr/src/uts/common/inet/ipnet/ipnet.c
2220
ipnet->ipnet_hook->h_name = strdup(name);
usr/src/uts/common/inet/ipnet/ipnet.c
2221
ipnet->ipnet_data = data;
usr/src/uts/common/inet/ipnet/ipnet.c
2222
ipnet->ipnet_zoneid = ifp->if_zoneid;
usr/src/uts/common/inet/ipnet/ipnet.c
2227
ipnet->ipnet_hook);
usr/src/uts/common/inet/ipnet/ipnet.c
2232
ipnet->ipnet_hook);
usr/src/uts/common/inet/ipnet/ipnet.c
2235
NH_OBSERVE, ipnet->ipnet_hook);
usr/src/uts/common/inet/ipnet/ipnet.c
2239
*mhandle = (uintptr_t)ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
2246
strfree(ipnet->ipnet_hook->h_name);
usr/src/uts/common/inet/ipnet/ipnet.c
2247
hook_free(ipnet->ipnet_hook);
usr/src/uts/common/inet/ipnet/ipnet.c
2256
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
2259
ipnet = data;
usr/src/uts/common/inet/ipnet/ipnet.c
2260
ipst = ipnet->ipnet_ns->netstack_ip;
usr/src/uts/common/inet/ipnet/ipnet.c
2261
hook = ipnet->ipnet_hook;
usr/src/uts/common/inet/ipnet/ipnet.c
2273
kmem_free(ipnet, sizeof (*ipnet));
usr/src/uts/common/inet/ipnet/ipnet.c
2293
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
2299
ipnet = (ipnet_t *)arg;
usr/src/uts/common/inet/ipnet/ipnet.c
2314
if (!(*ipnet->ipnet_acceptfn)(ipnet, hdr, &src, &dst)) {
usr/src/uts/common/inet/ipnet/ipnet.c
2320
ipnet_itap(ipnet->ipnet_data, mp,
usr/src/uts/common/inet/ipnet/ipnet.c
511
ipnet_t *ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
532
if ((ipnet = kmem_zalloc(sizeof (*ipnet), KM_NOSLEEP)) == NULL)
usr/src/uts/common/inet/ipnet/ipnet.c
538
rq->q_ptr = WR(rq)->q_ptr = ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
539
ipnet->ipnet_rq = rq;
usr/src/uts/common/inet/ipnet/ipnet.c
540
ipnet->ipnet_minor = (minor_t)id_alloc(ipnet_minor_space);
usr/src/uts/common/inet/ipnet/ipnet.c
541
ipnet->ipnet_zoneid = zoneid;
usr/src/uts/common/inet/ipnet/ipnet.c
542
ipnet->ipnet_dlstate = DL_UNBOUND;
usr/src/uts/common/inet/ipnet/ipnet.c
543
ipnet->ipnet_ns = ns;
usr/src/uts/common/inet/ipnet/ipnet.c
552
ipnet->ipnet_flags |= IPNET_LOMODE;
usr/src/uts/common/inet/ipnet/ipnet.c
553
ipnet->ipnet_acceptfn = ipnet_loaccept;
usr/src/uts/common/inet/ipnet/ipnet.c
555
ipnet->ipnet_acceptfn = ipnet_accept;
usr/src/uts/common/inet/ipnet/ipnet.c
556
ipnet->ipnet_if = ipnetif_getby_dev(*dev, ips);
usr/src/uts/common/inet/ipnet/ipnet.c
557
if (ipnet->ipnet_if == NULL ||
usr/src/uts/common/inet/ipnet/ipnet.c
558
!ipnetif_in_zone(ipnet->ipnet_if, zoneid, ips)) {
usr/src/uts/common/inet/ipnet/ipnet.c
567
list_insert_head(&ips->ips_str_list, ipnet);
usr/src/uts/common/inet/ipnet/ipnet.c
568
*dev = makedevice(getmajor(*dev), ipnet->ipnet_minor);
usr/src/uts/common/inet/ipnet/ipnet.c
583
id_free(ipnet_minor_space, ipnet->ipnet_minor);
usr/src/uts/common/inet/ipnet/ipnet.c
584
if (ipnet->ipnet_if != NULL)
usr/src/uts/common/inet/ipnet/ipnet.c
585
ipnetif_refrele(ipnet->ipnet_if);
usr/src/uts/common/inet/ipnet/ipnet.c
586
kmem_free(ipnet, sizeof (*ipnet));
usr/src/uts/common/inet/ipnet/ipnet.c
595
ipnet_t *ipnet = rq->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
596
ipnet_stack_t *ips = ipnet->ipnet_ns->netstack_ipnet;
usr/src/uts/common/inet/ipnet/ipnet.c
598
if (ipnet->ipnet_flags & IPNET_PROMISC_PHYS)
usr/src/uts/common/inet/ipnet/ipnet.c
599
ipnet_leave_allmulti(ipnet->ipnet_if, ips);
usr/src/uts/common/inet/ipnet/ipnet.c
600
if (ipnet->ipnet_flags & IPNET_PROMISC_MULTI)
usr/src/uts/common/inet/ipnet/ipnet.c
601
ipnet_leave_allmulti(ipnet->ipnet_if, ips);
usr/src/uts/common/inet/ipnet/ipnet.c
609
list_remove(&ips->ips_str_list, ipnet);
usr/src/uts/common/inet/ipnet/ipnet.c
610
if (ipnet->ipnet_if != NULL)
usr/src/uts/common/inet/ipnet/ipnet.c
611
ipnetif_refrele(ipnet->ipnet_if);
usr/src/uts/common/inet/ipnet/ipnet.c
612
id_free(ipnet_minor_space, ipnet->ipnet_minor);
usr/src/uts/common/inet/ipnet/ipnet.c
619
kmem_free(ipnet, sizeof (*ipnet));
usr/src/uts/common/inet/ipnet/ipnet.c
701
ipnet_t *ipnet = q->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
706
ipnet->ipnet_flags |= IPNET_INFO;
usr/src/uts/common/inet/ipnet/ipnet.c
708
ipnet->ipnet_flags &= ~IPNET_INFO;
usr/src/uts/common/inet/ipnet/ipnet.c
780
ipnet_t *ipnet = q->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
789
ipnet->ipnet_family = AF_UNSPEC;
usr/src/uts/common/inet/ipnet/ipnet.c
792
ipnet->ipnet_family = AF_INET;
usr/src/uts/common/inet/ipnet/ipnet.c
795
ipnet->ipnet_family = AF_INET6;
usr/src/uts/common/inet/ipnet/ipnet.c
803
ipnet->ipnet_dlstate = DL_IDLE;
usr/src/uts/common/inet/ipnet/ipnet.c
810
ipnet_t *ipnet = q->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
817
if (ipnet->ipnet_dlstate != DL_IDLE) {
usr/src/uts/common/inet/ipnet/ipnet.c
820
ipnet->ipnet_dlstate = DL_UNBOUND;
usr/src/uts/common/inet/ipnet/ipnet.c
821
ipnet->ipnet_family = AF_UNSPEC;
usr/src/uts/common/inet/ipnet/ipnet.c
829
ipnet_t *ipnet = q->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
838
if (ipnet->ipnet_flags & IPNET_LOMODE) {
usr/src/uts/common/inet/ipnet/ipnet.c
845
if ((err = ipnet_join_allmulti(ipnet->ipnet_if,
usr/src/uts/common/inet/ipnet/ipnet.c
846
ipnet->ipnet_ns->netstack_ipnet)) != 0) {
usr/src/uts/common/inet/ipnet/ipnet.c
854
ipnet->ipnet_flags |= IPNET_PROMISC_PHYS;
usr/src/uts/common/inet/ipnet/ipnet.c
857
ipnet->ipnet_flags |= IPNET_PROMISC_SAP;
usr/src/uts/common/inet/ipnet/ipnet.c
860
ipnet->ipnet_flags |= IPNET_PROMISC_MULTI;
usr/src/uts/common/inet/ipnet/ipnet.c
873
ipnet_t *ipnet = q->q_ptr;
usr/src/uts/common/inet/ipnet/ipnet.c
875
uint16_t orig_ipnet_flags = ipnet->ipnet_flags;
usr/src/uts/common/inet/ipnet/ipnet.c
882
if (ipnet->ipnet_flags & IPNET_LOMODE) {
usr/src/uts/common/inet/ipnet/ipnet.c
890
if (ipnet->ipnet_flags & IPNET_PROMISC_PHYS)
usr/src/uts/common/inet/ipnet/ipnet.c
891
ipnet->ipnet_flags &= ~IPNET_PROMISC_PHYS;
usr/src/uts/common/inet/ipnet/ipnet.c
894
if (ipnet->ipnet_flags & IPNET_PROMISC_SAP)
usr/src/uts/common/inet/ipnet/ipnet.c
895
ipnet->ipnet_flags &= ~IPNET_PROMISC_SAP;
usr/src/uts/common/inet/ipnet/ipnet.c
898
if (ipnet->ipnet_flags & IPNET_PROMISC_MULTI)
usr/src/uts/common/inet/ipnet/ipnet.c
899
ipnet->ipnet_flags &= ~IPNET_PROMISC_MULTI;
usr/src/uts/common/inet/ipnet/ipnet.c
906
if (orig_ipnet_flags == ipnet->ipnet_flags) {
usr/src/uts/common/inet/ipnet/ipnet.c
912
ipnet_leave_allmulti(ipnet->ipnet_if,
usr/src/uts/common/inet/ipnet/ipnet.c
913
ipnet->ipnet_ns->netstack_ipnet);