Symbol: ire
usr/src/cmd/mdb/common/modules/genunix/net.c
1004
if (ire->ire_ipversion != IPV6_VERSION)
usr/src/cmd/mdb/common/modules/genunix/net.c
1009
(ire->ire_type &
usr/src/cmd/mdb/common/modules/genunix/net.c
1030
gatep = &ire->ire_gateway_addr_v6;
usr/src/cmd/mdb/common/modules/genunix/net.c
1032
masklen = ip_mask_to_plen_v6(&ire->ire_mask_v6);
usr/src/cmd/mdb/common/modules/genunix/net.c
1034
&ire->ire_addr_v6, masklen);
usr/src/cmd/mdb/common/modules/genunix/net.c
1036
get_ireflags(ire, flags);
usr/src/cmd/mdb/common/modules/genunix/net.c
1038
get_ifname(ire, intf);
usr/src/cmd/mdb/common/modules/genunix/net.c
1044
ire->ire_metrics.iulp_rtt, ire->ire_refcnt,
usr/src/cmd/mdb/common/modules/genunix/net.c
1045
flags, ire->ire_ob_pkt_count, ire->ire_ib_pkt_count);
usr/src/cmd/mdb/common/modules/genunix/net.c
1049
ire->ire_refcnt,
usr/src/cmd/mdb/common/modules/genunix/net.c
1050
ire->ire_ob_pkt_count + ire->ire_ib_pkt_count, intf);
usr/src/cmd/mdb/common/modules/genunix/net.c
857
get_ifname(const ire_t *ire, char *intf)
usr/src/cmd/mdb/common/modules/genunix/net.c
862
if (ire->ire_ill != NULL) {
usr/src/cmd/mdb/common/modules/genunix/net.c
864
(uintptr_t)ire->ire_ill) == -1)
usr/src/cmd/mdb/common/modules/genunix/net.c
875
get_ireflags(const ire_t *ire, char *flags)
usr/src/cmd/mdb/common/modules/genunix/net.c
879
if (ire->ire_flags & RTF_INDIRECT)
usr/src/cmd/mdb/common/modules/genunix/net.c
881
else if (ire->ire_type & IRE_OFFLINK)
usr/src/cmd/mdb/common/modules/genunix/net.c
885
if (ire->ire_type & IRE_IF_CLONE)
usr/src/cmd/mdb/common/modules/genunix/net.c
887
else if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/cmd/mdb/common/modules/genunix/net.c
888
if (ire->ire_mask == IP_HOST_MASK)
usr/src/cmd/mdb/common/modules/genunix/net.c
891
if (IN6_ARE_ADDR_EQUAL(&ire->ire_mask_v6, &ipv6_all_ones))
usr/src/cmd/mdb/common/modules/genunix/net.c
895
if (ire->ire_flags & RTF_DYNAMIC)
usr/src/cmd/mdb/common/modules/genunix/net.c
897
if (ire->ire_type == IRE_BROADCAST)
usr/src/cmd/mdb/common/modules/genunix/net.c
899
if (ire->ire_type == IRE_MULTICAST)
usr/src/cmd/mdb/common/modules/genunix/net.c
901
if (ire->ire_type == IRE_LOCAL)
usr/src/cmd/mdb/common/modules/genunix/net.c
903
if (ire->ire_type == IRE_NOROUTE)
usr/src/cmd/mdb/common/modules/genunix/net.c
905
if (ire->ire_flags & RTF_MULTIRT)
usr/src/cmd/mdb/common/modules/genunix/net.c
907
if (ire->ire_flags & RTF_SETSRC)
usr/src/cmd/mdb/common/modules/genunix/net.c
909
if (ire->ire_flags & RTF_REJECT)
usr/src/cmd/mdb/common/modules/genunix/net.c
911
if (ire->ire_flags & RTF_BLACKHOLE)
usr/src/cmd/mdb/common/modules/genunix/net.c
918
const ire_t *ire = walk_data;
usr/src/cmd/mdb/common/modules/genunix/net.c
923
if (ire->ire_ipversion != IPV4_VERSION)
usr/src/cmd/mdb/common/modules/genunix/net.c
928
(ire->ire_type &
usr/src/cmd/mdb/common/modules/genunix/net.c
949
gate = ire->ire_gateway_addr;
usr/src/cmd/mdb/common/modules/genunix/net.c
951
get_ireflags(ire, flags);
usr/src/cmd/mdb/common/modules/genunix/net.c
953
get_ifname(ire, intf);
usr/src/cmd/mdb/common/modules/genunix/net.c
957
"%u\n", kaddr, ADDR_V4_WIDTH, ire->ire_addr, ADDR_V4_WIDTH,
usr/src/cmd/mdb/common/modules/genunix/net.c
958
ire->ire_mask, ADDR_V4_WIDTH, gate, intf,
usr/src/cmd/mdb/common/modules/genunix/net.c
960
ire->ire_metrics.iulp_rtt, ire->ire_refcnt, flags,
usr/src/cmd/mdb/common/modules/genunix/net.c
961
ire->ire_ob_pkt_count, ire->ire_ib_pkt_count);
usr/src/cmd/mdb/common/modules/genunix/net.c
964
ADDR_V4_WIDTH, ire->ire_addr, ADDR_V4_WIDTH, gate, flags,
usr/src/cmd/mdb/common/modules/genunix/net.c
965
ire->ire_refcnt,
usr/src/cmd/mdb/common/modules/genunix/net.c
966
ire->ire_ob_pkt_count + ire->ire_ib_pkt_count, intf);
usr/src/cmd/mdb/common/modules/genunix/net.c
997
const ire_t *ire = walk_data;
usr/src/cmd/mdb/common/modules/ip/ip.c
1603
ire_t ire;
usr/src/cmd/mdb/common/modules/ip/ip.c
1653
(void) mdb_vread(&ire, sizeof (ire_t), addr);
usr/src/cmd/mdb/common/modules/ip/ip.c
1654
(void) ire_format(addr, &ire, &ire_cb);
usr/src/cmd/mdb/common/modules/ip/ip.c
1935
"display Internet Route Entry structures", ire },
usr/src/cmd/mdb/common/modules/ip/ip.c
839
ire_t ire;
usr/src/cmd/mdb/common/modules/ip/ip.c
841
if (mdb_vread(&ire, sizeof (ire), wsp->walk_addr) == -1) {
usr/src/cmd/mdb/common/modules/ip/ip.c
847
if ((wsp->walk_data != NULL) && (wsp->walk_data != ire.ire_ipst))
usr/src/cmd/mdb/common/modules/ip/ip.c
850
return (wsp->walk_callback(wsp->walk_addr, &ire, wsp->walk_cbdata));
usr/src/cmd/mdb/common/modules/ip/ip.c
863
ire_t ire;
usr/src/cmd/mdb/common/modules/ip/ip.c
870
if (mdb_vread(&ire, sizeof (ire), wsp->walk_addr) == -1) {
usr/src/cmd/mdb/common/modules/ip/ip.c
874
status = wsp->walk_callback(wsp->walk_addr, &ire,
usr/src/cmd/mdb/common/modules/ip/ip.c
880
wsp->walk_addr = (uintptr_t)ire.ire_next;
usr/src/uts/common/inet/ip.h
2743
#define IRE_IS_CONDEMNED(ire) \
usr/src/uts/common/inet/ip.h
2744
((ire)->ire_generation == IRE_GENERATION_CONDEMNED)
usr/src/uts/common/inet/ip/conn_opt.c
1253
ire_t *ire;
usr/src/uts/common/inet/ip/conn_opt.c
1260
ire = ire_ftable_lookup_v4(addr, 0, 0, IRE_ONLINK, NULL, zoneid,
usr/src/uts/common/inet/ip/conn_opt.c
1262
if (ire == NULL)
usr/src/uts/common/inet/ip/conn_opt.c
1264
ire_refrele(ire);
usr/src/uts/common/inet/ip/conn_opt.c
1681
ire_t *ire;
usr/src/uts/common/inet/ip/conn_opt.c
1689
ire = ire_ftable_lookup_v6(&sin6->sin6_addr,
usr/src/uts/common/inet/ip/conn_opt.c
1692
if (ire == NULL)
usr/src/uts/common/inet/ip/conn_opt.c
1694
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
10979
ip_snmp_get2_v4(ire_t *ire, iproutedata_t *ird)
usr/src/uts/common/inet/ip/ip.c
10987
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip.c
10989
ASSERT(ire->ire_ipversion == IPV4_VERSION);
usr/src/uts/common/inet/ip/ip.c
10992
if (ire->ire_testhidden)
usr/src/uts/common/inet/ip/ip.c
10994
if (ire->ire_type & IRE_IF_CLONE)
usr/src/uts/common/inet/ip/ip.c
11001
if ((attrp = ire->ire_gw_secattr) != NULL) {
usr/src/uts/common/inet/ip/ip.c
11013
re->ipRouteDest = ire->ire_addr;
usr/src/uts/common/inet/ip/ip.c
11014
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip.c
11026
re->ipRouteNextHop = ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/ip.c
11028
if (ire->ire_flags & (RTF_REJECT | RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip.c
11030
else if (ire->ire_type & IRE_ONLINK)
usr/src/uts/common/inet/ip/ip.c
11036
re->ipRouteAge = gethrestime_sec() - ire->ire_create_time;
usr/src/uts/common/inet/ip/ip.c
11037
re->ipRouteMask = ire->ire_mask;
usr/src/uts/common/inet/ip/ip.c
11039
re->ipRouteInfo.re_max_frag = ire->ire_metrics.iulp_mtu;
usr/src/uts/common/inet/ip/ip.c
11040
if (ire->ire_ill != NULL && re->ipRouteInfo.re_max_frag == 0)
usr/src/uts/common/inet/ip/ip.c
11041
re->ipRouteInfo.re_max_frag = ire->ire_ill->ill_mtu;
usr/src/uts/common/inet/ip/ip.c
11046
re->ipRouteInfo.re_ref = ire->ire_refcnt;
usr/src/uts/common/inet/ip/ip.c
11047
re->ipRouteInfo.re_obpkt = ire->ire_ob_pkt_count;
usr/src/uts/common/inet/ip/ip.c
11048
re->ipRouteInfo.re_ibpkt = ire->ire_ib_pkt_count;
usr/src/uts/common/inet/ip/ip.c
11049
re->ipRouteInfo.re_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip.c
11052
if (ire->ire_type & IRE_INTERFACE) {
usr/src/uts/common/inet/ip/ip.c
11056
child = ire->ire_dep_children;
usr/src/uts/common/inet/ip/ip.c
11065
if (ire->ire_flags & RTF_DYNAMIC) {
usr/src/uts/common/inet/ip/ip.c
11068
re->ipRouteInfo.re_ire_type = ire->ire_type;
usr/src/uts/common/inet/ip/ip.c
11101
ip_snmp_get2_v6_route(ire_t *ire, iproutedata_t *ird)
usr/src/uts/common/inet/ip/ip.c
11109
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip.c
11111
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip.c
11114
if (ire->ire_testhidden)
usr/src/uts/common/inet/ip/ip.c
11116
if (ire->ire_type & IRE_IF_CLONE)
usr/src/uts/common/inet/ip/ip.c
11123
if ((attrp = ire->ire_gw_secattr) != NULL) {
usr/src/uts/common/inet/ip/ip.c
11135
re->ipv6RouteDest = ire->ire_addr_v6;
usr/src/uts/common/inet/ip/ip.c
11136
re->ipv6RoutePfxLength = ip_mask_to_plen_v6(&ire->ire_mask_v6);
usr/src/uts/common/inet/ip/ip.c
11139
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip.c
11146
ASSERT(!(ire->ire_type & IRE_BROADCAST));
usr/src/uts/common/inet/ip/ip.c
11148
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip.c
11149
re->ipv6RouteNextHop = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip.c
11150
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip.c
11153
if (ire->ire_flags & (RTF_REJECT | RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip.c
11155
else if (ire->ire_type & IRE_ONLINK)
usr/src/uts/common/inet/ip/ip.c
11162
re->ipv6RouteAge = gethrestime_sec() - ire->ire_create_time;
usr/src/uts/common/inet/ip/ip.c
11166
re->ipv6RouteInfo.re_max_frag = ire->ire_metrics.iulp_mtu;
usr/src/uts/common/inet/ip/ip.c
11167
if (ire->ire_ill != NULL && re->ipv6RouteInfo.re_max_frag == 0)
usr/src/uts/common/inet/ip/ip.c
11168
re->ipv6RouteInfo.re_max_frag = ire->ire_ill->ill_mtu;
usr/src/uts/common/inet/ip/ip.c
11173
re->ipv6RouteInfo.re_obpkt = ire->ire_ob_pkt_count;
usr/src/uts/common/inet/ip/ip.c
11174
re->ipv6RouteInfo.re_ibpkt = ire->ire_ib_pkt_count;
usr/src/uts/common/inet/ip/ip.c
11175
re->ipv6RouteInfo.re_ref = ire->ire_refcnt;
usr/src/uts/common/inet/ip/ip.c
11176
re->ipv6RouteInfo.re_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip.c
11179
if (ire->ire_type & IRE_INTERFACE) {
usr/src/uts/common/inet/ip/ip.c
11183
child = ire->ire_dep_children;
usr/src/uts/common/inet/ip/ip.c
11191
if (ire->ire_flags & RTF_DYNAMIC) {
usr/src/uts/common/inet/ip/ip.c
11194
re->ipv6RouteInfo.re_ire_type = ire->ire_type;
usr/src/uts/common/inet/ip/ip.c
13048
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
13082
ire = ire_ftable_lookup_v4(dst, 0, 0,
usr/src/uts/common/inet/ip/ip.c
13087
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip.c
13093
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
13787
ire_t *ire, conn_t *connp, boolean_t checkonly, const in6_addr_t *v6group,
usr/src/uts/common/inet/ip/ip.c
13795
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip.c
13807
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip.c
13812
for (; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip.c
13813
if ((ire->ire_flags & RTF_MULTIRT) == 0)
usr/src/uts/common/inet/ip/ip.c
13818
if (ire->ire_ill != NULL)
usr/src/uts/common/inet/ip/ip.c
13822
if (!IN6_ARE_ADDR_EQUAL(&ire->ire_addr_v6, v6group))
usr/src/uts/common/inet/ip/ip.c
13825
ire_gw = ire_ftable_lookup_v6(&ire->ire_gateway_addr_v6,
usr/src/uts/common/inet/ip/ip.c
13826
0, 0, IRE_INTERFACE, ire->ire_ill, ALL_ZONES, NULL,
usr/src/uts/common/inet/ip/ip.c
13829
if (ire->ire_addr != group)
usr/src/uts/common/inet/ip/ip.c
13832
ire_gw = ire_ftable_lookup_v4(ire->ire_gateway_addr,
usr/src/uts/common/inet/ip/ip.c
13833
0, 0, IRE_INTERFACE, ire->ire_ill, ALL_ZONES, NULL,
usr/src/uts/common/inet/ip/ip.c
15182
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
15191
ire = ire_ftable_lookup_v4(addr, 0, 0, IRE_LOCAL | IRE_LOOPBACK,
usr/src/uts/common/inet/ip/ip.c
15193
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
15194
zoneid = IP_REAL_ZONEID(ire->ire_zoneid, ipst);
usr/src/uts/common/inet/ip/ip.c
15195
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
15205
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
15217
ire = ire_ftable_lookup_v6(addr, NULL, NULL, IRE_LOCAL | IRE_LOOPBACK,
usr/src/uts/common/inet/ip/ip.c
15219
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
15220
zoneid = IP_REAL_ZONEID(ire->ire_zoneid, ipst);
usr/src/uts/common/inet/ip/ip.c
15221
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
2633
ire_t *ire, *nire;
usr/src/uts/common/inet/ip/ip.c
2645
ire = ire_ftable_lookup_v4(gateway, 0, 0, IRE_ONLINK, NULL,
usr/src/uts/common/inet/ip/ip.c
2660
if (prev_ire == NULL || ire == NULL ||
usr/src/uts/common/inet/ip/ip.c
2663
!(ire->ire_type & IRE_IF_ALL) ||
usr/src/uts/common/inet/ip/ip.c
2668
if (ire != NULL)
usr/src/uts/common/inet/ip/ip.c
2669
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
2676
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
2699
ire = ire_create(
usr/src/uts/common/inet/ip/ip.c
2710
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip.c
2714
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip.c
2716
if (nire != NULL && nire != ire) {
usr/src/uts/common/inet/ip/ip.c
2722
ire = nire;
usr/src/uts/common/inet/ip/ip.c
2723
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
2724
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip.c
2789
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
2835
ire = ire_ftable_lookup_v4(ipha->ipha_dst, 0, 0,
usr/src/uts/common/inet/ip/ip.c
2838
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
2839
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
3082
ip_send_potential_redirect_v4(mblk_t *mp, ipha_t *ipha, ire_t *ire,
usr/src/uts/common/inet/ip/ip.c
3107
if ((ire->ire_type & IRE_ONLINK) ||
usr/src/uts/common/inet/ip/ip.c
3111
nhop_ire = ire_nexthop(ire);
usr/src/uts/common/inet/ip/ip.c
3392
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip.c
3432
ire = ip_select_route_v4(firsthop, *src_addrp, ixa,
usr/src/uts/common/inet/ip/ip.c
3434
ASSERT(ire != NULL); /* IRE_NOROUTE if none found */
usr/src/uts/common/inet/ip/ip.c
3447
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip.c
3470
if (!(ire->ire_type & IRE_HOST))
usr/src/uts/common/inet/ip/ip.c
3477
if ((ire->ire_type & (IRE_BROADCAST|IRE_MULTICAST)) &&
usr/src/uts/common/inet/ip/ip.c
3479
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
3480
ire = ire_reject(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip.c
3489
ire_refhold_notr(ire);
usr/src/uts/common/inet/ip/ip.c
3490
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
3492
ixa->ixa_ire = ire;
usr/src/uts/common/inet/ip/ip.c
3531
ixa->ixa_postfragfn = ire->ire_postfragfn;
usr/src/uts/common/inet/ip/ip.c
3534
if (!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/ip/ip.c
3536
nce = ire_to_nce(ire, firsthop, NULL);
usr/src/uts/common/inet/ip/ip.c
3554
if ((ire->ire_type & IRE_LOCAL) && ire->ire_zoneid != zoneid) {
usr/src/uts/common/inet/ip/ip.c
3555
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip.c
3559
if (!(ire->ire_type & (IRE_LOOPBACK|IRE_LOCAL|IRE_MULTICAST))) {
usr/src/uts/common/inet/ip/ip.c
3560
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip.c
3565
if (ire->ire_type & IRE_BROADCAST) {
usr/src/uts/common/inet/ip/ip.c
3590
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip.c
3602
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip.c
3613
!(ire->ire_type & (IRE_LOCAL|IRE_LOOPBACK|IRE_MULTICAST)) &&
usr/src/uts/common/inet/ip/ip.c
3614
!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/ip/ip.c
3615
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip.c
3640
if (ire->ire_type & (IRE_BROADCAST|IRE_MULTICAST))
usr/src/uts/common/inet/ip/ip.c
3666
rts_merge_metrics(uinfo, &ire->ire_metrics);
usr/src/uts/common/inet/ip/ip.c
3672
uinfo->iulp_localnet = (ire->ire_type & IRE_ONLINK) != 0;
usr/src/uts/common/inet/ip/ip.c
3673
uinfo->iulp_loopback = (ire->ire_type & IRE_LOOPBACK) != 0;
usr/src/uts/common/inet/ip/ip.c
3674
uinfo->iulp_local = (ire->ire_type & IRE_LOCAL) != 0;
usr/src/uts/common/inet/ip/ip.c
3683
if (ire != NULL)
usr/src/uts/common/inet/ip/ip.c
3684
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
3710
ip_get_base_mtu(ill_t *ill, ire_t *ire)
usr/src/uts/common/inet/ip/ip.c
3713
uint_t iremtu = ire->ire_metrics.iulp_mtu;
usr/src/uts/common/inet/ip/ip.c
3715
if (ire->ire_type & (IRE_MULTICAST|IRE_BROADCAST))
usr/src/uts/common/inet/ip/ip.c
3743
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
3746
ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip.c
3792
if (ire->ire_metrics.iulp_mtu != 0 &&
usr/src/uts/common/inet/ip/ip.c
3793
ire->ire_metrics.iulp_mtu < pmtu)
usr/src/uts/common/inet/ip/ip.c
3794
pmtu = ire->ire_metrics.iulp_mtu;
usr/src/uts/common/inet/ip/ip.c
3824
if (ire->ire_type & (IRE_LOCAL|IRE_LOOPBACK)) {
usr/src/uts/common/inet/ip/ip.c
3827
loopback_mtu = (ire->ire_ipversion == IPV6_VERSION) ?
usr/src/uts/common/inet/ip/ip.c
3839
if (ire->ire_type & (IRE_MULTICAST|IRE_BROADCAST)) {
usr/src/uts/common/inet/ip/ip.c
3876
if (ire->ire_type & IRE_MULTICAST)
usr/src/uts/common/inet/ip/ip.c
3887
if (ire->ire_type & IRE_MULTICAST)
usr/src/uts/common/inet/ip/ip.c
3906
if ((ire->ire_flags & RTF_MULTIRT) ||
usr/src/uts/common/inet/ip/ip.c
5683
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
5686
ire = ire_ftable_lookup_simple_v4(addr, 0, ipst, NULL);
usr/src/uts/common/inet/ip/ip.c
5687
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip.c
5688
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip.c
5691
result = ire->ire_type;
usr/src/uts/common/inet/ip/ip.c
5692
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
5705
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
5708
ire = ire_ftable_lookup_simple_v6(addr, 0, ipst, NULL);
usr/src/uts/common/inet/ip/ip.c
5709
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip.c
5710
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip.c
5713
result = ire->ire_type;
usr/src/uts/common/inet/ip/ip.c
5714
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
6362
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
6440
ire = ire_ftable_lookup_v4(group, IP_HOST_MASK, 0,
usr/src/uts/common/inet/ip/ip.c
6444
ire = ire_ftable_lookup_v6(&v6group, &ipv6_all_ones, 0,
usr/src/uts/common/inet/ip/ip.c
6448
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
6449
if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip.c
6450
error = ip_multirt_apply_membership(optfn, ire, connp,
usr/src/uts/common/inet/ip/ip.c
6454
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
6485
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
6573
ire = ire_ftable_lookup_v4(group, IP_HOST_MASK, 0,
usr/src/uts/common/inet/ip/ip.c
6577
ire = ire_ftable_lookup_v6(&v6group, &ipv6_all_ones, 0,
usr/src/uts/common/inet/ip/ip.c
6581
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip.c
6582
if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip.c
6583
error = ip_multirt_apply_membership(optfn, ire, connp,
usr/src/uts/common/inet/ip/ip.c
6587
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip.c
6640
ip_ire_rebind_walker(ire_t *ire, void *notused)
usr/src/uts/common/inet/ip/ip.c
6642
if (!ire->ire_unbound || ire->ire_ill != NULL)
usr/src/uts/common/inet/ip/ip.c
6644
ire_rebind(ire);
usr/src/uts/common/inet/ip/ip.c
6645
ire_delete(ire);
usr/src/uts/common/inet/ip/ip.c
6656
ip_ire_unbind_walker(ire_t *ire, void *notused)
usr/src/uts/common/inet/ip/ip.c
6660
if (!ire->ire_unbound || ire->ire_ill == NULL)
usr/src/uts/common/inet/ip/ip.c
6662
if (ire->ire_ipversion == IPV6_VERSION) {
usr/src/uts/common/inet/ip/ip.c
6663
new_ire = ire_create_v6(&ire->ire_addr_v6, &ire->ire_mask_v6,
usr/src/uts/common/inet/ip/ip.c
6664
&ire->ire_gateway_addr_v6, ire->ire_type, NULL,
usr/src/uts/common/inet/ip/ip.c
6665
ire->ire_zoneid, ire->ire_flags, NULL, ire->ire_ipst);
usr/src/uts/common/inet/ip/ip.c
6667
new_ire = ire_create((uchar_t *)&ire->ire_addr,
usr/src/uts/common/inet/ip/ip.c
6668
(uchar_t *)&ire->ire_mask,
usr/src/uts/common/inet/ip/ip.c
6669
(uchar_t *)&ire->ire_gateway_addr, ire->ire_type, NULL,
usr/src/uts/common/inet/ip/ip.c
6670
ire->ire_zoneid, ire->ire_flags, NULL, ire->ire_ipst);
usr/src/uts/common/inet/ip/ip.c
6679
ire_delete(ire);
usr/src/uts/common/inet/ip/ip.c
7736
ip_check_multihome(void *addr, ire_t *ire, ill_t *ill)
usr/src/uts/common/inet/ip/ip.c
7749
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip.c
7750
if (IS_IN_SAME_ILLGRP(ill, ire->ire_ill))
usr/src/uts/common/inet/ip/ip.c
7751
return (ire);
usr/src/uts/common/inet/ip/ip.c
7767
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip.c
7792
if (new_ire != ire)
usr/src/uts/common/inet/ip/ip.c
7796
return (ire);
usr/src/uts/common/inet/ip/ip.c
7802
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip.c
7803
ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip.c
7812
return (ire);
usr/src/uts/common/inet/ip/ip.c
7820
return (ire);
usr/src/uts/common/inet/ip/ip.c
7822
if ((ill->ill_flags & ire->ire_ill->ill_flags & ILLF_ROUTER) != 0) {
usr/src/uts/common/inet/ip/ip.c
7823
return (ire);
usr/src/uts/common/inet/ip/ip.c
9459
ire_t *ire;
usr/src/uts/common/inet/ip/ip.c
9536
ire = ire_ftable_lookup_v4(dst, 0, 0,
usr/src/uts/common/inet/ip/ip.c
9541
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip.c
9547
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6.c
1006
ire_t *ire, *nire;
usr/src/uts/common/inet/ip/ip6.c
1144
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip6.c
1177
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip6.c
1189
if (ire == NULL)
usr/src/uts/common/inet/ip/ip6.c
1192
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip6.c
1194
if (nire != NULL && nire != ire) {
usr/src/uts/common/inet/ip/ip6.c
1200
ire = nire;
usr/src/uts/common/inet/ip/ip6.c
1201
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6.c
1202
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip6.c
1320
ire_t *ire;
usr/src/uts/common/inet/ip/ip6.c
1327
ire = ire_ftable_lookup_v6(&ip6h->ip6_dst, 0, 0,
usr/src/uts/common/inet/ip/ip6.c
1330
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6.c
1332
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6.c
1556
ip_send_potential_redirect_v6(mblk_t *mp, ip6_t *ip6h, ire_t *ire,
usr/src/uts/common/inet/ip/ip6.c
1573
if (ire->ire_type & IRE_ONLINK) {
usr/src/uts/common/inet/ip/ip6.c
1578
nhop_ire = ire_nexthop(ire);
usr/src/uts/common/inet/ip/ip6.c
1596
NULL, NULL, IRE_INTERFACE, ire->ire_ill, ALL_ZONES, NULL,
usr/src/uts/common/inet/ip/ip6.c
1961
ire_t *ire;
usr/src/uts/common/inet/ip/ip6.c
2004
ire = ip_select_route_v6(firsthop, *src_addrp, ixa, &generation,
usr/src/uts/common/inet/ip/ip6.c
2006
ASSERT(ire != NULL); /* IRE_NOROUTE if none found */
usr/src/uts/common/inet/ip/ip6.c
2019
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip6.c
2042
if (!(ire->ire_type & IRE_HOST))
usr/src/uts/common/inet/ip/ip6.c
2049
if ((ire->ire_type & (IRE_BROADCAST|IRE_MULTICAST)) &&
usr/src/uts/common/inet/ip/ip6.c
2051
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6.c
2052
ire = ire_reject(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip6.c
2061
ire_refhold_notr(ire);
usr/src/uts/common/inet/ip/ip6.c
2062
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6.c
2064
ixa->ixa_ire = ire;
usr/src/uts/common/inet/ip/ip6.c
2115
ixa->ixa_postfragfn = ire->ire_postfragfn;
usr/src/uts/common/inet/ip/ip6.c
2118
if (!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/ip/ip6.c
2120
nce = ire_to_nce(ire, 0, firsthop);
usr/src/uts/common/inet/ip/ip6.c
2138
if ((ire->ire_type & IRE_LOCAL) && ire->ire_zoneid != zoneid) {
usr/src/uts/common/inet/ip/ip6.c
2139
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip6.c
2143
if (!(ire->ire_type & (IRE_LOOPBACK|IRE_LOCAL|IRE_MULTICAST))) {
usr/src/uts/common/inet/ip/ip6.c
2144
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip6.c
2163
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip6.c
2175
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip6.c
2186
!(ire->ire_type & (IRE_LOCAL|IRE_LOOPBACK|IRE_MULTICAST)) &&
usr/src/uts/common/inet/ip/ip6.c
2187
!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/ip/ip6.c
2188
ire = NULL; /* Stored in ixa_ire */
usr/src/uts/common/inet/ip/ip6.c
2238
rts_merge_metrics(uinfo, &ire->ire_metrics);
usr/src/uts/common/inet/ip/ip6.c
2244
uinfo->iulp_localnet = (ire->ire_type & IRE_ONLINK) != 0;
usr/src/uts/common/inet/ip/ip6.c
2245
uinfo->iulp_loopback = (ire->ire_type & IRE_LOOPBACK) != 0;
usr/src/uts/common/inet/ip/ip6.c
2246
uinfo->iulp_local = (ire->ire_type & IRE_LOCAL) != 0;
usr/src/uts/common/inet/ip/ip6.c
2255
if (ire != NULL)
usr/src/uts/common/inet/ip/ip6.c
2256
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
1001
ire = ire_ftable_lookup_v6(dst_addr, mask, gw_addr,
usr/src/uts/common/inet/ip/ip6_if.c
1006
if (ire != NULL && (ire->ire_flags & RTF_KERNEL)) {
usr/src/uts/common/inet/ip/ip6_if.c
1007
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
1008
ire = NULL;
usr/src/uts/common/inet/ip/ip6_if.c
1015
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
1034
ire = ire_ftable_lookup_v6(dst_addr, mask, gw_addr, type,
usr/src/uts/common/inet/ip/ip6_if.c
1042
if (ire == NULL)
usr/src/uts/common/inet/ip/ip6_if.c
1045
if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip6_if.c
1055
&ire->ire_addr_v6, &ire->ire_gateway_addr_v6);
usr/src/uts/common/inet/ip/ip6_if.c
1059
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_if.c
1061
ill_remove_saved_ire(ill, ire);
usr/src/uts/common/inet/ip/ip6_if.c
1062
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_if.c
1063
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
2733
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_if.c
2736
ire = ipif->ipif_ire_local;
usr/src/uts/common/inet/ip/ip6_if.c
2739
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
2744
atomic_add_32(&ipif->ipif_ib_pkt_count, ire->ire_ib_pkt_count);
usr/src/uts/common/inet/ip/ip6_if.c
2746
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_if.c
2747
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip6_if.c
2750
ire = ipif->ipif_ire_if;
usr/src/uts/common/inet/ip/ip6_if.c
2753
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
2754
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_if.c
2755
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip6_if.c
2855
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_if.c
2881
ire = ire_ftable_lookup_v6(&sin6->sin6_addr, NULL, NULL,
usr/src/uts/common/inet/ip/ip6_if.c
2884
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
2885
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
398
ire_t *ire, *nire;
usr/src/uts/common/inet/ip/ip6_if.c
454
ire = ire_ftable_lookup_v6(dst_addr, 0, 0, IRE_LOOPBACK,
usr/src/uts/common/inet/ip/ip6_if.c
457
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
458
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
466
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip6_if.c
477
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
484
ire->ire_setsrc_addr_v6 = *src_addr;
usr/src/uts/common/inet/ip/ip6_if.c
486
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip6_if.c
500
if (nire != ire) {
usr/src/uts/common/inet/ip/ip6_if.c
507
ire = nire;
usr/src/uts/common/inet/ip/ip6_if.c
607
ire = ire_ftable_lookup_v6(dst_addr, mask, gw_addr,
usr/src/uts/common/inet/ip/ip6_if.c
610
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
611
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
643
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip6_if.c
653
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
660
ire->ire_setsrc_addr_v6 = *src_addr;
usr/src/uts/common/inet/ip/ip6_if.c
662
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip6_if.c
676
if (nire != ire) {
usr/src/uts/common/inet/ip/ip6_if.c
683
ire = nire;
usr/src/uts/common/inet/ip/ip6_if.c
750
ire = ire_ftable_lookup_v6(dst_addr, mask, gw_addr, type, ill,
usr/src/uts/common/inet/ip/ip6_if.c
753
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
757
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_if.c
797
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip6_if.c
815
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
826
ire->ire_setsrc_addr_v6 = *src_addr;
usr/src/uts/common/inet/ip/ip6_if.c
828
ire->ire_unbound = unbound;
usr/src/uts/common/inet/ip/ip6_if.c
836
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip6_if.c
852
if (nire != ire) {
usr/src/uts/common/inet/ip/ip6_if.c
861
ire = nire;
usr/src/uts/common/inet/ip/ip6_if.c
874
!IN6_IS_ADDR_MULTICAST(&(ire->ire_addr_v6))) {
usr/src/uts/common/inet/ip/ip6_if.c
885
&ire->ire_addr_v6,
usr/src/uts/common/inet/ip/ip6_if.c
886
&ire->ire_gateway_addr_v6,
usr/src/uts/common/inet/ip/ip6_if.c
887
&ire->ire_setsrc_addr_v6,
usr/src/uts/common/inet/ip/ip6_if.c
897
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_if.c
898
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip6_if.c
909
if (ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip6_if.c
918
ill_save_ire(ire->ire_ill, ire);
usr/src/uts/common/inet/ip/ip6_if.c
928
*ire_arg = ire;
usr/src/uts/common/inet/ip/ip6_if.c
930
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip6_if.c
948
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip6_if.c
995
ire = ire_ftable_lookup_v6(dst_addr, mask, 0,
usr/src/uts/common/inet/ip/ip6_if.c
999
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_input.c
1027
ip_send_potential_redirect_v6(mp, ip6h, ire, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1039
if ((mp1 = tsol_ip_forward(ire, mp, ira)) == NULL) {
usr/src/uts/common/inet/ip/ip6_input.c
1060
if ((iremtu = ire->ire_metrics.iulp_mtu) != 0 && iremtu < mtu)
usr/src/uts/common/inet/ip/ip6_input.c
1145
ire_recv_noroute_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
1179
if (ire->ire_flags & RTF_BLACKHOLE) {
usr/src/uts/common/inet/ip/ip6_input.c
1197
ire_recv_noaccept_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_input.c
1235
ire_recv_local_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1242
ire_recv_multicast_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_input.c
1248
ASSERT(ire->ire_ill == ira->ira_ill);
usr/src/uts/common/inet/ip/ip6_input.c
1281
ASSERT(ire->ire_ill == ira->ira_ill);
usr/src/uts/common/inet/ip/ip6_input.c
1375
ip_input_local_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1377
if (ill != ire->ire_ill) {
usr/src/uts/common/inet/ip/ip6_input.c
1379
ira->ira_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_input.c
1390
ire_recv_multirt_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
1406
ire_recv_loopback_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
1410
ill_t *ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_input.c
1424
ip_input_local_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1432
ip_input_local_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1439
ire_recv_local_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
1443
ill_t *ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_input.c
1446
ire->ire_last_used_time = LBOLT_FASTPATH;
usr/src/uts/common/inet/ip/ip6_input.c
1449
ira->ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip6_input.c
1462
new_ire = ip_check_multihome(&ip6h->ip6_dst, ire, ill);
usr/src/uts/common/inet/ip/ip6_input.c
1491
if (new_ire != ire)
usr/src/uts/common/inet/ip/ip6_input.c
1496
ip_input_local_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1504
ip_input_local_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
1514
ip_input_multicast_v6(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
1534
ip_input_multicast_v6(ire_t *ire, mblk_t *mp, ip6_t *ip6h, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
481
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_input.c
484
ire = ire_route_recursive_v6(nexthop, 0, ill, ALL_ZONES, ira->ira_tsl,
usr/src/uts/common/inet/ip/ip6_input.c
486
if (!(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip6_input.c
488
return (ire);
usr/src/uts/common/inet/ip/ip6_input.c
497
return (ire);
usr/src/uts/common/inet/ip/ip6_input.c
501
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_input.c
502
ire = ire_route_recursive_v6(nexthop, 0, ill, ALL_ZONES, ira->ira_tsl,
usr/src/uts/common/inet/ip/ip6_input.c
505
return (ire);
usr/src/uts/common/inet/ip/ip6_input.c
516
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_input.c
767
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip6_input.c
769
ire = ire_linklocal(&nexthop, ill, ira, irr_flags,
usr/src/uts/common/inet/ip/ip6_input.c
773
ire = ire_route_recursive_v6(&nexthop, 0, NULL,
usr/src/uts/common/inet/ip/ip6_input.c
779
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_input.c
782
rtc->rtc_ire = ire;
usr/src/uts/common/inet/ip/ip6_input.c
787
ire = rtc->rtc_ire;
usr/src/uts/common/inet/ip/ip6_input.c
791
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip6_input.c
793
ire = ire_linklocal(&nexthop, ill, ira, irr_flags,
usr/src/uts/common/inet/ip/ip6_input.c
796
ire = ire_route_recursive_dstonly_v6(&nexthop,
usr/src/uts/common/inet/ip/ip6_input.c
799
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_input.c
802
rtc->rtc_ire = ire;
usr/src/uts/common/inet/ip/ip6_input.c
806
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip6_input.c
819
(*ire->ire_recvfn)(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
827
ire_recv_forward_v6(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip6_input.c
865
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_input.c
866
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip6_input.c
869
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_input.c
870
(void) ire_revalidate_nce(ire);
usr/src/uts/common/inet/ip/ip6_input.c
871
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_input.c
872
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip6_input.c
874
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_input.c
883
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_input.c
888
nce1 = ire_handle_condemned_nce(nce, ire, NULL, ip6h, B_FALSE);
usr/src/uts/common/inet/ip/ip6_input.c
915
if (ire->ire_zoneid != GLOBAL_ZONEID && ire->ire_zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip6_input.c
916
ire->ire_ib_pkt_count--;
usr/src/uts/common/inet/ip/ip6_input.c
923
ire = ire_route_recursive_v6(&ip6h->ip6_dst, 0, NULL,
usr/src/uts/common/inet/ip/ip6_input.c
927
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip6_input.c
928
(*ire->ire_recvfn)(ire, mp, ip6h, ira);
usr/src/uts/common/inet/ip/ip6_input.c
929
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1002
if ((ire->ire_type & IRE_LOCAL) && zoneid != ALL_ZONES &&
usr/src/uts/common/inet/ip/ip6_ire.c
1003
ire->ire_zoneid != zoneid && ire->ire_zoneid != ALL_ZONES &&
usr/src/uts/common/inet/ip/ip6_ire.c
1005
ire = ire_alt_local(ire, zoneid, tsl, ill, generationp);
usr/src/uts/common/inet/ip/ip6_ire.c
1006
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
1009
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1022
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1043
for (ire = irb_ptr->irb_ire; ire != NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1044
ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip6_ire.c
1045
if (IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip6_ire.c
1047
if (ire_match_args_v6(ire, addr, mask, gateway, type,
usr/src/uts/common/inet/ip/ip6_ire.c
105
ire->ire_mask_v6 = ipv6_all_ones;
usr/src/uts/common/inet/ip/ip6_ire.c
106
ire->ire_masklen = IPV6_ABITS;
usr/src/uts/common/inet/ip/ip6_ire.c
1080
for (ire = irb_ptr->irb_ire; ire != NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1081
ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip6_ire.c
1082
if (IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip6_ire.c
1084
if (ire_match_args_v6(ire, addr,
usr/src/uts/common/inet/ip/ip6_ire.c
1085
&ire->ire_mask_v6, gateway, type, ill,
usr/src/uts/common/inet/ip/ip6_ire.c
1092
ASSERT(ire == NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
1097
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1099
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1119
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
1121
ire = ire_ftable_lookup_v6(addr, NULL, NULL, 0, NULL, ALL_ZONES, NULL,
usr/src/uts/common/inet/ip/ip6_ire.c
1123
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
1124
ire = ire_reject(ipst, B_TRUE);
usr/src/uts/common/inet/ip/ip6_ire.c
1129
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
113
ire->ire_mask_v6 = *v6mask;
usr/src/uts/common/inet/ip/ip6_ire.c
114
ire->ire_masklen =
usr/src/uts/common/inet/ip/ip6_ire.c
115
ip_mask_to_plen_v6(&ire->ire_mask_v6);
usr/src/uts/common/inet/ip/ip6_ire.c
1162
ire_route_recursive_impl_v6(ire_t *ire,
usr/src/uts/common/inet/ip/ip6_ire.c
1191
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
1192
ire = ire_ftable_lookup_v6(&v6nexthop, 0, 0, ire_type,
usr/src/uts/common/inet/ip/ip6_ire.c
1197
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1204
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
1206
ire = ires[0];
usr/src/uts/common/inet/ip/ip6_ire.c
1207
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1209
ire = ire_reject(ipst, B_TRUE);
usr/src/uts/common/inet/ip/ip6_ire.c
1215
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip6_ire.c
1218
ASSERT(!(ire->ire_type & IRE_MULTICAST)); /* Not in ftable */
usr/src/uts/common/inet/ip/ip6_ire.c
1223
if ((ire->ire_type & IRE_IF_CLONE) && !ire_clone_verify(ire)) {
usr/src/uts/common/inet/ip/ip6_ire.c
1224
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1225
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1238
if ((ire->ire_type & IRE_OFFLINK) &&
usr/src/uts/common/inet/ip/ip6_ire.c
1239
!(ire->ire_flags & RTF_INDIRECT)) {
usr/src/uts/common/inet/ip/ip6_ire.c
1248
ires[i] = ire;
usr/src/uts/common/inet/ip/ip6_ire.c
1253
if ((ire->ire_flags & RTF_SETSRC) &&
usr/src/uts/common/inet/ip/ip6_ire.c
1256
&ire->ire_setsrc_addr_v6));
usr/src/uts/common/inet/ip/ip6_ire.c
1257
*setsrcp = ire->ire_setsrc_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1261
if (ire->ire_gw_secattr != NULL &&
usr/src/uts/common/inet/ip/ip6_ire.c
1263
*gwattrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/ip6_ire.c
127
error = ire_init_common(ire, type, ill, zoneid, flags, IPV6_VERSION,
usr/src/uts/common/inet/ip/ip6_ire.c
1272
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1273
if (ire->ire_dep_parent != NULL &&
usr/src/uts/common/inet/ip/ip6_ire.c
1274
ire->ire_dep_parent->ire_generation ==
usr/src/uts/common/inet/ip/ip6_ire.c
1275
ire->ire_dep_parent_generation) {
usr/src/uts/common/inet/ip/ip6_ire.c
1276
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1277
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1280
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1287
if (ire->ire_nce_capable) {
usr/src/uts/common/inet/ip/ip6_ire.c
1288
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1291
ASSERT(!(ire->ire_type & IRE_IF_CLONE));
usr/src/uts/common/inet/ip/ip6_ire.c
1296
if (ire->ire_type & IRE_INTERFACE) {
usr/src/uts/common/inet/ip/ip6_ire.c
1299
ASSERT(ire->ire_masklen != IPV6_ABITS);
usr/src/uts/common/inet/ip/ip6_ire.c
1314
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1318
clone = ire_create_if_clone(ire, &v6nexthop,
usr/src/uts/common/inet/ip/ip6_ire.c
1326
ire = ire_blackhole(ipst, B_TRUE);
usr/src/uts/common/inet/ip/ip6_ire.c
133
ire->ire_postfragfn = ip_xmit; /* Common case */
usr/src/uts/common/inet/ip/ip6_ire.c
1344
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
135
switch (ire->ire_type) {
usr/src/uts/common/inet/ip/ip6_ire.c
1359
v6nexthop = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1360
if (ill == NULL && ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
1361
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_ire.c
1366
ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
1368
ASSERT(ire == NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
1369
ire = ire_reject(ipst, B_TRUE);
usr/src/uts/common/inet/ip/ip6_ire.c
137
ire->ire_sendfn = ire_send_local_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1372
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
138
ire->ire_recvfn = ire_recv_local_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1389
ASSERT((ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip6_ire.c
139
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
1397
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
140
if (ire->ire_ill->ill_flags & ILLF_NOACCEPT)
usr/src/uts/common/inet/ip/ip6_ire.c
1400
ASSERT(ire == NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
1407
ire = ire_blackhole(ipst, B_TRUE);
usr/src/uts/common/inet/ip/ip6_ire.c
141
ire->ire_recvfn = ire_recv_noaccept_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
144
ire->ire_sendfn = ire_send_local_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
145
ire->ire_recvfn = ire_recv_loopback_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1477
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
148
ire->ire_postfragfn = ip_postfrag_loopcheck;
usr/src/uts/common/inet/ip/ip6_ire.c
1482
ire = ire_ftable_lookup_simple_v6(nexthop, xmit_hint, ipst,
usr/src/uts/common/inet/ip/ip6_ire.c
1484
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
149
ire->ire_sendfn = ire_send_multicast_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1491
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1492
if (ire->ire_dep_parent != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
1493
if (ire->ire_dep_parent->ire_generation ==
usr/src/uts/common/inet/ip/ip6_ire.c
1494
ire->ire_dep_parent_generation) {
usr/src/uts/common/inet/ip/ip6_ire.c
1495
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1496
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1498
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
150
ire->ire_recvfn = ire_recv_multicast_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
1500
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
1506
if (ire->ire_nce_capable)
usr/src/uts/common/inet/ip/ip6_ire.c
1507
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
1514
ire1 = ire_route_recursive_impl_v6(ire, nexthop, 0, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip6_ire.c
1517
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
157
ire->ire_sendfn = ire_send_wire_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
158
ire->ire_recvfn = ire_recv_forward_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
161
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip6_ire.c
162
ire->ire_sendfn = ire_send_noroute_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
163
ire->ire_recvfn = ire_recv_noroute_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
164
} else if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip6_ire.c
165
ire->ire_postfragfn = ip_postfrag_multirt_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
166
ire->ire_sendfn = ire_send_multirt_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
167
ire->ire_recvfn = ire_recv_multirt_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
169
ire->ire_nce_capable = ire_determine_nce_capable(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
185
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
190
ire = kmem_cache_alloc(ire_cache, KM_NOSLEEP);
usr/src/uts/common/inet/ip/ip6_ire.c
191
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
195
*ire = ire_null;
usr/src/uts/common/inet/ip/ip6_ire.c
197
error = ire_init_v6(ire, v6addr, v6mask, v6gateway,
usr/src/uts/common/inet/ip/ip6_ire.c
201
DTRACE_PROBE2(ire__init__v6, ire_t *, ire, int, error);
usr/src/uts/common/inet/ip/ip6_ire.c
202
kmem_cache_free(ire_cache, ire);
usr/src/uts/common/inet/ip/ip6_ire.c
205
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
230
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
233
ire = ire_route_recursive_v6(group, 0, NULL, zoneid, NULL,
usr/src/uts/common/inet/ip/ip6_ire.c
235
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip6_ire.c
237
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip6_ire.c
238
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
243
*multirtp = (ire->ire_flags & RTF_MULTIRT) != 0;
usr/src/uts/common/inet/ip/ip6_ire.c
245
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
246
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
308
ire_add_v6(ire_t *ire)
usr/src/uts/common/inet/ip/ip6_ire.c
316
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip6_ire.c
318
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip6_ire.c
321
V6_MASK_COPY(ire->ire_addr_v6, ire->ire_mask_v6, ire->ire_addr_v6);
usr/src/uts/common/inet/ip/ip6_ire.c
323
mask_table_index = ip_mask_to_plen_v6(&ire->ire_mask_v6);
usr/src/uts/common/inet/ip/ip6_ire.c
331
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
358
IRE_ADDR_MASK_HASH_V6(ire->ire_addr_v6, ire->ire_mask_v6,
usr/src/uts/common/inet/ip/ip6_ire.c
362
if (ire->ire_ill != NULL)
usr/src/uts/common/inet/ip/ip6_ire.c
368
error = ire_atomic_start(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip6_ire.c
370
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
380
if (ire->ire_testhidden)
usr/src/uts/common/inet/ip/ip6_ire.c
393
if (ire1->ire_zoneid != ire->ire_zoneid)
usr/src/uts/common/inet/ip/ip6_ire.c
396
if (ire1->ire_type != ire->ire_type)
usr/src/uts/common/inet/ip/ip6_ire.c
406
if (ire_match_args_v6(ire1, &ire->ire_addr_v6,
usr/src/uts/common/inet/ip/ip6_ire.c
407
&ire->ire_mask_v6, &ire->ire_gateway_addr_v6,
usr/src/uts/common/inet/ip/ip6_ire.c
408
ire->ire_type, ire->ire_ill, ire->ire_zoneid, NULL,
usr/src/uts/common/inet/ip/ip6_ire.c
421
if (ire->ire_type != IRE_IF_CLONE) {
usr/src/uts/common/inet/ip/ip6_ire.c
424
ire_t *, ire);
usr/src/uts/common/inet/ip/ip6_ire.c
427
(void *)ire1, (void *)ire));
usr/src/uts/common/inet/ip/ip6_ire.c
429
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip6_ire.c
430
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
443
if (ire->ire_type & IRE_IF_CLONE) {
usr/src/uts/common/inet/ip/ip6_ire.c
450
ire1->ire_ptpn = &ire->ire_next;
usr/src/uts/common/inet/ip/ip6_ire.c
451
ire->ire_next = ire1;
usr/src/uts/common/inet/ip/ip6_ire.c
453
ire->ire_ptpn = irep;
usr/src/uts/common/inet/ip/ip6_ire.c
467
*irep = ire;
usr/src/uts/common/inet/ip/ip6_ire.c
468
ire->ire_bucket = irb_ptr;
usr/src/uts/common/inet/ip/ip6_ire.c
480
ire_refhold_locked(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
484
if (ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
485
DTRACE_PROBE3(ill__incr__cnt, (ill_t *), ire->ire_ill,
usr/src/uts/common/inet/ip/ip6_ire.c
486
(char *), "ire", (void *), ire);
usr/src/uts/common/inet/ip/ip6_ire.c
487
ire->ire_ill->ill_ire_cnt++;
usr/src/uts/common/inet/ip/ip6_ire.c
488
ASSERT(ire->ire_ill->ill_ire_cnt != 0); /* Wraparound */
usr/src/uts/common/inet/ip/ip6_ire.c
490
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip6_ire.c
493
ire_flush_cache_v6(ire, IRE_FLUSH_ADD);
usr/src/uts/common/inet/ip/ip6_ire.c
495
return (ire);
usr/src/uts/common/inet/ip/ip6_ire.c
509
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
520
for (ire = irb->irb_ire; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip6_ire.c
521
if (!(ire->ire_flags & RTF_DYNAMIC))
usr/src/uts/common/inet/ip/ip6_ire.c
523
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
524
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
525
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
527
ire_delete(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
542
ire_delete_v6(ire_t *ire)
usr/src/uts/common/inet/ip/ip6_ire.c
545
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip6_ire.c
556
ASSERT(ire->ire_refcnt >= 1);
usr/src/uts/common/inet/ip/ip6_ire.c
557
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip6_ire.c
559
ire_flush_cache_v6(ire, IRE_FLUSH_DELETE);
usr/src/uts/common/inet/ip/ip6_ire.c
561
if (ire->ire_type == IRE_DEFAULT) {
usr/src/uts/common/inet/ip/ip6_ire.c
567
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
568
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
569
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
578
if ((ire->ire_type & IRE_INTERFACE) && ire->ire_dep_children != 0)
usr/src/uts/common/inet/ip/ip6_ire.c
579
ire_dep_delete_if_clone(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
583
if (ire->ire_dep_parent != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
584
ire_dep_remove(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
586
while (ire->ire_dep_children != NULL)
usr/src/uts/common/inet/ip/ip6_ire.c
587
ire_dep_remove(ire->ire_dep_children);
usr/src/uts/common/inet/ip/ip6_ire.c
600
ire_flush_cache_v6(ire_t *ire, int flag)
usr/src/uts/common/inet/ip/ip6_ire.c
602
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip6_ire.c
609
if (ire->ire_type & IRE_IF_CLONE)
usr/src/uts/common/inet/ip/ip6_ire.c
61
#define IS_DEFAULT_ROUTE_V6(ire) \
usr/src/uts/common/inet/ip/ip6_ire.c
62
(((ire)->ire_type & IRE_DEFAULT) || \
usr/src/uts/common/inet/ip/ip6_ire.c
63
(((ire)->ire_type & IRE_INTERFACE) && \
usr/src/uts/common/inet/ip/ip6_ire.c
631
if (ire->ire_type == IRE_DEFAULT && flag == IRE_FLUSH_ADD) {
usr/src/uts/common/inet/ip/ip6_ire.c
64
(IN6_IS_ADDR_UNSPECIFIED(&(ire)->ire_addr_v6))))
usr/src/uts/common/inet/ip/ip6_ire.c
643
ire_dep_incr_generation(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
648
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip6_ire.c
656
addr = ire->ire_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
657
mask = ire->ire_mask_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
660
ire = ire_ftable_lookup_impl_v6(&addr, &mask, NULL, 0, NULL,
usr/src/uts/common/inet/ip/ip6_ire.c
662
while (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
664
irb_increment_generation(ire->ire_bucket);
usr/src/uts/common/inet/ip/ip6_ire.c
666
mask = ire->ire_mask_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
669
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
670
ire = ire_ftable_lookup_impl_v6(&addr, &mask, NULL, 0,
usr/src/uts/common/inet/ip/ip6_ire.c
686
ire_match_args_v6(ire_t *ire, const in6_addr_t *addr, const in6_addr_t *mask,
usr/src/uts/common/inet/ip/ip6_ire.c
692
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip6_ire.c
694
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip6_ire.c
705
if (ire->ire_testhidden) {
usr/src/uts/common/inet/ip/ip6_ire.c
710
if (zoneid != ALL_ZONES && zoneid != ire->ire_zoneid &&
usr/src/uts/common/inet/ip/ip6_ire.c
711
ire->ire_zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip6_ire.c
741
if (ire->ire_type & IRE_LOOPBACK)
usr/src/uts/common/inet/ip/ip6_ire.c
744
if (ire->ire_type & IRE_LOCAL)
usr/src/uts/common/inet/ip/ip6_ire.c
755
dst_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_ire.c
756
if (ire->ire_type & IRE_ONLINK) {
usr/src/uts/common/inet/ip/ip6_ire.c
788
if (dst_ill != NULL && (ire->ire_type & IRE_OFFLINK)) {
usr/src/uts/common/inet/ip/ip6_ire.c
80
ire_init_v6(ire_t *ire, const in6_addr_t *v6addr, const in6_addr_t *v6mask,
usr/src/uts/common/inet/ip/ip6_ire.c
807
ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_ire.c
809
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
810
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip6_ire.c
811
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip6_ire.c
825
!(ire->ire_type & IRE_LOCAL)) {
usr/src/uts/common/inet/ip/ip6_ire.c
826
if (ire->ire_ill != ill)
usr/src/uts/common/inet/ip/ip6_ire.c
850
ASSERT(V6_MASK_EQ(ire->ire_addr_v6, ire->ire_mask_v6,
usr/src/uts/common/inet/ip/ip6_ire.c
851
ire->ire_addr_v6));
usr/src/uts/common/inet/ip/ip6_ire.c
852
if (V6_MASK_EQ(*addr, *mask, ire->ire_addr_v6) &&
usr/src/uts/common/inet/ip/ip6_ire.c
855
!(ire->ire_flags & RTF_INDIRECT)) &&
usr/src/uts/common/inet/ip/ip6_ire.c
857
((!(match_flags & MATCH_IRE_TYPE)) || (ire->ire_type & type)) &&
usr/src/uts/common/inet/ip/ip6_ire.c
858
((!(match_flags & MATCH_IRE_TESTHIDDEN)) || ire->ire_testhidden) &&
usr/src/uts/common/inet/ip/ip6_ire.c
860
(IN6_ARE_ADDR_EQUAL(&ire->ire_mask_v6, mask))) &&
usr/src/uts/common/inet/ip/ip6_ire.c
863
(tsol_ire_match_gwattr(ire, tsl) == 0))) {
usr/src/uts/common/inet/ip/ip6_ire.c
879
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_ire.c
891
ire = ire_ftable_lookup_impl_v6(gateway, &ipv6_all_zeros,
usr/src/uts/common/inet/ip/ip6_ire.c
897
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
898
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
919
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip6_ire.c
936
ire = ire_ftable_lookup_impl_v6(addr, mask, gateway, type, ill, zoneid,
usr/src/uts/common/inet/ip/ip6_ire.c
938
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip6_ire.c
95
ire->ire_addr_v6 = *v6addr;
usr/src/uts/common/inet/ip/ip6_ire.c
954
if (ire->ire_bucket->irb_ire_cnt > 1 && !(flags & MATCH_IRE_GW)) {
usr/src/uts/common/inet/ip/ip6_ire.c
957
IS_DEFAULT_ROUTE_V6(ire))) {
usr/src/uts/common/inet/ip/ip6_ire.c
97
ire->ire_gateway_addr_v6 = *v6gateway;
usr/src/uts/common/inet/ip/ip6_ire.c
973
next_ire = ire_round_robin(ire->ire_bucket, &margs,
usr/src/uts/common/inet/ip/ip6_ire.c
974
xmit_hint, ire, ipst);
usr/src/uts/common/inet/ip/ip6_ire.c
979
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_ire.c
980
ire = next_ire;
usr/src/uts/common/inet/ip/ip6_ire.c
987
*generationp = ire->ire_generation;
usr/src/uts/common/inet/ip/ip6_output.c
113
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_output.c
1153
ire_t *ire;
usr/src/uts/common/inet/ip/ip6_output.c
1194
ire = ire_ftable_lookup_v6(&ip6h->ip6_dst, 0, 0, 0, NULL,
usr/src/uts/common/inet/ip/ip6_output.c
1198
ire = ire_ftable_lookup_v6(&ip6h->ip6_dst, 0, &nce->nce_addr,
usr/src/uts/common/inet/ip/ip6_output.c
1202
if (ire == NULL ||
usr/src/uts/common/inet/ip/ip6_output.c
1203
(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip6_output.c
1204
!(ire->ire_flags & RTF_MULTIRT)) {
usr/src/uts/common/inet/ip/ip6_output.c
1208
if (ire != NULL)
usr/src/uts/common/inet/ip/ip6_output.c
1209
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_output.c
1213
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip6_output.c
1221
if (!IN6_ARE_ADDR_EQUAL(&ire->ire_addr_v6, &ire1->ire_addr_v6))
usr/src/uts/common/inet/ip/ip6_output.c
1225
if (ire1 == ire)
usr/src/uts/common/inet/ip/ip6_output.c
1312
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_output.c
157
ire = ip_select_route_v6(&firsthop, ip6h->ip6_src, ixa, NULL, &setsrc,
usr/src/uts/common/inet/ip/ip6_output.c
159
ASSERT(ire != NULL); /* IRE_NOROUTE if none found */
usr/src/uts/common/inet/ip/ip6_output.c
168
if (ire->ire_flags & (RTF_BLACKHOLE|RTF_REJECT)) {
usr/src/uts/common/inet/ip/ip6_output.c
173
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip6_output.c
176
error = (ire->ire_sendfn)(ire, mp, ip6h, ixa,
usr/src/uts/common/inet/ip/ip6_output.c
182
nce = ire_to_nce(ire, INADDR_ANY, &ip6h->ip6_dst);
usr/src/uts/common/inet/ip/ip6_output.c
193
nce1 = ire_handle_condemned_nce(nce, ire, NULL, ip6h, B_TRUE);
usr/src/uts/common/inet/ip/ip6_output.c
199
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_output.c
222
ixa->ixa_postfragfn = ire->ire_postfragfn;
usr/src/uts/common/inet/ip/ip6_output.c
256
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip6_output.c
260
fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip6_output.c
266
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip6_output.c
273
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip6_output.c
341
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip6_output.c
351
error = (ire->ire_sendfn)(ire, mp, ip6h, ixa, &dce->dce_ident);
usr/src/uts/common/inet/ip/ip6_output.c
353
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip6_output.c
381
ire_send_local_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_output.c
386
ill_t *ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_output.c
445
dzone = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip6_output.c
502
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip6_output.c
507
iras.ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip6_output.c
538
multirt_check_v6(ire_t *ire, ip6_t *ip6h, ip_xmit_attr_t *ixa)
usr/src/uts/common/inet/ip/ip6_output.c
543
if (ire->ire_type & IRE_MULTICAST) {
usr/src/uts/common/inet/ip/ip6_output.c
572
ire_send_multicast_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_output.c
577
ill_t *ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip6_output.c
585
multirt_check_v6(ire, ip6h, ixa);
usr/src/uts/common/inet/ip/ip6_output.c
642
return (ire_send_wire_v6(ire, mp, ip6h, ixa, identp));
usr/src/uts/common/inet/ip/ip6_output.c
649
ire_send_multirt_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_output.c
654
multirt_check_v6(ire, ip6h, ixa);
usr/src/uts/common/inet/ip/ip6_output.c
656
if (ire->ire_type & IRE_MULTICAST)
usr/src/uts/common/inet/ip/ip6_output.c
657
return (ire_send_multicast_v6(ire, mp, ip6h, ixa, identp));
usr/src/uts/common/inet/ip/ip6_output.c
659
return (ire_send_wire_v6(ire, mp, ip6h, ixa, identp));
usr/src/uts/common/inet/ip/ip6_output.c
667
ire_send_noroute_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip6_output.c
678
if (ire->ire_type & IRE_NOROUTE) {
usr/src/uts/common/inet/ip/ip6_output.c
684
if (ire->ire_flags & RTF_BLACKHOLE) {
usr/src/uts/common/inet/ip/ip6_output.c
950
ire_send_wire_v6(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_attr.c
1156
ire_t *ire;
usr/src/uts/common/inet/ip/ip_attr.c
1160
ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_attr.c
1164
if (ire != NULL && IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_attr.c
1165
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_attr.c
1166
ire = ire_blackhole(ixa->ixa_ipst,
usr/src/uts/common/inet/ip/ip_attr.c
1168
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_attr.c
1170
ire_refhold_notr(ire);
usr/src/uts/common/inet/ip/ip_attr.c
1171
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_attr.c
1173
ixa->ixa_ire = ire;
usr/src/uts/common/inet/ip/ip_ftable.c
100
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
1069
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
1152
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1153
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1160
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1161
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1174
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1175
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1178
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip_ftable.c
1181
*generationp = ire->ire_generation;
usr/src/uts/common/inet/ip/ip_ftable.c
1183
(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/ip/ip_ftable.c
1186
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1209
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1210
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1234
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1235
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1249
ire = ire_reject(ipst, isv6);
usr/src/uts/common/inet/ip/ip_ftable.c
1250
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1280
ire = ire_route_recursive_v4(v4nexthop, ire_type, ill,
usr/src/uts/common/inet/ip/ip_ftable.c
1286
ire = ire_route_recursive_v6(&v6nexthop, ire_type, ill,
usr/src/uts/common/inet/ip/ip_ftable.c
1294
v4dst, (void *)ire));
usr/src/uts/common/inet/ip/ip_ftable.c
1301
if ((ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip_ftable.c
1302
(ire->ire_type & IRE_MULTICAST)) {
usr/src/uts/common/inet/ip/ip_ftable.c
1310
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1316
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1320
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1321
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ftable.c
1323
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1324
(void) ire_revalidate_nce(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1326
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1328
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1364
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
1373
ire = ip_select_route(&v6dst, v6src, ixa, generationp, &setsrc, errorp,
usr/src/uts/common/inet/ip/ip_ftable.c
1377
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1399
ire_route_recursive_impl_v4(ire_t *ire,
usr/src/uts/common/inet/ip/ip_ftable.c
1427
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
1428
ire = ire_ftable_lookup_v4(nexthop, 0, 0, ire_type,
usr/src/uts/common/inet/ip/ip_ftable.c
1433
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1439
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
1441
ire = ires[0];
usr/src/uts/common/inet/ip/ip_ftable.c
1442
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1444
ire = ire_reject(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip_ftable.c
1450
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip_ftable.c
1453
ASSERT(!(ire->ire_type & IRE_MULTICAST)); /* Not in ftable */
usr/src/uts/common/inet/ip/ip_ftable.c
1458
if ((ire->ire_type & IRE_IF_CLONE) && !ire_clone_verify(ire)) {
usr/src/uts/common/inet/ip/ip_ftable.c
1459
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1460
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
1475
if ((ire->ire_type & IRE_OFFLINK) &&
usr/src/uts/common/inet/ip/ip_ftable.c
1476
!(ire->ire_flags & RTF_INDIRECT)) {
usr/src/uts/common/inet/ip/ip_ftable.c
1489
ires[i] = ire;
usr/src/uts/common/inet/ip/ip_ftable.c
149
ire = margs.ift_best_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
1494
if ((ire->ire_flags & RTF_SETSRC) &&
usr/src/uts/common/inet/ip/ip_ftable.c
1496
ASSERT(ire->ire_setsrc_addr != INADDR_ANY);
usr/src/uts/common/inet/ip/ip_ftable.c
1497
*setsrcp = ire->ire_setsrc_addr;
usr/src/uts/common/inet/ip/ip_ftable.c
1501
if (ire->ire_gw_secattr != NULL &&
usr/src/uts/common/inet/ip/ip_ftable.c
1503
*gwattrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/ip_ftable.c
1512
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1513
if (ire->ire_dep_parent != NULL &&
usr/src/uts/common/inet/ip/ip_ftable.c
1514
ire->ire_dep_parent->ire_generation ==
usr/src/uts/common/inet/ip/ip_ftable.c
1515
ire->ire_dep_parent_generation) {
usr/src/uts/common/inet/ip/ip_ftable.c
1516
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1517
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
1520
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1527
if (ire->ire_nce_capable) {
usr/src/uts/common/inet/ip/ip_ftable.c
1528
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
1531
ASSERT(!(ire->ire_type & IRE_IF_CLONE));
usr/src/uts/common/inet/ip/ip_ftable.c
1536
if (ire->ire_type & IRE_INTERFACE) {
usr/src/uts/common/inet/ip/ip_ftable.c
154
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
1540
ASSERT(ire->ire_masklen != IPV4_ABITS);
usr/src/uts/common/inet/ip/ip_ftable.c
1555
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
156
DTRACE_PROBE2(ire__found, ire_ftable_args_t *, &margs, ire_t *, ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1561
clone = ire_create_if_clone(ire, &v6nexthop,
usr/src/uts/common/inet/ip/ip_ftable.c
1569
ire = ire_blackhole(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip_ftable.c
1587
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
1602
nexthop = ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/ip_ftable.c
1603
if (ill == NULL && ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
1604
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ftable.c
1609
ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
1611
ASSERT(ire == NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
1612
ire = ire_reject(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip_ftable.c
1615
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
1632
ASSERT((ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip_ftable.c
1640
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1643
ASSERT(ire == NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
165
if (ire->ire_bucket->irb_ire_cnt > 1 && !(flags & MATCH_IRE_GW)) {
usr/src/uts/common/inet/ip/ip_ftable.c
1652
ire = ire_reject(ipst, B_FALSE);
usr/src/uts/common/inet/ip/ip_ftable.c
168
IS_DEFAULT_ROUTE(ire))) {
usr/src/uts/common/inet/ip/ip_ftable.c
172
next_ire = ire_round_robin(ire->ire_bucket, &margs,
usr/src/uts/common/inet/ip/ip_ftable.c
1722
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
1727
ire = ire_ftable_lookup_simple_v4(nexthop, xmit_hint, ipst,
usr/src/uts/common/inet/ip/ip_ftable.c
1729
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
173
xmit_hint, ire, ipst);
usr/src/uts/common/inet/ip/ip_ftable.c
1735
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1736
if (ire->ire_dep_parent != NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
1737
if (ire->ire_dep_parent->ire_generation ==
usr/src/uts/common/inet/ip/ip_ftable.c
1738
ire->ire_dep_parent_generation) {
usr/src/uts/common/inet/ip/ip_ftable.c
1739
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1740
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1742
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1744
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1750
if (ire->ire_nce_capable)
usr/src/uts/common/inet/ip/ip_ftable.c
1751
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1758
ire1 = ire_route_recursive_impl_v4(ire, nexthop, 0, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ftable.c
1761
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1771
ire_clone_verify(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ftable.c
1773
ASSERT((ire->ire_type & IRE_IF_CLONE) != 0);
usr/src/uts/common/inet/ip/ip_ftable.c
1774
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1775
if (ire->ire_dep_parent != NULL &&
usr/src/uts/common/inet/ip/ip_ftable.c
1776
ire->ire_dep_parent->ire_generation !=
usr/src/uts/common/inet/ip/ip_ftable.c
1777
ire->ire_dep_parent_generation) {
usr/src/uts/common/inet/ip/ip_ftable.c
1778
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
1779
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
178
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
1782
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
179
ire = next_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
186
*generationp = ire->ire_generation;
usr/src/uts/common/inet/ip/ip_ftable.c
201
if ((ire->ire_type & IRE_LOCAL) && zoneid != ALL_ZONES &&
usr/src/uts/common/inet/ip/ip_ftable.c
202
ire->ire_zoneid != zoneid && ire->ire_zoneid != ALL_ZONES &&
usr/src/uts/common/inet/ip/ip_ftable.c
204
ire = ire_alt_local(ire, zoneid, tsl, ill, generationp);
usr/src/uts/common/inet/ip/ip_ftable.c
205
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
207
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
226
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
251
ire = irb->irb_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
252
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
256
while (IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_ftable.c
257
ire = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ftable.c
258
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
265
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
279
if (ire->ire_bucket->irb_ire_cnt > 1) {
usr/src/uts/common/inet/ip/ip_ftable.c
282
IS_DEFAULT_ROUTE(ire))) {
usr/src/uts/common/inet/ip/ip_ftable.c
290
next_ire = ire_round_robin(ire->ire_bucket, &margs,
usr/src/uts/common/inet/ip/ip_ftable.c
291
xmit_hint, ire, ipst);
usr/src/uts/common/inet/ip/ip_ftable.c
295
*generationp = ire->ire_generation;
usr/src/uts/common/inet/ip/ip_ftable.c
297
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
299
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
300
ire = next_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
305
*generationp = ire->ire_generation;
usr/src/uts/common/inet/ip/ip_ftable.c
313
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
345
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
348
ire = ire_route_recursive_v4(group, 0, NULL, zoneid, NULL,
usr/src/uts/common/inet/ip/ip_ftable.c
350
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
351
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_ftable.c
352
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
357
*multirtp = (ire->ire_flags & RTF_MULTIRT) != 0;
usr/src/uts/common/inet/ip/ip_ftable.c
359
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
360
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
368
ire_del_host_redir(ire_t *ire, char *gateway)
usr/src/uts/common/inet/ip/ip_ftable.c
370
if ((ire->ire_flags & RTF_DYNAMIC) &&
usr/src/uts/common/inet/ip/ip_ftable.c
371
(ire->ire_gateway_addr == *(ipaddr_t *)gateway))
usr/src/uts/common/inet/ip/ip_ftable.c
372
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
407
ire_get_bucket(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ftable.c
413
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ftable.c
421
rdst.rt_sin_addr.s_addr = ire->ire_addr;
usr/src/uts/common/inet/ip/ip_ftable.c
426
rmask.rt_sin_addr.s_addr = ire->ire_mask;
usr/src/uts/common/inet/ip/ip_ftable.c
481
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
502
if ((ire = route_to_dst(ipaddr, zoneid, ipst)) != NULL) {
usr/src/uts/common/inet/ip/ip_ftable.c
503
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
508
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
521
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
529
ire = ire_route_recursive_v4(
usr/src/uts/common/inet/ip/ip_ftable.c
534
ire = ire_route_recursive_v6(
usr/src/uts/common/inet/ip/ip_ftable.c
539
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ftable.c
540
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_ftable.c
541
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
544
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
665
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ftable.c
677
for (ire = irb_ptr->irb_ire; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip_ftable.c
678
if (IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip_ftable.c
684
match_mask = ire->ire_mask;
usr/src/uts/common/inet/ip/ip_ftable.c
686
if (ire_match_args(ire, margs->ift_addr, match_mask,
usr/src/uts/common/inet/ip/ip_ftable.c
690
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
692
margs->ift_best_ire = ire;
usr/src/uts/common/inet/ip/ip_ftable.c
76
#define IS_DEFAULT_ROUTE(ire) \
usr/src/uts/common/inet/ip/ip_ftable.c
77
(((ire)->ire_type & IRE_DEFAULT) || \
usr/src/uts/common/inet/ip/ip_ftable.c
78
(((ire)->ire_type & IRE_INTERFACE) && ((ire)->ire_addr == 0)))
usr/src/uts/common/inet/ip/ip_ftable.c
810
ire_t *ire, *maybe_ire = NULL;
usr/src/uts/common/inet/ip/ip_ftable.c
839
ire = irb_ptr->irb_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
841
if (IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip_ftable.c
851
if (ire->ire_type != orig_ire->ire_type ||
usr/src/uts/common/inet/ip/ip_ftable.c
852
((ire->ire_flags ^ orig_ire->ire_flags) & RTF_MULTIRT) != 0)
usr/src/uts/common/inet/ip/ip_ftable.c
862
if (ire->ire_ipversion == IPV6_VERSION) {
usr/src/uts/common/inet/ip/ip_ftable.c
864
&ire->ire_addr_v6))
usr/src/uts/common/inet/ip/ip_ftable.c
872
if (ire->ire_ipversion == IPV4_VERSION ?
usr/src/uts/common/inet/ip/ip_ftable.c
873
!ire_match_args(ire, margs->ift_addr,
usr/src/uts/common/inet/ip/ip_ftable.c
874
ire->ire_mask, margs->ift_gateway,
usr/src/uts/common/inet/ip/ip_ftable.c
877
!ire_match_args_v6(ire, &margs->ift_addr_v6,
usr/src/uts/common/inet/ip/ip_ftable.c
878
&ire->ire_mask_v6, &margs->ift_gateway_v6,
usr/src/uts/common/inet/ip/ip_ftable.c
884
(ire->ire_type & IRE_OFFLINK)) {
usr/src/uts/common/inet/ip/ip_ftable.c
890
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ftable.c
892
ire->ire_gateway_addr, margs->ift_zoneid,
usr/src/uts/common/inet/ip/ip_ftable.c
893
ire->ire_ill, margs->ift_tsl, ipst,
usr/src/uts/common/inet/ip/ip_ftable.c
898
&ire->ire_gateway_addr_v6,
usr/src/uts/common/inet/ip/ip_ftable.c
899
margs->ift_zoneid, ire->ire_ill,
usr/src/uts/common/inet/ip/ip_ftable.c
904
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
906
if (ire->ire_badcnt != 0 &&
usr/src/uts/common/inet/ip/ip_ftable.c
907
(TICK_TO_SEC(ddi_get_lbolt64()) - ire->ire_last_badcnt >
usr/src/uts/common/inet/ip/ip_ftable.c
909
ire->ire_badcnt = 0;
usr/src/uts/common/inet/ip/ip_ftable.c
910
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ftable.c
912
if (ire->ire_badcnt == 0) {
usr/src/uts/common/inet/ip/ip_ftable.c
914
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ftable.c
919
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ftable.c
929
return (ire);
usr/src/uts/common/inet/ip/ip_ftable.c
937
maybe_ire = ire;
usr/src/uts/common/inet/ip/ip_ftable.c
938
maybe_badcnt = ire->ire_badcnt;
usr/src/uts/common/inet/ip/ip_ftable.c
939
} else if (ire->ire_badcnt < maybe_badcnt) {
usr/src/uts/common/inet/ip/ip_ftable.c
940
maybe_ire = ire;
usr/src/uts/common/inet/ip/ip_ftable.c
941
maybe_badcnt = ire->ire_badcnt;
usr/src/uts/common/inet/ip/ip_ftable.c
947
ire = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ftable.c
948
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_ftable.c
949
ire = irb_ptr->irb_ire;
usr/src/uts/common/inet/ip/ip_ftable.c
955
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_if.c
10870
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
10894
ire = ire_ftable_lookup_v4(addr, 0, 0, IRE_BROADCAST,
usr/src/uts/common/inet/ip/ip_if.c
10897
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
10900
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
1233
ill_downi(ire_t *ire, char *ill_arg)
usr/src/uts/common/inet/ip/ip_if.c
1238
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
1239
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_if.c
1241
ire->ire_nce_cache = NULL;
usr/src/uts/common/inet/ip/ip_if.c
1244
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
1247
if (ire->ire_ill == ill) {
usr/src/uts/common/inet/ip/ip_if.c
1259
ASSERT(ire->ire_bucket->irb_refcnt > 0);
usr/src/uts/common/inet/ip/ip_if.c
1260
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
1261
if (ire->ire_unbound)
usr/src/uts/common/inet/ip/ip_if.c
1262
ire_rebind(ire);
usr/src/uts/common/inet/ip/ip_if.c
1268
ill_downi_if_clone(ire_t *ire, char *ill_arg)
usr/src/uts/common/inet/ip/ip_if.c
1272
ASSERT(ire->ire_type & IRE_IF_CLONE);
usr/src/uts/common/inet/ip/ip_if.c
1273
if (ire->ire_ill == ill)
usr/src/uts/common/inet/ip/ip_if.c
1274
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
14130
ire_t *ire, *nire;
usr/src/uts/common/inet/ip/ip_if.c
14138
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip_if.c
14149
ire = ire_create(
usr/src/uts/common/inet/ip/ip_if.c
14160
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
14167
ire->ire_setsrc_addr_v6 =
usr/src/uts/common/inet/ip/ip_if.c
14170
ire->ire_setsrc_addr = ifrt->ifrt_setsrc_addr;
usr/src/uts/common/inet/ip/ip_if.c
14186
ire->ire_type = IRE_IF_NORESOLVER;
usr/src/uts/common/inet/ip/ip_if.c
14192
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip_if.c
14199
} else if (nire != ire) {
usr/src/uts/common/inet/ip/ip_if.c
14560
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
14571
ire = ire_create_v6(&dummy6, 0, 0, IRE_MULTICAST, ill,
usr/src/uts/common/inet/ip/ip_if.c
14574
ire = ire_create((uchar_t *)&dummy4, 0, 0, IRE_MULTICAST, ill,
usr/src/uts/common/inet/ip/ip_if.c
14577
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_if.c
14580
ill->ill_ire_multicast = ire;
usr/src/uts/common/inet/ip/ip_if.c
15120
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
15122
ire = ire_ftable_lookup_v4(ipif->ipif_brd_addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
15126
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
15136
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15186
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
15189
ire = ipif->ipif_ire_local;
usr/src/uts/common/inet/ip/ip_if.c
15192
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
15197
atomic_add_32(&ipif->ipif_ib_pkt_count, ire->ire_ib_pkt_count);
usr/src/uts/common/inet/ip/ip_if.c
15199
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
15200
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_if.c
15203
ire = ipif->ipif_ire_if;
usr/src/uts/common/inet/ip/ip_if.c
15206
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
15207
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
15208
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_if.c
15728
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
15737
ire = ire_lookup_bcast(ill, 0, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15738
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15739
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15740
ire = ire_lookup_bcast(ill, INADDR_BROADCAST, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15741
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15742
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15755
ire = ire_lookup_bcast(ill, addr, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15756
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15757
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15758
ire = ire_lookup_bcast(ill, ~netmask | addr, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15759
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15760
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15771
ire = ire_lookup_bcast(ill, addr, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15772
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15773
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
15774
ire = ire_lookup_bcast(ill, ~subnetmask | addr, zoneid);
usr/src/uts/common/inet/ip/ip_if.c
15775
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
15776
ire_delete(ire); ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
17147
ill_save_ire(ill_t *ill, ire_t *ire)
usr/src/uts/common/inet/ip/ip_if.c
17158
ifrt->ifrt_type = ire->ire_type;
usr/src/uts/common/inet/ip/ip_if.c
17159
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_if.c
17161
ifrt->ifrt_addr = ire->ire_addr;
usr/src/uts/common/inet/ip/ip_if.c
17162
ifrt->ifrt_gateway_addr = ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/ip_if.c
17163
ifrt->ifrt_setsrc_addr = ire->ire_setsrc_addr;
usr/src/uts/common/inet/ip/ip_if.c
17164
ifrt->ifrt_mask = ire->ire_mask;
usr/src/uts/common/inet/ip/ip_if.c
17167
ifrt->ifrt_v6addr = ire->ire_addr_v6;
usr/src/uts/common/inet/ip/ip_if.c
17169
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
17170
ifrt->ifrt_v6gateway_addr = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_if.c
17171
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
17172
ifrt->ifrt_v6setsrc_addr = ire->ire_setsrc_addr_v6;
usr/src/uts/common/inet/ip/ip_if.c
17173
ifrt->ifrt_v6mask = ire->ire_mask_v6;
usr/src/uts/common/inet/ip/ip_if.c
17175
ifrt->ifrt_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip_if.c
17176
ifrt->ifrt_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_if.c
17189
ill_remove_saved_ire(ill_t *ill, ire_t *ire)
usr/src/uts/common/inet/ip/ip_if.c
17208
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
17209
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_if.c
17210
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_if.c
17212
if (ifrt->ifrt_zoneid != ire->ire_zoneid ||
usr/src/uts/common/inet/ip/ip_if.c
17213
ifrt->ifrt_type != ire->ire_type)
usr/src/uts/common/inet/ip/ip_if.c
17218
&ire->ire_addr_v6) &&
usr/src/uts/common/inet/ip/ip_if.c
17222
&ire->ire_mask_v6)) :
usr/src/uts/common/inet/ip/ip_if.c
17223
(ifrt->ifrt_addr == ire->ire_addr &&
usr/src/uts/common/inet/ip/ip_if.c
17224
ifrt->ifrt_gateway_addr == ire->ire_gateway_addr &&
usr/src/uts/common/inet/ip/ip_if.c
17225
ifrt->ifrt_mask == ire->ire_mask)) {
usr/src/uts/common/inet/ip/ip_if.c
17248
ip_cgtp_bcast_add(ire_t *ire, ip_stack_t *ipst)
usr/src/uts/common/inet/ip/ip_if.c
17252
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
17254
ire_prim = ire_ftable_lookup_v4(ire->ire_gateway_addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
17275
(uchar_t *)&ire->ire_addr,
usr/src/uts/common/inet/ip/ip_if.c
17277
(uchar_t *)&ire->ire_gateway_addr,
usr/src/uts/common/inet/ip/ip_if.c
17281
ire->ire_flags | RTF_KERNEL,
usr/src/uts/common/inet/ip/ip_if.c
17290
if (ire->ire_flags & RTF_SETSRC) {
usr/src/uts/common/inet/ip/ip_if.c
17292
ire->ire_setsrc_addr;
usr/src/uts/common/inet/ip/ip_if.c
17318
ip_cgtp_bcast_delete(ire_t *ire, ip_stack_t *ipst)
usr/src/uts/common/inet/ip/ip_if.c
17320
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
17322
if (ip_type_v4(ire->ire_addr, ipst) == IRE_BROADCAST) {
usr/src/uts/common/inet/ip/ip_if.c
17325
ire_prim = ire_ftable_lookup_v4(ire->ire_gateway_addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
17338
bcast_ire = ire_ftable_lookup_v4(ire->ire_addr, 0,
usr/src/uts/common/inet/ip/ip_if.c
17339
ire->ire_gateway_addr, IRE_BROADCAST,
usr/src/uts/common/inet/ip/ip_if.c
5413
ire_t *ire, *nire;
usr/src/uts/common/inet/ip/ip_if.c
5474
ire = ire_ftable_lookup_v4(dst_addr, 0, 0, IRE_LOOPBACK,
usr/src/uts/common/inet/ip/ip_if.c
5477
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5478
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
5486
ire = ire_create(
usr/src/uts/common/inet/ip/ip_if.c
5497
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5503
ire->ire_setsrc_addr = src_addr;
usr/src/uts/common/inet/ip/ip_if.c
5505
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip_if.c
5519
if (nire != ire) {
usr/src/uts/common/inet/ip/ip_if.c
5526
ire = nire;
usr/src/uts/common/inet/ip/ip_if.c
5631
ire = ire_ftable_lookup_v4(dst_addr, mask, gw_addr,
usr/src/uts/common/inet/ip/ip_if.c
5634
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5635
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
5667
ire = ire_create(
usr/src/uts/common/inet/ip/ip_if.c
5677
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5684
ire->ire_setsrc_addr = src_addr;
usr/src/uts/common/inet/ip/ip_if.c
5686
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip_if.c
5700
if (nire != ire) {
usr/src/uts/common/inet/ip/ip_if.c
5706
ire = nire;
usr/src/uts/common/inet/ip/ip_if.c
5774
ire = ire_ftable_lookup_v4(dst_addr, mask, gw_addr, type, ill,
usr/src/uts/common/inet/ip/ip_if.c
5777
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5781
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
5821
ire = ire_create(
usr/src/uts/common/inet/ip/ip_if.c
5839
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
5850
ip_type_v4(ire->ire_addr, ipst) == IRE_BROADCAST);
usr/src/uts/common/inet/ip/ip_if.c
5854
ire->ire_setsrc_addr = src_addr;
usr/src/uts/common/inet/ip/ip_if.c
5856
ire->ire_unbound = unbound;
usr/src/uts/common/inet/ip/ip_if.c
5864
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip_if.c
5880
if (nire != ire) {
usr/src/uts/common/inet/ip/ip_if.c
5888
ire = nire;
usr/src/uts/common/inet/ip/ip_if.c
5902
ip_cgtp_bcast_add(ire, ipst);
usr/src/uts/common/inet/ip/ip_if.c
5906
!CLASSD(ire->ire_addr)) {
usr/src/uts/common/inet/ip/ip_if.c
5917
ire->ire_addr,
usr/src/uts/common/inet/ip/ip_if.c
5918
ire->ire_gateway_addr,
usr/src/uts/common/inet/ip/ip_if.c
5919
ire->ire_setsrc_addr,
usr/src/uts/common/inet/ip/ip_if.c
5929
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
5930
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip_if.c
5950
ill_save_ire(ill, ire);
usr/src/uts/common/inet/ip/ip_if.c
5953
ip_rts_rtmsg(RTM_OLDADD, ire, 0, ipst);
usr/src/uts/common/inet/ip/ip_if.c
5961
*ire_arg = ire;
usr/src/uts/common/inet/ip/ip_if.c
5963
ire_refrele(ire); /* Held in ire_add */
usr/src/uts/common/inet/ip/ip_if.c
5980
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip_if.c
6028
ire = ire_ftable_lookup_v4(dst_addr, mask, 0,
usr/src/uts/common/inet/ip/ip_if.c
6032
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
6034
ire = ire_ftable_lookup_v4(dst_addr, mask, gw_addr,
usr/src/uts/common/inet/ip/ip_if.c
6039
if (ire != NULL && (ire->ire_flags & RTF_KERNEL)) {
usr/src/uts/common/inet/ip/ip_if.c
6040
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
6041
ire = NULL;
usr/src/uts/common/inet/ip/ip_if.c
6048
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_if.c
6067
ire = ire_ftable_lookup_v4(dst_addr, mask, gw_addr, type, ill,
usr/src/uts/common/inet/ip/ip_if.c
6076
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_if.c
6079
if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip_if.c
6089
ire->ire_addr, ire->ire_gateway_addr);
usr/src/uts/common/inet/ip/ip_if.c
6091
ip_cgtp_bcast_delete(ire, ipst);
usr/src/uts/common/inet/ip/ip_if.c
6094
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_if.c
6096
ill_remove_saved_ire(ill, ire);
usr/src/uts/common/inet/ip/ip_if.c
6098
ip_rts_rtmsg(RTM_OLDDEL, ire, 0, ipst);
usr/src/uts/common/inet/ip/ip_if.c
6099
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_if.c
6100
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
7882
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
7939
ire = ire_route_recursive_v4(v4daddr, 0, NULL, zoneid,
usr/src/uts/common/inet/ip/ip_if.c
7944
ire = ire_route_recursive_v6(daddr, 0, NULL, zoneid,
usr/src/uts/common/inet/ip/ip_if.c
7948
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_if.c
7949
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_if.c
7950
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
7958
dst_ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip_if.c
7960
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
7990
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
8016
ire_t *ire;
usr/src/uts/common/inet/ip/ip_if.c
8040
ire = ire_ftable_lookup_v4(v4_addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
8047
ire = ire_ftable_lookup_v6(&v6addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
8057
ire = ire_ftable_lookup_v4(v4addr, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
8065
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
8067
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
8096
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip_if.c
8125
ire = ire_ftable_lookup_v4(v4_addr, 0, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
8134
ire = ire_ftable_lookup_v6(&v6addr, 0, 0, 0,
usr/src/uts/common/inet/ip/ip_if.c
8146
ire = ire_ftable_lookup_v4(v4addr, 0, 0, 0, NULL,
usr/src/uts/common/inet/ip/ip_if.c
8155
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_if.c
8156
ASSERT(!(ire->ire_type & IRE_MULTICAST));
usr/src/uts/common/inet/ip/ip_if.c
8158
if ((ire->ire_type & IRE_ONLINK) &&
usr/src/uts/common/inet/ip/ip_if.c
8159
!(ire->ire_type & IRE_BROADCAST))
usr/src/uts/common/inet/ip/ip_if.c
8161
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
8427
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip_if.c
8482
ire = ire_ftable_lookup_v4(sin->sin_addr.s_addr,
usr/src/uts/common/inet/ip/ip_if.c
8485
if (ire == NULL || ((ill = ire->ire_ill) == NULL)) {
usr/src/uts/common/inet/ip/ip_if.c
8486
if (ire != NULL)
usr/src/uts/common/inet/ip/ip_if.c
8487
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_if.c
8490
ASSERT(ire != NULL && ill != NULL);
usr/src/uts/common/inet/ip/ip_if.c
8493
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_input.c
1056
ip_send_potential_redirect_v4(mp, ipha, ire, ira);
usr/src/uts/common/inet/ip/ip_input.c
1079
if ((mp1 = tsol_ip_forward(ire, mp, ira)) == NULL) {
usr/src/uts/common/inet/ip/ip_input.c
1105
if ((iremtu = ire->ire_metrics.iulp_mtu) != 0 && iremtu < mtu)
usr/src/uts/common/inet/ip/ip_input.c
1240
ire_recv_noroute_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1274
if (ire->ire_flags & RTF_BLACKHOLE) {
usr/src/uts/common/inet/ip/ip_input.c
1295
ire_recv_noaccept_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_input.c
1309
ire_recv_broadcast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_input.c
1314
ill_t *dst_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_input.c
1369
if (dst_ill == ill && !(ire->ire_flags & RTF_MULTIRT)) {
usr/src/uts/common/inet/ip/ip_input.c
1371
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1397
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_input.c
1417
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1428
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1495
ire_recv_multicast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_input.c
1502
ASSERT(ire->ire_ill == ira->ira_ill);
usr/src/uts/common/inet/ip/ip_input.c
1539
ASSERT(ire->ire_ill == ira->ira_ill);
usr/src/uts/common/inet/ip/ip_input.c
1633
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1635
if (ill != ire->ire_ill) {
usr/src/uts/common/inet/ip/ip_input.c
1637
ira->ira_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_input.c
1648
ire_recv_multirt_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1664
ire_recv_loopback_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1668
ill_t *ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_input.c
1682
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1690
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1697
ire_recv_local_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1701
ill_t *ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_input.c
1704
ire->ire_last_used_time = LBOLT_FASTPATH;
usr/src/uts/common/inet/ip/ip_input.c
1707
ira->ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_input.c
1720
new_ire = ip_check_multihome(&ipha->ipha_dst, ire, ill);
usr/src/uts/common/inet/ip/ip_input.c
1749
if (new_ire != ire)
usr/src/uts/common/inet/ip/ip_input.c
1754
ip_input_local_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1762
ip_input_local_v4(ire_t *ire, mblk_t *mp, ipha_t *ipha, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1820
ip_input_broadcast_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1822
ip_input_multicast_v4(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
1840
ip_input_broadcast_v4(ire_t *ire, mblk_t *mp, ipha_t *ipha, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
1852
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_input.c
1860
ira->ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_input.c
1868
if (ire1 == ire)
usr/src/uts/common/inet/ip/ip_input.c
1876
ASSERT(ire1->ire_addr == ire->ire_addr);
usr/src/uts/common/inet/ip/ip_input.c
1902
ira->ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_input.c
1920
ip_input_multicast_v4(ire_t *ire, mblk_t *mp, ipha_t *ipha, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
559
ire_t *ire;
usr/src/uts/common/inet/ip/ip_input.c
784
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip_input.c
787
ire = ire_route_recursive_v4(nexthop, 0, NULL,
usr/src/uts/common/inet/ip/ip_input.c
793
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_input.c
796
rtc->rtc_ire = ire;
usr/src/uts/common/inet/ip/ip_input.c
800
ire = rtc->rtc_ire;
usr/src/uts/common/inet/ip/ip_input.c
804
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip_input.c
807
ire = ire_route_recursive_dstonly_v4(nexthop, irr_flags,
usr/src/uts/common/inet/ip/ip_input.c
810
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_input.c
813
rtc->rtc_ire = ire;
usr/src/uts/common/inet/ip/ip_input.c
817
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip_input.c
830
(*ire->ire_recvfn)(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
838
ire_recv_forward_v4(ire_t *ire, mblk_t *mp, void *iph_arg, ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/ip_input.c
876
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_input.c
877
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_input.c
880
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_input.c
881
(void) ire_revalidate_nce(ire);
usr/src/uts/common/inet/ip/ip_input.c
882
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_input.c
883
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_input.c
885
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_input.c
894
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_input.c
899
nce1 = ire_handle_condemned_nce(nce, ire, ipha, NULL, B_FALSE);
usr/src/uts/common/inet/ip/ip_input.c
931
if (ire->ire_zoneid != GLOBAL_ZONEID && ire->ire_zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip_input.c
934
ire->ire_ib_pkt_count--;
usr/src/uts/common/inet/ip/ip_input.c
947
ire = ire_route_recursive_v4(dst, 0, NULL, GLOBAL_ZONEID,
usr/src/uts/common/inet/ip/ip_input.c
951
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip_input.c
952
(*ire->ire_recvfn)(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_input.c
953
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1015
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
1034
for (ire = irb->irb_ire; ire != NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1035
ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip_ire.c
1043
ire_type, ire, ill,
usr/src/uts/common/inet/ip/ip_ire.c
1047
(*func)(ire, arg);
usr/src/uts/common/inet/ip/ip_ire.c
1094
ire_atomic_end(irb_t *irb_ptr, ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1098
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
1109
ire_atomic_start(irb_t *irb_ptr, ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1113
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
1126
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1127
DTRACE_PROBE1(ire__add__on__dying__ill, ire_t *, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1135
IRE_HIDDEN_TYPE(ire->ire_type) &&
usr/src/uts/common/inet/ip/ip_ire.c
1136
!ire->ire_testhidden) {
usr/src/uts/common/inet/ip/ip_ire.c
1141
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1159
ire_add(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1161
if (IRE_HIDDEN_TYPE(ire->ire_type) &&
usr/src/uts/common/inet/ip/ip_ire.c
1162
ire->ire_ill != NULL && IS_UNDER_IPMP(ire->ire_ill)) {
usr/src/uts/common/inet/ip/ip_ire.c
1171
ire->ire_testhidden = B_TRUE;
usr/src/uts/common/inet/ip/ip_ire.c
1174
if (ire->ire_ipversion == IPV6_VERSION)
usr/src/uts/common/inet/ip/ip_ire.c
1175
return (ire_add_v6(ire));
usr/src/uts/common/inet/ip/ip_ire.c
1177
return (ire_add_v4(ire));
usr/src/uts/common/inet/ip/ip_ire.c
1189
ire_add_v4(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1196
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1198
if (ire->ire_ill != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
1199
ASSERT(!MUTEX_HELD(&ire->ire_ill->ill_lock));
usr/src/uts/common/inet/ip/ip_ire.c
1200
ASSERT(ire->ire_ipversion == IPV4_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
1203
ire->ire_addr &= ire->ire_mask;
usr/src/uts/common/inet/ip/ip_ire.c
1207
if (ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1210
irb_ptr = ire_get_bucket(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1212
printf("no bucket for %p\n", (void *)ire);
usr/src/uts/common/inet/ip/ip_ire.c
1213
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1221
error = ire_atomic_start(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1223
printf("no ire_atomic_start for %p\n", (void *)ire);
usr/src/uts/common/inet/ip/ip_ire.c
1224
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1234
if (ire->ire_testhidden)
usr/src/uts/common/inet/ip/ip_ire.c
1247
if (ire1->ire_zoneid != ire->ire_zoneid)
usr/src/uts/common/inet/ip/ip_ire.c
1250
if (ire1->ire_type != ire->ire_type)
usr/src/uts/common/inet/ip/ip_ire.c
1260
if (ire_match_args(ire1, ire->ire_addr, ire->ire_mask,
usr/src/uts/common/inet/ip/ip_ire.c
1261
ire->ire_gateway_addr, ire->ire_type, ire->ire_ill,
usr/src/uts/common/inet/ip/ip_ire.c
1262
ire->ire_zoneid, NULL, match_flags)) {
usr/src/uts/common/inet/ip/ip_ire.c
1274
if (ire->ire_type != IRE_IF_CLONE) {
usr/src/uts/common/inet/ip/ip_ire.c
1277
ire_t *, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1280
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1281
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1300
if ((ire->ire_type & IRE_IF_CLONE) ||
usr/src/uts/common/inet/ip/ip_ire.c
1301
((ire->ire_type & IRE_BROADCAST) &&
usr/src/uts/common/inet/ip/ip_ire.c
1302
!(ire->ire_flags & RTF_MULTIRT))) {
usr/src/uts/common/inet/ip/ip_ire.c
1309
ire1->ire_ptpn = &ire->ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1310
ire->ire_next = ire1;
usr/src/uts/common/inet/ip/ip_ire.c
1312
ire->ire_ptpn = irep;
usr/src/uts/common/inet/ip/ip_ire.c
1327
*irep = ire;
usr/src/uts/common/inet/ip/ip_ire.c
1328
ire->ire_bucket = irb_ptr;
usr/src/uts/common/inet/ip/ip_ire.c
1340
ire_refhold_locked(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1347
if (ire->ire_ill != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1348
ire->ire_ill->ill_ire_cnt++;
usr/src/uts/common/inet/ip/ip_ire.c
1349
ASSERT(ire->ire_ill->ill_ire_cnt != 0); /* Wraparound */
usr/src/uts/common/inet/ip/ip_ire.c
1352
ire_atomic_end(irb_ptr, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1355
ire_flush_cache_v4(ire, IRE_FLUSH_ADD);
usr/src/uts/common/inet/ip/ip_ire.c
1357
if (ire->ire_ill != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
1358
ASSERT(!MUTEX_HELD(&ire->ire_ill->ill_lock));
usr/src/uts/common/inet/ip/ip_ire.c
1360
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
1368
ire_cleanup(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1371
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1373
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1375
while (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1376
ire_next = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1377
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
1378
ire_delete_v4(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1382
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
1383
ire_delete_v6(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1392
ire->ire_next = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1393
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1394
ire = ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1405
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
1416
for (ire = irb->irb_ire; ire != NULL; ire = ire1) {
usr/src/uts/common/inet/ip/ip_ire.c
1417
ire1 = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1418
if (IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_ire.c
1419
ptpn = ire->ire_ptpn;
usr/src/uts/common/inet/ip/ip_ire.c
1420
ire1 = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1424
ire->ire_ptpn = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1425
ire->ire_next = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1438
ire->ire_next = ire_list;
usr/src/uts/common/inet/ip/ip_ire.c
1439
ire_list = ire;
usr/src/uts/common/inet/ip/ip_ire.c
1488
ire_delete(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1493
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1495
if ((irb = ire->ire_bucket) == NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1500
ire_make_condemned(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1501
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1510
if (ire->ire_type & IRE_IF_CLONE) {
usr/src/uts/common/inet/ip/ip_ire.c
1514
if ((parent = ire->ire_dep_parent) != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1515
parent->ire_ob_pkt_count += ire->ire_ob_pkt_count;
usr/src/uts/common/inet/ip/ip_ire.c
1516
parent->ire_ib_pkt_count += ire->ire_ib_pkt_count;
usr/src/uts/common/inet/ip/ip_ire.c
1517
ire->ire_ob_pkt_count = 0;
usr/src/uts/common/inet/ip/ip_ire.c
1518
ire->ire_ib_pkt_count = 0;
usr/src/uts/common/inet/ip/ip_ire.c
1524
if (ire->ire_ptpn == NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1533
if (!IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_ire.c
1535
ASSERT(ire->ire_identical_ref >= 1);
usr/src/uts/common/inet/ip/ip_ire.c
1536
if (atomic_dec_32_nv(&ire->ire_identical_ref) != 0) {
usr/src/uts/common/inet/ip/ip_ire.c
1543
ire_make_condemned(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1565
ptpn = ire->ire_ptpn;
usr/src/uts/common/inet/ip/ip_ire.c
1566
ire1 = ire->ire_next;
usr/src/uts/common/inet/ip/ip_ire.c
1571
ire->ire_ptpn = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1572
ire->ire_next = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1573
if (ire->ire_ipversion == IPV6_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
1581
if (ire->ire_ipversion == IPV6_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
1582
ire_delete_v6(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1584
ire_delete_v4(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1590
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1602
ire_delete_v4(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1604
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1606
ASSERT(ire->ire_refcnt >= 1);
usr/src/uts/common/inet/ip/ip_ire.c
1607
ASSERT(ire->ire_ipversion == IPV4_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
1609
ire_flush_cache_v4(ire, IRE_FLUSH_DELETE);
usr/src/uts/common/inet/ip/ip_ire.c
1610
if (ire->ire_type == IRE_DEFAULT) {
usr/src/uts/common/inet/ip/ip_ire.c
1616
ire_delete_host_redirects(ire->ire_gateway_addr, ipst);
usr/src/uts/common/inet/ip/ip_ire.c
1624
if ((ire->ire_type & IRE_INTERFACE) && ire->ire_dep_children != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
1625
ire_dep_delete_if_clone(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1629
if (ire->ire_dep_parent != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
1630
ire_dep_remove(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1632
while (ire->ire_dep_children != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
1633
ire_dep_remove(ire->ire_dep_children);
usr/src/uts/common/inet/ip/ip_ire.c
1642
ire_inactive(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
1646
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1648
ASSERT(ire->ire_refcnt == 0);
usr/src/uts/common/inet/ip/ip_ire.c
1649
ASSERT(ire->ire_ptpn == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1650
ASSERT(ire->ire_next == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1653
ASSERT(IRE_IS_CONDEMNED(ire));
usr/src/uts/common/inet/ip/ip_ire.c
1656
if (ire->ire_gw_secattr != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
1657
ire_gw_secattr_free(ire->ire_gw_secattr);
usr/src/uts/common/inet/ip/ip_ire.c
1658
ire->ire_gw_secattr = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1665
ASSERT(ire->ire_nce_cache == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1671
ASSERT(ire->ire_dep_parent == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1672
ASSERT(ire->ire_dep_sib_next == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1673
ASSERT(ire->ire_dep_sib_ptpn == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1679
ASSERT(ire->ire_dep_children == NULL);
usr/src/uts/common/inet/ip/ip_ire.c
1685
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_ire.c
1686
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
1691
(char *), "ire", (void *), ire);
usr/src/uts/common/inet/ip/ip_ire.c
1700
ire->ire_ill = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
1719
ire_trace_cleanup(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1721
mutex_destroy(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
1722
if (ire->ire_ipversion == IPV6_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
1727
kmem_cache_free(ire_cache, ire);
usr/src/uts/common/inet/ip/ip_ire.c
1756
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
1775
for (ire = irb->irb_ire; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip_ire.c
1776
if (!IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip_ire.c
1777
ire_increment_generation(ire); /* Ourselves */
usr/src/uts/common/inet/ip/ip_ire.c
1778
ire_dep_incr_generation_locked(ire); /* Dependants */
usr/src/uts/common/inet/ip/ip_ire.c
1793
ire_flush_cache_v4(ire_t *ire, int flag)
usr/src/uts/common/inet/ip/ip_ire.c
1795
irb_t *irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_ire.c
1797
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1804
if (ire->ire_type & IRE_IF_CLONE)
usr/src/uts/common/inet/ip/ip_ire.c
1826
if (ire->ire_type == IRE_DEFAULT && flag == IRE_FLUSH_ADD) {
usr/src/uts/common/inet/ip/ip_ire.c
1838
ire_dep_incr_generation(ire);
usr/src/uts/common/inet/ip/ip_ire.c
1860
ire_match_args(ire_t *ire, ipaddr_t addr, ipaddr_t mask, ipaddr_t gateway,
usr/src/uts/common/inet/ip/ip_ire.c
1865
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
1867
ASSERT(ire->ire_ipversion == IPV4_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
1868
ASSERT((ire->ire_addr & ~ire->ire_mask) == 0);
usr/src/uts/common/inet/ip/ip_ire.c
1876
if (ire->ire_testhidden) {
usr/src/uts/common/inet/ip/ip_ire.c
1881
if (zoneid != ALL_ZONES && zoneid != ire->ire_zoneid &&
usr/src/uts/common/inet/ip/ip_ire.c
1882
ire->ire_zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip_ire.c
1912
if (ire->ire_type & IRE_LOOPBACK)
usr/src/uts/common/inet/ip/ip_ire.c
1915
if (ire->ire_type & IRE_LOCAL)
usr/src/uts/common/inet/ip/ip_ire.c
1925
dst_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
1926
if (ire->ire_type & IRE_ONLINK) {
usr/src/uts/common/inet/ip/ip_ire.c
1958
if (dst_ill != NULL && (ire->ire_type & IRE_OFFLINK)) {
usr/src/uts/common/inet/ip/ip_ire.c
1978
ire_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
1991
!(ire->ire_type & IRE_LOCAL)) {
usr/src/uts/common/inet/ip/ip_ire.c
1992
if (ire->ire_ill != ill)
usr/src/uts/common/inet/ip/ip_ire.c
2015
if ((ire->ire_addr == (addr & mask)) &&
usr/src/uts/common/inet/ip/ip_ire.c
2017
(ire->ire_gateway_addr == gateway)) &&
usr/src/uts/common/inet/ip/ip_ire.c
2019
!(ire->ire_flags & RTF_INDIRECT)) &&
usr/src/uts/common/inet/ip/ip_ire.c
2020
((!(match_flags & MATCH_IRE_TYPE)) || (ire->ire_type & type)) &&
usr/src/uts/common/inet/ip/ip_ire.c
2021
((!(match_flags & MATCH_IRE_TESTHIDDEN)) || ire->ire_testhidden) &&
usr/src/uts/common/inet/ip/ip_ire.c
2022
((!(match_flags & MATCH_IRE_MASK)) || (ire->ire_mask == mask)) &&
usr/src/uts/common/inet/ip/ip_ire.c
2025
(tsol_ire_match_gwattr(ire, tsl) == 0))) {
usr/src/uts/common/inet/ip/ip_ire.c
2039
ire_alt_local(ire_t *ire, zoneid_t zoneid, const ts_label_t *tsl,
usr/src/uts/common/inet/ip/ip_ire.c
2042
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
2048
ASSERT(ire->ire_type & IRE_LOCAL);
usr/src/uts/common/inet/ip/ip_ire.c
2049
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
2063
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
2064
alt_ire = ire_route_recursive_v4(ire->ire_addr, ire_type,
usr/src/uts/common/inet/ip/ip_ire.c
2068
alt_ire = ire_route_recursive_v6(&ire->ire_addr_v6, ire_type,
usr/src/uts/common/inet/ip/ip_ire.c
2074
if (alt_ire->ire_ill == ire->ire_ill) {
usr/src/uts/common/inet/ip/ip_ire.c
2079
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2080
ire = alt_ire;
usr/src/uts/common/inet/ip/ip_ire.c
2084
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
2092
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
2103
for (ire = irb->irb_ire; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip_ire.c
2104
if (IRE_IS_CONDEMNED(ire))
usr/src/uts/common/inet/ip/ip_ire.c
2107
if (!(ire->ire_type & IRE_INTERFACE))
usr/src/uts/common/inet/ip/ip_ire.c
2110
if (ire->ire_zoneid != ALL_ZONES &&
usr/src/uts/common/inet/ip/ip_ire.c
2111
ire->ire_zoneid != margs->ift_zoneid)
usr/src/uts/common/inet/ip/ip_ire.c
2114
if (margs->ift_ill != NULL && margs->ift_ill != ire->ire_ill)
usr/src/uts/common/inet/ip/ip_ire.c
2118
tsol_ire_match_gwattr(ire, margs->ift_tsl) != 0)
usr/src/uts/common/inet/ip/ip_ire.c
2176
ire_delete_reclaim(ire_t *ire, char *arg)
usr/src/uts/common/inet/ip/ip_ire.c
2178
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
2182
if ((ire->ire_flags & RTF_DYNAMIC) ||
usr/src/uts/common/inet/ip/ip_ire.c
2183
(ire->ire_type & IRE_IF_CLONE)) {
usr/src/uts/common/inet/ip/ip_ire.c
2187
IRE_ADDR_HASH_V6(ire->ire_addr_v6, 256);
usr/src/uts/common/inet/ip/ip_ire.c
2192
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ire.c
223
static ire_t *ire_add_v4(ire_t *ire);
usr/src/uts/common/inet/ip/ip_ire.c
224
static void ire_delete_v4(ire_t *ire);
usr/src/uts/common/inet/ip/ip_ire.c
2294
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
2315
ire = kmem_cache_alloc(ire_cache, KM_SLEEP);
usr/src/uts/common/inet/ip/ip_ire.c
2316
*ire = ire_null;
usr/src/uts/common/inet/ip/ip_ire.c
2317
error = ire_init_v4(ire, 0, 0, 0, IRE_NOROUTE, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ire.c
2320
ipst->ips_ire_reject_v4 = ire;
usr/src/uts/common/inet/ip/ip_ire.c
2322
ire = kmem_cache_alloc(ire_cache, KM_SLEEP);
usr/src/uts/common/inet/ip/ip_ire.c
2323
*ire = ire_null;
usr/src/uts/common/inet/ip/ip_ire.c
2324
error = ire_init_v6(ire, 0, 0, 0, IRE_NOROUTE, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ire.c
2327
ipst->ips_ire_reject_v6 = ire;
usr/src/uts/common/inet/ip/ip_ire.c
2329
ire = kmem_cache_alloc(ire_cache, KM_SLEEP);
usr/src/uts/common/inet/ip/ip_ire.c
2330
*ire = ire_null;
usr/src/uts/common/inet/ip/ip_ire.c
2331
error = ire_init_v4(ire, 0, 0, 0, IRE_NOROUTE, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ire.c
2334
ipst->ips_ire_blackhole_v4 = ire;
usr/src/uts/common/inet/ip/ip_ire.c
2336
ire = kmem_cache_alloc(ire_cache, KM_SLEEP);
usr/src/uts/common/inet/ip/ip_ire.c
2337
*ire = ire_null;
usr/src/uts/common/inet/ip/ip_ire.c
2338
error = ire_init_v6(ire, 0, 0, 0, IRE_NOROUTE, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ire.c
2341
ipst->ips_ire_blackhole_v6 = ire;
usr/src/uts/common/inet/ip/ip_ire.c
2411
ire_trace_ref(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2413
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2414
if (ire->ire_trace_disable) {
usr/src/uts/common/inet/ip/ip_ire.c
2415
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2419
if (th_trace_ref(ire, ire->ire_ipst)) {
usr/src/uts/common/inet/ip/ip_ire.c
2420
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2422
ire->ire_trace_disable = B_TRUE;
usr/src/uts/common/inet/ip/ip_ire.c
2423
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2424
ire_trace_cleanup(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2429
ire_untrace_ref(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2431
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2432
if (!ire->ire_trace_disable)
usr/src/uts/common/inet/ip/ip_ire.c
2433
th_trace_unref(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2434
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2438
ire_trace_cleanup(const ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2440
th_trace_cleanup(ire, ire->ire_trace_disable);
usr/src/uts/common/inet/ip/ip_ire.c
2610
ire_make_condemned(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2612
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
2615
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2616
ASSERT(ire->ire_bucket == NULL ||
usr/src/uts/common/inet/ip/ip_ire.c
2617
RW_WRITE_HELD(&ire->ire_bucket->irb_lock));
usr/src/uts/common/inet/ip/ip_ire.c
2618
ASSERT(!IRE_IS_CONDEMNED(ire));
usr/src/uts/common/inet/ip/ip_ire.c
2619
ire->ire_generation = IRE_GENERATION_CONDEMNED;
usr/src/uts/common/inet/ip/ip_ire.c
2622
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ire.c
2623
ire->ire_nce_cache = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
2624
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2633
ire_increment_generation(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2637
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2642
if (!IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_ire.c
2643
generation = ire->ire_generation + 1;
usr/src/uts/common/inet/ip/ip_ire.c
2647
ire->ire_generation = generation;
usr/src/uts/common/inet/ip/ip_ire.c
2649
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2686
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
2689
ire = ipst->ips_ire_reject_v6;
usr/src/uts/common/inet/ip/ip_ire.c
2691
ire = ipst->ips_ire_reject_v4;
usr/src/uts/common/inet/ip/ip_ire.c
2693
ASSERT(ire->ire_generation != IRE_GENERATION_CONDEMNED);
usr/src/uts/common/inet/ip/ip_ire.c
2694
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2695
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
2704
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
2707
ire = ipst->ips_ire_blackhole_v6;
usr/src/uts/common/inet/ip/ip_ire.c
2709
ire = ipst->ips_ire_blackhole_v4;
usr/src/uts/common/inet/ip/ip_ire.c
2711
ASSERT(ire->ire_generation != IRE_GENERATION_CONDEMNED);
usr/src/uts/common/inet/ip/ip_ire.c
2712
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2713
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
2722
ire_t *ire = ill->ill_ire_multicast;
usr/src/uts/common/inet/ip/ip_ire.c
2724
ASSERT(ire == NULL || ire->ire_generation != IRE_GENERATION_CONDEMNED);
usr/src/uts/common/inet/ip/ip_ire.c
2725
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_ire.c
2726
ire = ire_blackhole(ill->ill_ipst, ill->ill_isv6);
usr/src/uts/common/inet/ip/ip_ire.c
2728
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2729
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
2743
ire_nexthop(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2745
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
2749
while (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
2750
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_ire.c
2765
if (ire->ire_type & IRE_ONLINK)
usr/src/uts/common/inet/ip/ip_ire.c
2767
ire = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
2773
ire_refhold(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2775
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
2784
ire_nexthop_ill(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2788
ire = ire_nexthop(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2789
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_ire.c
2793
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
2796
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2804
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
2807
ire = parent->ire_dep_children;
usr/src/uts/common/inet/ip/ip_ire.c
2809
while (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
2811
ASSERT(ire->ire_dep_sib_ptpn ==
usr/src/uts/common/inet/ip/ip_ire.c
2814
ASSERT(ire->ire_dep_sib_ptpn ==
usr/src/uts/common/inet/ip/ip_ire.c
2817
if (ire == child)
usr/src/uts/common/inet/ip/ip_ire.c
2819
prev = ire;
usr/src/uts/common/inet/ip/ip_ire.c
2820
ire = ire->ire_dep_sib_next;
usr/src/uts/common/inet/ip/ip_ire.c
2826
ire_dep_verify(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2828
ire_t *parent = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
2829
ire_t *child = ire->ire_dep_children;
usr/src/uts/common/inet/ip/ip_ire.c
2831
ASSERT(ire->ire_ipversion == IPV4_VERSION ||
usr/src/uts/common/inet/ip/ip_ire.c
2832
ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
2837
ASSERT(parent_has_child(parent, ire));
usr/src/uts/common/inet/ip/ip_ire.c
2842
ASSERT(child->ire_dep_parent == ire);
usr/src/uts/common/inet/ip/ip_ire.c
2844
ASSERT(parent_has_child(ire, child));
usr/src/uts/common/inet/ip/ip_ire.c
2853
ire_dep_remove(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
2855
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
2856
ire_t *parent = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
2861
ASSERT(ire->ire_dep_parent != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
2862
ASSERT(ire->ire_dep_sib_ptpn != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
2865
ire_dep_verify(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2869
next = ire->ire_dep_sib_next;
usr/src/uts/common/inet/ip/ip_ire.c
2871
next->ire_dep_sib_ptpn = ire->ire_dep_sib_ptpn;
usr/src/uts/common/inet/ip/ip_ire.c
2873
ASSERT(*(ire->ire_dep_sib_ptpn) == ire);
usr/src/uts/common/inet/ip/ip_ire.c
2874
*(ire->ire_dep_sib_ptpn) = ire->ire_dep_sib_next;
usr/src/uts/common/inet/ip/ip_ire.c
2876
ire->ire_dep_sib_ptpn = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
2877
ire->ire_dep_sib_next = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
2879
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2880
parent = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
2881
ire->ire_dep_parent = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
2882
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2890
if (ire->ire_dep_children != NULL)
usr/src/uts/common/inet/ip/ip_ire.c
2891
ire_dep_invalidate_children(ire->ire_dep_children);
usr/src/uts/common/inet/ip/ip_ire.c
2897
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2898
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ire.c
2899
ire->ire_nce_cache = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
2900
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
2905
ire_dep_verify(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2910
ire_refrele_notr(ire);
usr/src/uts/common/inet/ip/ip_ire.c
2972
ire_t *ire = ires[0];
usr/src/uts/common/inet/ip/ip_ire.c
2981
ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
3066
ire_handle_condemned_nce(nce_t *nce, ire_t *ire, ipha_t *ipha, ip6_t *ip6h,
usr/src/uts/common/inet/ip/ip_ire.c
3070
if (ire_no_good(ire) && fail_if_better) {
usr/src/uts/common/inet/ip/ip_ire.c
3078
if (ire_revalidate_nce(ire) == ENETUNREACH) {
usr/src/uts/common/inet/ip/ip_ire.c
3080
(void) ire_no_good(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3083
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
3085
nce = ire_to_nce(ire, ipha->ipha_dst, NULL);
usr/src/uts/common/inet/ip/ip_ire.c
3088
nce = ire_to_nce(ire, INADDR_ANY, &ip6h->ip6_dst);
usr/src/uts/common/inet/ip/ip_ire.c
3121
ire_no_good(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3123
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
3127
if (ire->ire_flags & RTF_DYNAMIC) {
usr/src/uts/common/inet/ip/ip_ire.c
3128
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3131
if (ire->ire_flags & RTF_INDIRECT) {
usr/src/uts/common/inet/ip/ip_ire.c
3134
if (ire->ire_dep_parent != NULL &&
usr/src/uts/common/inet/ip/ip_ire.c
3135
(ire->ire_dep_parent->ire_flags & RTF_DYNAMIC)) {
usr/src/uts/common/inet/ip/ip_ire.c
3136
ire2 = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
3158
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3159
ire->ire_badcnt++;
usr/src/uts/common/inet/ip/ip_ire.c
3160
ire->ire_last_badcnt = TICK_TO_SEC(ddi_get_lbolt64());
usr/src/uts/common/inet/ip/ip_ire.c
3161
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ire.c
3164
ire->ire_nce_cache = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
3167
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3171
ire_increment_generation(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3172
ire_dep_incr_generation(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3174
return (ire->ire_bucket->irb_ire_cnt > 1);
usr/src/uts/common/inet/ip/ip_ire.c
3186
ire_dep_validate_generations(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3188
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
3193
generation = ire->ire_generation; /* Assuming things match */
usr/src/uts/common/inet/ip/ip_ire.c
3194
for (ire1 = ire; ire1 != NULL; ire1 = ire1->ire_dep_parent) {
usr/src/uts/common/inet/ip/ip_ire.c
3209
while (ire != ire1) {
usr/src/uts/common/inet/ip/ip_ire.c
3210
ASSERT(ire->ire_ipversion == IPV4_VERSION ||
usr/src/uts/common/inet/ip/ip_ire.c
3211
ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
3212
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3213
ire->ire_dep_parent_generation = IRE_GENERATION_VERIFY;
usr/src/uts/common/inet/ip/ip_ire.c
3214
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3215
ire = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
3228
ire_dep_invalidate_generations(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3230
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
3233
while (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
3234
ASSERT(ire->ire_ipversion == IPV4_VERSION ||
usr/src/uts/common/inet/ip/ip_ire.c
3235
ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
3236
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3237
ire->ire_dep_parent_generation = IRE_GENERATION_VERIFY;
usr/src/uts/common/inet/ip/ip_ire.c
3238
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3239
ire = ire->ire_dep_parent;
usr/src/uts/common/inet/ip/ip_ire.c
3323
ire_revalidate_nce(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3332
if (ire->ire_type & IRE_MULTICAST)
usr/src/uts/common/inet/ip/ip_ire.c
3336
ASSERT(!ire->ire_testhidden || !IS_IPMP(ire->ire_ill));
usr/src/uts/common/inet/ip/ip_ire.c
3338
nexthop = ire_nexthop(ire);
usr/src/uts/common/inet/ip/ip_ire.c
334
ire_refhold(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3341
(void) ire_no_good(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3344
if (ire->ire_type & (IRE_LOCAL|IRE_LOOPBACK)) {
usr/src/uts/common/inet/ip/ip_ire.c
3345
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
3347
if (ire->ire_ipversion == IPV4_VERSION)
usr/src/uts/common/inet/ip/ip_ire.c
3348
nce = nce_lookup_v4(ire->ire_ill, &ire->ire_addr);
usr/src/uts/common/inet/ip/ip_ire.c
3350
nce = nce_lookup_v6(ire->ire_ill, &ire->ire_addr_v6);
usr/src/uts/common/inet/ip/ip_ire.c
3353
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
336
atomic_inc_32(&(ire)->ire_refcnt);
usr/src/uts/common/inet/ip/ip_ire.c
337
ASSERT((ire)->ire_refcnt != 0);
usr/src/uts/common/inet/ip/ip_ire.c
3370
if (nexthop != ire) {
usr/src/uts/common/inet/ip/ip_ire.c
3386
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3387
old_nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ire.c
3388
if (!IRE_IS_CONDEMNED(ire)) {
usr/src/uts/common/inet/ip/ip_ire.c
339
ire_trace_ref(ire);
usr/src/uts/common/inet/ip/ip_ire.c
3390
ire->ire_nce_cache = nce;
usr/src/uts/common/inet/ip/ip_ire.c
3392
ire->ire_nce_cache = NULL;
usr/src/uts/common/inet/ip/ip_ire.c
3394
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3412
ire_to_nce(ire_t *ire, ipaddr_t v4nexthop, const in6_addr_t *v6nexthop)
usr/src/uts/common/inet/ip/ip_ire.c
3416
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))
usr/src/uts/common/inet/ip/ip_ire.c
3420
ASSERT(!ire->ire_testhidden || !IS_IPMP(ire->ire_ill));
usr/src/uts/common/inet/ip/ip_ire.c
3422
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3423
nce = ire->ire_nce_cache;
usr/src/uts/common/inet/ip/ip_ire.c
3426
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3429
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
3431
if (ire->ire_type & IRE_MULTICAST) {
usr/src/uts/common/inet/ip/ip_ire.c
3432
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
3434
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
3437
nce = arp_nce_init(ire->ire_ill, v4nexthop,
usr/src/uts/common/inet/ip/ip_ire.c
3438
ire->ire_type);
usr/src/uts/common/inet/ip/ip_ire.c
344
ire_refhold_notr(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3442
nce = ndp_nce_init(ire->ire_ill, v6nexthop,
usr/src/uts/common/inet/ip/ip_ire.c
3443
ire->ire_type);
usr/src/uts/common/inet/ip/ip_ire.c
3451
ire_to_nce_pkt(ire_t *ire, mblk_t *mp)
usr/src/uts/common/inet/ip/ip_ire.c
3458
return (ire_to_nce(ire, ipha->ipha_dst, NULL));
usr/src/uts/common/inet/ip/ip_ire.c
346
atomic_inc_32(&(ire)->ire_refcnt);
usr/src/uts/common/inet/ip/ip_ire.c
3461
return (ire_to_nce(ire, INADDR_ANY, &ip6h->ip6_dst));
usr/src/uts/common/inet/ip/ip_ire.c
347
ASSERT((ire)->ire_refcnt != 0);
usr/src/uts/common/inet/ip/ip_ire.c
3482
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
3492
ire = ire_create(
usr/src/uts/common/inet/ip/ip_ire.c
3504
ire = ire_create_v6(
usr/src/uts/common/inet/ip/ip_ire.c
351
ire_refhold_locked(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3515
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_ire.c
3519
ire->ire_metrics = ire_if->ire_metrics;
usr/src/uts/common/inet/ip/ip_ire.c
3521
nire = ire_add(ire);
usr/src/uts/common/inet/ip/ip_ire.c
354
ire_trace_ref(ire);
usr/src/uts/common/inet/ip/ip_ire.c
356
ire->ire_refcnt++;
usr/src/uts/common/inet/ip/ip_ire.c
3582
ire_rebind(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
3587
boolean_t isv6 = (ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
3588
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/ip_ire.c
3590
ASSERT(ire->ire_unbound);
usr/src/uts/common/inet/ip/ip_ire.c
3593
gw_ire = ire_ftable_lookup_v6(&ire->ire_gateway_addr_v6, 0, 0,
usr/src/uts/common/inet/ip/ip_ire.c
3597
gw_ire = ire_ftable_lookup_v4(ire->ire_gateway_addr, 0, 0,
usr/src/uts/common/inet/ip/ip_ire.c
3611
new_ire = ire_create_v6(&ire->ire_addr_v6, &ire->ire_mask_v6,
usr/src/uts/common/inet/ip/ip_ire.c
3612
&ire->ire_gateway_addr_v6, ire->ire_type, gw_ill,
usr/src/uts/common/inet/ip/ip_ire.c
3613
ire->ire_zoneid, ire->ire_flags, NULL, ipst);
usr/src/uts/common/inet/ip/ip_ire.c
3615
new_ire = ire_create((uchar_t *)&ire->ire_addr,
usr/src/uts/common/inet/ip/ip_ire.c
3616
(uchar_t *)&ire->ire_mask,
usr/src/uts/common/inet/ip/ip_ire.c
3617
(uchar_t *)&ire->ire_gateway_addr, ire->ire_type, gw_ill,
usr/src/uts/common/inet/ip/ip_ire.c
3618
ire->ire_zoneid, ire->ire_flags, NULL, ipst);
usr/src/uts/common/inet/ip/ip_ire.c
375
ire_refrele(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
378
ire_untrace_ref(ire);
usr/src/uts/common/inet/ip/ip_ire.c
380
ASSERT((ire)->ire_refcnt != 0);
usr/src/uts/common/inet/ip/ip_ire.c
382
if (atomic_dec_32_nv(&(ire)->ire_refcnt) == 0)
usr/src/uts/common/inet/ip/ip_ire.c
383
ire_inactive(ire);
usr/src/uts/common/inet/ip/ip_ire.c
387
ire_refrele_notr(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
389
ASSERT((ire)->ire_refcnt != 0);
usr/src/uts/common/inet/ip/ip_ire.c
391
if (atomic_dec_32_nv(&(ire)->ire_refcnt) == 0)
usr/src/uts/common/inet/ip/ip_ire.c
392
ire_inactive(ire);
usr/src/uts/common/inet/ip/ip_ire.c
419
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
467
ire = ire_ftable_lookup_v4(v4addr, 0, 0, 0, NULL,
usr/src/uts/common/inet/ip/ip_ire.c
473
ire = ire_ftable_lookup_v6(&v6addr, NULL, NULL, 0, NULL,
usr/src/uts/common/inet/ip/ip_ire.c
476
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
478
ip_rts_change(RTM_LOSING, ire->ire_addr,
usr/src/uts/common/inet/ip/ip_ire.c
479
ire->ire_gateway_addr, ire->ire_mask,
usr/src/uts/common/inet/ip/ip_ire.c
482
ire->ire_ipst);
usr/src/uts/common/inet/ip/ip_ire.c
484
(void) ire_no_good(ire);
usr/src/uts/common/inet/ip/ip_ire.c
485
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ire.c
496
ire_init_v4(ire_t *ire, uchar_t *addr, uchar_t *mask, uchar_t *gateway,
usr/src/uts/common/inet/ip/ip_ire.c
512
bcopy(addr, &ire->ire_addr, IP_ADDR_LEN);
usr/src/uts/common/inet/ip/ip_ire.c
514
bcopy(gateway, &ire->ire_gateway_addr, IP_ADDR_LEN);
usr/src/uts/common/inet/ip/ip_ire.c
523
ire->ire_mask = IP_HOST_MASK;
usr/src/uts/common/inet/ip/ip_ire.c
524
ire->ire_masklen = IPV4_ABITS;
usr/src/uts/common/inet/ip/ip_ire.c
531
bcopy(mask, &ire->ire_mask, IP_ADDR_LEN);
usr/src/uts/common/inet/ip/ip_ire.c
532
ire->ire_masklen = ip_mask_to_plen(ire->ire_mask);
usr/src/uts/common/inet/ip/ip_ire.c
544
error = ire_init_common(ire, type, ill, zoneid, flags, IPV4_VERSION,
usr/src/uts/common/inet/ip/ip_ire.c
550
ire->ire_postfragfn = ip_xmit; /* Common case */
usr/src/uts/common/inet/ip/ip_ire.c
552
switch (ire->ire_type) {
usr/src/uts/common/inet/ip/ip_ire.c
554
ire->ire_sendfn = ire_send_local_v4;
usr/src/uts/common/inet/ip/ip_ire.c
555
ire->ire_recvfn = ire_recv_local_v4;
usr/src/uts/common/inet/ip/ip_ire.c
556
ASSERT(ire->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip_ire.c
557
if (ire->ire_ill->ill_flags & ILLF_NOACCEPT)
usr/src/uts/common/inet/ip/ip_ire.c
558
ire->ire_recvfn = ire_recv_noaccept_v6;
usr/src/uts/common/inet/ip/ip_ire.c
561
ire->ire_sendfn = ire_send_local_v4;
usr/src/uts/common/inet/ip/ip_ire.c
562
ire->ire_recvfn = ire_recv_loopback_v4;
usr/src/uts/common/inet/ip/ip_ire.c
565
ire->ire_postfragfn = ip_postfrag_loopcheck;
usr/src/uts/common/inet/ip/ip_ire.c
566
ire->ire_sendfn = ire_send_broadcast_v4;
usr/src/uts/common/inet/ip/ip_ire.c
567
ire->ire_recvfn = ire_recv_broadcast_v4;
usr/src/uts/common/inet/ip/ip_ire.c
570
ire->ire_postfragfn = ip_postfrag_loopcheck;
usr/src/uts/common/inet/ip/ip_ire.c
571
ire->ire_sendfn = ire_send_multicast_v4;
usr/src/uts/common/inet/ip/ip_ire.c
572
ire->ire_recvfn = ire_recv_multicast_v4;
usr/src/uts/common/inet/ip/ip_ire.c
579
ire->ire_sendfn = ire_send_wire_v4;
usr/src/uts/common/inet/ip/ip_ire.c
580
ire->ire_recvfn = ire_recv_forward_v4;
usr/src/uts/common/inet/ip/ip_ire.c
583
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_ire.c
584
ire->ire_sendfn = ire_send_noroute_v4;
usr/src/uts/common/inet/ip/ip_ire.c
585
ire->ire_recvfn = ire_recv_noroute_v4;
usr/src/uts/common/inet/ip/ip_ire.c
586
} else if (ire->ire_flags & RTF_MULTIRT) {
usr/src/uts/common/inet/ip/ip_ire.c
587
ire->ire_postfragfn = ip_postfrag_multirt_v4;
usr/src/uts/common/inet/ip/ip_ire.c
588
ire->ire_sendfn = ire_send_multirt_v4;
usr/src/uts/common/inet/ip/ip_ire.c
590
if (ire->ire_type != IRE_BROADCAST)
usr/src/uts/common/inet/ip/ip_ire.c
591
ire->ire_recvfn = ire_recv_multirt_v4;
usr/src/uts/common/inet/ip/ip_ire.c
593
ire->ire_nce_capable = ire_determine_nce_capable(ire);
usr/src/uts/common/inet/ip/ip_ire.c
601
ire_determine_nce_capable(ire_t *ire)
usr/src/uts/common/inet/ip/ip_ire.c
605
if ((ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip_ire.c
606
(ire->ire_type & IRE_MULTICAST))
usr/src/uts/common/inet/ip/ip_ire.c
609
if (ire->ire_ipversion == IPV4_VERSION)
usr/src/uts/common/inet/ip/ip_ire.c
614
if ((ire->ire_type & IRE_ONLINK) && ire->ire_masklen == max_masklen)
usr/src/uts/common/inet/ip/ip_ire.c
630
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
633
ire = kmem_cache_alloc(ire_cache, KM_NOSLEEP);
usr/src/uts/common/inet/ip/ip_ire.c
634
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_ire.c
638
*ire = ire_null;
usr/src/uts/common/inet/ip/ip_ire.c
640
error = ire_init_v4(ire, addr, mask, gateway, type, ill, zoneid, flags,
usr/src/uts/common/inet/ip/ip_ire.c
643
DTRACE_PROBE2(ire__init, ire_t *, ire, int, error);
usr/src/uts/common/inet/ip/ip_ire.c
644
kmem_cache_free(ire_cache, ire);
usr/src/uts/common/inet/ip/ip_ire.c
647
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
655
ire_init_common(ire_t *ire, ushort_t type, ill_t *ill, zoneid_t zoneid,
usr/src/uts/common/inet/ip/ip_ire.c
683
error = tsol_ire_init_gwattr(ire, ipversion, gc);
usr/src/uts/common/inet/ip/ip_ire.c
689
ire->ire_type = type;
usr/src/uts/common/inet/ip/ip_ire.c
690
ire->ire_flags = RTF_UP | flags;
usr/src/uts/common/inet/ip/ip_ire.c
691
ire->ire_create_time = (uint32_t)gethrestime_sec();
usr/src/uts/common/inet/ip/ip_ire.c
692
ire->ire_generation = IRE_GENERATION_INITIAL;
usr/src/uts/common/inet/ip/ip_ire.c
702
ire->ire_ill = ill;
usr/src/uts/common/inet/ip/ip_ire.c
703
ire->ire_zoneid = zoneid;
usr/src/uts/common/inet/ip/ip_ire.c
704
ire->ire_ipversion = ipversion;
usr/src/uts/common/inet/ip/ip_ire.c
706
mutex_init(&ire->ire_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/inet/ip/ip_ire.c
707
ire->ire_refcnt = 1;
usr/src/uts/common/inet/ip/ip_ire.c
708
ire->ire_identical_ref = 1; /* Number of ire_delete's needed */
usr/src/uts/common/inet/ip/ip_ire.c
709
ire->ire_ipst = ipst; /* No netstack_hold */
usr/src/uts/common/inet/ip/ip_ire.c
710
ire->ire_trace_disable = B_FALSE;
usr/src/uts/common/inet/ip/ip_ire.c
751
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
760
ire = ire_ftable_lookup_v4(
usr/src/uts/common/inet/ip/ip_ire.c
772
return (ire);
usr/src/uts/common/inet/ip/ip_ire.c
860
ire_walk_ill_match(uint_t match_flags, uint_t ire_type, ire_t *ire,
usr/src/uts/common/inet/ip/ip_ire.c
863
ill_t *dst_ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_ire.c
867
if (zoneid != ALL_ZONES && zoneid != ire->ire_zoneid &&
usr/src/uts/common/inet/ip/ip_ire.c
868
ire->ire_zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip_ire.c
879
if (ire->ire_type & IRE_ONLINK) {
usr/src/uts/common/inet/ip/ip_ire.c
900
if (dst_ill != NULL && (ire->ire_type & IRE_OFFLINK)) {
usr/src/uts/common/inet/ip/ip_ire.c
925
if ((ire->ire_type & IRE_OFFLINK) && zoneid != ALL_ZONES) {
usr/src/uts/common/inet/ip/ip_ire.c
929
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
930
reach = ire_gateway_ok_zone_v4(ire->ire_gateway_addr,
usr/src/uts/common/inet/ip/ip_ire.c
933
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_ire.c
934
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
935
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_ire.c
936
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_ire.c
949
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/ip_ire.c
951
ire->ire_gateway_addr, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_ire.c
968
(ire->ire_type & ire_type)) &&
usr/src/uts/common/inet/ip/ip_ire.c
983
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ire.c
989
for (ire = irb->irb_ire; ire != NULL; ire = ire->ire_next) {
usr/src/uts/common/inet/ip/ip_ire.c
993
rtf->rt_ire_type, ire,
usr/src/uts/common/inet/ip/ip_ire.c
999
(*rtf->rt_func)(ire, rtf->rt_arg);
usr/src/uts/common/inet/ip/ip_mroute.c
2491
ire_t *ire;
usr/src/uts/common/inet/ip/ip_mroute.c
2515
ire = ire_route_recursive_v4(ipha->ipha_dst, 0, NULL, ALL_ZONES,
usr/src/uts/common/inet/ip/ip_mroute.c
2519
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip_mroute.c
2521
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_mroute.c
2523
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_mroute.c
2527
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_mroute.c
2530
ASSERT(ire->ire_type & IRE_MULTICAST);
usr/src/uts/common/inet/ip/ip_mroute.c
2531
(*ire->ire_recvfn)(ire, mp, ipha, ira);
usr/src/uts/common/inet/ip/ip_mroute.c
2532
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_mroute.c
2621
ire_t *ire;
usr/src/uts/common/inet/ip/ip_mroute.c
2728
ire = ire_route_recursive_v4(INADDR_BROADCAST, 0, ill,
usr/src/uts/common/inet/ip/ip_mroute.c
2732
ire = ire_multicast(ill);
usr/src/uts/common/inet/ip/ip_mroute.c
2734
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_mroute.c
2736
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_mroute.c
2740
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_mroute.c
2743
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip_mroute.c
2744
ASSERT(ire->ire_type & (IRE_MULTICAST|IRE_BROADCAST));
usr/src/uts/common/inet/ip/ip_mroute.c
2745
(*ire->ire_recvfn)(ire, mp, ipha_encap, ira);
usr/src/uts/common/inet/ip/ip_mroute.c
2746
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_ndp.c
842
ire_t *ire;
usr/src/uts/common/inet/ip/ip_ndp.c
849
ire = ire_ftable_lookup_v6(&ipv6_all_zeros, &ipv6_all_zeros,
usr/src/uts/common/inet/ip/ip_ndp.c
852
if (ire != NULL) {
usr/src/uts/common/inet/ip/ip_ndp.c
853
ip_rts_rtmsg(RTM_DELETE, ire, 0, ipst);
usr/src/uts/common/inet/ip/ip_ndp.c
854
ire_delete(ire);
usr/src/uts/common/inet/ip/ip_ndp.c
855
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_netinfo.c
1071
ire_t *ire;
usr/src/uts/common/inet/ip/ip_netinfo.c
1079
ire = ire_route_recursive_v6(&sin6->sin6_addr, 0, NULL,
usr/src/uts/common/inet/ip/ip_netinfo.c
1083
ire = ire_route_recursive_v4(sin->sin_addr.s_addr, 0, NULL,
usr/src/uts/common/inet/ip/ip_netinfo.c
1087
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_netinfo.c
1093
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_netinfo.c
1094
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_netinfo.c
1098
nexthop_ire = ire_nexthop(ire);
usr/src/uts/common/inet/ip/ip_netinfo.c
1100
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_netinfo.c
1105
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_netinfo.c
1120
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
1040
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
1051
error = (ire->ire_sendfn)(ire, mp, ipha, ixa, &dce->dce_ident);
usr/src/uts/common/inet/ip/ip_output.c
1053
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
1082
ire_send_local_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
1087
ill_t *ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_output.c
1143
dzone = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_output.c
1192
ire->ire_ib_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
1197
iras.ira_zoneid = ire->ire_zoneid;
usr/src/uts/common/inet/ip/ip_output.c
1235
ire_send_broadcast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
1240
irb_t *irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_output.c
1275
return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
1284
if (ire1 == ire)
usr/src/uts/common/inet/ip/ip_output.c
1295
ASSERT(ire1->ire_addr == ire->ire_addr);
usr/src/uts/common/inet/ip/ip_output.c
1303
ire->ire_zoneid != ire1->ire_zoneid)
usr/src/uts/common/inet/ip/ip_output.c
1306
ASSERT(ire->ire_ill != ire1->ire_ill && ire1->ire_ill != NULL);
usr/src/uts/common/inet/ip/ip_output.c
1401
if (IS_UNDER_IPMP(ire->ire_ill)) {
usr/src/uts/common/inet/ip/ip_output.c
1406
return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
141
ire_t *ire;
usr/src/uts/common/inet/ip/ip_output.c
1434
multirt_check_v4(ire_t *ire, ipha_t *ipha, ip_xmit_attr_t *ixa)
usr/src/uts/common/inet/ip/ip_output.c
1439
if (ire->ire_type & IRE_MULTICAST) {
usr/src/uts/common/inet/ip/ip_output.c
1443
ipha->ipha_ttl, ntohl(ire->ire_addr)));
usr/src/uts/common/inet/ip/ip_output.c
1462
ire_send_multicast_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
1467
ill_t *ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_output.c
1475
multirt_check_v4(ire, ipha, ixa);
usr/src/uts/common/inet/ip/ip_output.c
1532
return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
1539
ire_send_multirt_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
1544
multirt_check_v4(ire, ipha, ixa);
usr/src/uts/common/inet/ip/ip_output.c
1546
if (ire->ire_type & IRE_MULTICAST)
usr/src/uts/common/inet/ip/ip_output.c
1547
return (ire_send_multicast_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
1548
else if (ire->ire_type & IRE_BROADCAST)
usr/src/uts/common/inet/ip/ip_output.c
1549
return (ire_send_broadcast_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
1551
return (ire_send_wire_v4(ire, mp, ipha, ixa, identp));
usr/src/uts/common/inet/ip/ip_output.c
1558
ire_send_noroute_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
1572
if (ire->ire_type & IRE_NOROUTE) {
usr/src/uts/common/inet/ip/ip_output.c
1578
if (ire->ire_flags & RTF_BLACKHOLE) {
usr/src/uts/common/inet/ip/ip_output.c
164
ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_output.c
172
ire->ire_badcnt = 0;
usr/src/uts/common/inet/ip/ip_output.c
1842
ire_send_wire_v4(ire_t *ire, mblk_t *mp, void *iph_arg,
usr/src/uts/common/inet/ip/ip_output.c
193
if (ire->ire_generation != ixa->ixa_ire_generation) {
usr/src/uts/common/inet/ip/ip_output.c
200
ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_output.c
201
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_output.c
202
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_output.c
207
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
209
return ((ire->ire_sendfn)(ire, mp, mp->b_rptr, ixa,
usr/src/uts/common/inet/ip/ip_output.c
2222
ire_t *ire;
usr/src/uts/common/inet/ip/ip_output.c
2263
ire = ire_ftable_lookup_v4(ipha->ipha_dst, 0, 0, 0,
usr/src/uts/common/inet/ip/ip_output.c
2269
ire = ire_ftable_lookup_v4(ipha->ipha_dst, 0, v4addr, 0,
usr/src/uts/common/inet/ip/ip_output.c
2273
if (ire == NULL ||
usr/src/uts/common/inet/ip/ip_output.c
2274
(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) ||
usr/src/uts/common/inet/ip/ip_output.c
2275
!(ire->ire_flags & RTF_MULTIRT)) {
usr/src/uts/common/inet/ip/ip_output.c
2279
if (ire != NULL)
usr/src/uts/common/inet/ip/ip_output.c
2280
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
2284
irb = ire->ire_bucket;
usr/src/uts/common/inet/ip/ip_output.c
2295
ire1->ire_type != ire->ire_type)
usr/src/uts/common/inet/ip/ip_output.c
2299
if (ire1 == ire)
usr/src/uts/common/inet/ip/ip_output.c
2391
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
2414
ire_t *ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_output.c
2416
if (!(ire->ire_type & (IRE_LOCAL | IRE_LOOPBACK)))
usr/src/uts/common/inet/ip/ip_output.c
257
ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_output.c
258
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_output.c
259
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_output.c
264
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
266
return ((ire->ire_sendfn)(ire, mp, mp->b_rptr,
usr/src/uts/common/inet/ip/ip_output.c
362
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
378
return ((ire->ire_sendfn)(ire, mp, mp->b_rptr, ixa, &dce->dce_ident));
usr/src/uts/common/inet/ip/ip_output.c
450
ire_t *ire;
usr/src/uts/common/inet/ip/ip_output.c
461
ire = ip_select_route_pkt(mp, ixa, &gen, &error, &multirt);
usr/src/uts/common/inet/ip/ip_output.c
462
ASSERT(ire != NULL); /* IRE_NOROUTE if none found */
usr/src/uts/common/inet/ip/ip_output.c
464
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
471
ire_refhold_notr(ire);
usr/src/uts/common/inet/ip/ip_output.c
472
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
474
ixa->ixa_ire = ire;
usr/src/uts/common/inet/ip/ip_output.c
483
ixa->ixa_postfragfn = ire->ire_postfragfn;
usr/src/uts/common/inet/ip/ip_output.c
492
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/ip_output.c
499
nce = ire_to_nce_pkt(ire, mp);
usr/src/uts/common/inet/ip/ip_output.c
534
ire_t *ire = ixa->ixa_ire;
usr/src/uts/common/inet/ip/ip_output.c
540
if (ire->ire_ipversion == IPV4_VERSION)
usr/src/uts/common/inet/ip/ip_output.c
545
nce = ire_handle_condemned_nce(ixa->ixa_nce, ire, ipha, ip6h, B_TRUE);
usr/src/uts/common/inet/ip/ip_output.c
814
ire_t *ire;
usr/src/uts/common/inet/ip/ip_output.c
856
ire = ip_select_route_v4(firsthop, ipha->ipha_src, ixa, NULL,
usr/src/uts/common/inet/ip/ip_output.c
858
ASSERT(ire != NULL); /* IRE_NOROUTE if none found */
usr/src/uts/common/inet/ip/ip_output.c
867
if (ire->ire_flags & (RTF_BLACKHOLE|RTF_REJECT)) {
usr/src/uts/common/inet/ip/ip_output.c
874
ire->ire_ob_pkt_count++;
usr/src/uts/common/inet/ip/ip_output.c
877
error = (ire->ire_sendfn)(ire, mp, ipha, ixa,
usr/src/uts/common/inet/ip/ip_output.c
883
nce = ire_to_nce(ire, ipha->ipha_dst, NULL);
usr/src/uts/common/inet/ip/ip_output.c
894
nce1 = ire_handle_condemned_nce(nce, ire, ipha, NULL, B_TRUE);
usr/src/uts/common/inet/ip/ip_output.c
900
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_output.c
924
ixa->ixa_postfragfn = ire->ire_postfragfn;
usr/src/uts/common/inet/ip/ip_output.c
937
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip_output.c
954
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip_output.c
958
fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip_output.c
964
ixa->ixa_fragsize = ip_get_base_mtu(nce->nce_ill, ire);
usr/src/uts/common/inet/ip/ip_output.c
971
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip_rts.c
1008
ire = ire_ftable_lookup_v4(dst_addr, net_mask, gw_addr,
usr/src/uts/common/inet/ip/ip_rts.c
1011
if (ire == NULL ||(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)))
usr/src/uts/common/inet/ip/ip_rts.c
1012
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1014
if (ire->ire_type & IRE_ONLINK)
usr/src/uts/common/inet/ip/ip_rts.c
1015
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1017
if (ire->ire_flags & RTF_SETSRC) {
usr/src/uts/common/inet/ip/ip_rts.c
1018
ASSERT(ire->ire_setsrc_addr != INADDR_ANY);
usr/src/uts/common/inet/ip/ip_rts.c
1019
*v4setsrcp = ire->ire_setsrc_addr;
usr/src/uts/common/inet/ip/ip_rts.c
1024
if (ire->ire_gw_secattr != NULL) {
usr/src/uts/common/inet/ip/ip_rts.c
1025
*gwattrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/ip_rts.c
1030
dst_addr = ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/ip_rts.c
1043
if ((ire->ire_type & IRE_OFFLINK) &&
usr/src/uts/common/inet/ip/ip_rts.c
1044
!(ire->ire_flags & RTF_INDIRECT)) {
usr/src/uts/common/inet/ip/ip_rts.c
1060
ire = ire_route_recursive_v4(dst_addr, ire_type, ill, zoneid,
usr/src/uts/common/inet/ip/ip_rts.c
1065
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1075
ire_t *ire;
usr/src/uts/common/inet/ip/ip_rts.c
1094
ire = ire_ftable_lookup_v6(dst_addr_v6, net_mask_v6,
usr/src/uts/common/inet/ip/ip_rts.c
1098
if (ire == NULL ||(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)))
usr/src/uts/common/inet/ip/ip_rts.c
1099
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1101
if (ire->ire_type & IRE_ONLINK)
usr/src/uts/common/inet/ip/ip_rts.c
1102
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1104
if (ire->ire_flags & RTF_SETSRC) {
usr/src/uts/common/inet/ip/ip_rts.c
1106
&ire->ire_setsrc_addr_v6));
usr/src/uts/common/inet/ip/ip_rts.c
1107
*v6setsrcp = ire->ire_setsrc_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
1112
if (ire->ire_gw_secattr != NULL) {
usr/src/uts/common/inet/ip/ip_rts.c
1113
*gwattrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/ip_rts.c
1117
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1118
dst = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
1119
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1132
if ((ire->ire_type & IRE_OFFLINK) &&
usr/src/uts/common/inet/ip/ip_rts.c
1133
!(ire->ire_flags & RTF_INDIRECT)) {
usr/src/uts/common/inet/ip/ip_rts.c
1149
ire = ire_route_recursive_v6(dst_addr_v6, ire_type, ill, zoneid,
usr/src/uts/common/inet/ip/ip_rts.c
1154
return (ire);
usr/src/uts/common/inet/ip/ip_rts.c
1228
rts_rtmget(mblk_t *mp, ire_t *ire, ire_t *ifire, const in6_addr_t *setsrc,
usr/src/uts/common/inet/ip/ip_rts.c
1258
ill = ire_nexthop_ill(ire);
usr/src/uts/common/inet/ip/ip_rts.c
1328
rtm_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip_rts.c
1329
rts_fill_msg(RTM_GET, rtm_addrs, ire->ire_addr,
usr/src/uts/common/inet/ip/ip_rts.c
1330
ire->ire_mask, ire->ire_gateway_addr, v4setsrc,
usr/src/uts/common/inet/ip/ip_rts.c
1337
rtm_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip_rts.c
1338
rts_fill_msg_v6(RTM_GET, rtm_addrs, &ire->ire_addr_v6,
usr/src/uts/common/inet/ip/ip_rts.c
1339
&ire->ire_mask_v6, &ire->ire_gateway_addr_v6,
usr/src/uts/common/inet/ip/ip_rts.c
1371
new_rtm->rtm_inits = rts_getmetrics(ire, ill, &new_rtm->rtm_rmx);
usr/src/uts/common/inet/ip/ip_rts.c
1410
rts_setmetrics(ire_t *ire, uint_t which, rt_metrics_t *metrics)
usr/src/uts/common/inet/ip/ip_rts.c
1426
ire->ire_metrics.iulp_set = B_TRUE;
usr/src/uts/common/inet/ip/ip_rts.c
1442
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1444
ire->ire_metrics.iulp_mtu = metrics->rmx_mtu;
usr/src/uts/common/inet/ip/ip_rts.c
1446
ire->ire_metrics.iulp_rtt = rtt;
usr/src/uts/common/inet/ip/ip_rts.c
1448
ire->ire_metrics.iulp_ssthresh = metrics->rmx_ssthresh;
usr/src/uts/common/inet/ip/ip_rts.c
1450
ire->ire_metrics.iulp_rtt_sd = rtt_sd;
usr/src/uts/common/inet/ip/ip_rts.c
1452
ire->ire_metrics.iulp_spipe = metrics->rmx_sendpipe;
usr/src/uts/common/inet/ip/ip_rts.c
1454
ire->ire_metrics.iulp_rpipe = metrics->rmx_recvpipe;
usr/src/uts/common/inet/ip/ip_rts.c
1455
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1461
ill = ire->ire_ill;
usr/src/uts/common/inet/ip/ip_rts.c
1464
ASSERT((ill->ill_isv6 && ire->ire_ipversion == IPV6_VERSION) ||
usr/src/uts/common/inet/ip/ip_rts.c
1465
((!ill->ill_isv6 && ire->ire_ipversion == IPV4_VERSION)));
usr/src/uts/common/inet/ip/ip_rts.c
1467
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1468
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
1469
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
1480
&ire->ire_addr_v6) ||
usr/src/uts/common/inet/ip/ip_rts.c
1484
&ire->ire_mask_v6))
usr/src/uts/common/inet/ip/ip_rts.c
1487
if (ifrt->ifrt_addr != ire->ire_addr ||
usr/src/uts/common/inet/ip/ip_rts.c
1488
ifrt->ifrt_gateway_addr != ire->ire_gateway_addr ||
usr/src/uts/common/inet/ip/ip_rts.c
1489
ifrt->ifrt_mask != ire->ire_mask)
usr/src/uts/common/inet/ip/ip_rts.c
1492
if (ifrt->ifrt_zoneid != ire->ire_zoneid ||
usr/src/uts/common/inet/ip/ip_rts.c
1493
ifrt->ifrt_type != ire->ire_type)
usr/src/uts/common/inet/ip/ip_rts.c
1520
if ((ire->ire_type & IRE_INTERFACE) && ire->ire_dep_children != 0)
usr/src/uts/common/inet/ip/ip_rts.c
1521
ire_dep_delete_if_clone(ire);
usr/src/uts/common/inet/ip/ip_rts.c
1528
rts_getmetrics(ire_t *ire, ill_t *ill, rt_metrics_t *metrics)
usr/src/uts/common/inet/ip/ip_rts.c
1539
metrics->rmx_rtt = ire->ire_metrics.iulp_rtt * 1000;
usr/src/uts/common/inet/ip/ip_rts.c
1541
if (ire->ire_metrics.iulp_mtu != 0) {
usr/src/uts/common/inet/ip/ip_rts.c
1542
metrics->rmx_mtu = ire->ire_metrics.iulp_mtu;
usr/src/uts/common/inet/ip/ip_rts.c
1548
metrics->rmx_ssthresh = ire->ire_metrics.iulp_ssthresh;
usr/src/uts/common/inet/ip/ip_rts.c
1550
metrics->rmx_rttvar = ire->ire_metrics.iulp_rtt_sd * 1000;
usr/src/uts/common/inet/ip/ip_rts.c
1552
metrics->rmx_sendpipe = ire->ire_metrics.iulp_spipe;
usr/src/uts/common/inet/ip/ip_rts.c
1554
metrics->rmx_recvpipe = ire->ire_metrics.iulp_rpipe;
usr/src/uts/common/inet/ip/ip_rts.c
188
ip_rts_rtmsg(int type, ire_t *ire, int error, ip_stack_t *ipst)
usr/src/uts/common/inet/ip/ip_rts.c
196
if (ire == NULL)
usr/src/uts/common/inet/ip/ip_rts.c
198
ASSERT(ire->ire_ipversion == IPV4_VERSION ||
usr/src/uts/common/inet/ip/ip_rts.c
199
ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/ip_rts.c
201
ASSERT(!(ire->ire_type & IRE_IF_CLONE));
usr/src/uts/common/inet/ip/ip_rts.c
204
if (ire->ire_flags & RTF_SETSRC)
usr/src/uts/common/inet/ip/ip_rts.c
207
switch (ire->ire_ipversion) {
usr/src/uts/common/inet/ip/ip_rts.c
213
rts_fill_msg(type, rtm_addrs, ire->ire_addr, ire->ire_mask,
usr/src/uts/common/inet/ip/ip_rts.c
214
ire->ire_gateway_addr, ire->ire_setsrc_addr, 0, 0, 0, NULL,
usr/src/uts/common/inet/ip/ip_rts.c
222
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
223
gw_addr_v6 = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
224
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
225
rts_fill_msg_v6(type, rtm_addrs, &ire->ire_addr_v6,
usr/src/uts/common/inet/ip/ip_rts.c
226
&ire->ire_mask_v6, &gw_addr_v6,
usr/src/uts/common/inet/ip/ip_rts.c
227
&ire->ire_setsrc_addr_v6, &ipv6_all_zeros, &ipv6_all_zeros,
usr/src/uts/common/inet/ip/ip_rts.c
234
rtm->rtm_flags = ire->ire_flags;
usr/src/uts/common/inet/ip/ip_rts.c
286
ire_t *ire = NULL;
usr/src/uts/common/inet/ip/ip_rts.c
548
rtm->rtm_flags, ill, &ire, B_FALSE,
usr/src/uts/common/inet/ip/ip_rts.c
578
ill, &ire, rtsap, ipst, zoneid);
usr/src/uts/common/inet/ip/ip_rts.c
591
ill, &ire, rtsap, ipst, zoneid);
usr/src/uts/common/inet/ip/ip_rts.c
598
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/ip_rts.c
599
rts_setmetrics(ire, rtm->rtm_inits, &rtm->rtm_rmx);
usr/src/uts/common/inet/ip/ip_rts.c
704
ire = ire_ftable_lookup_v4(dst_addr, 0, gw_addr,
usr/src/uts/common/inet/ip/ip_rts.c
708
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_rts.c
709
ire = ire_lookup_v4(dst_addr, net_mask,
usr/src/uts/common/inet/ip/ip_rts.c
717
ire = ire_ftable_lookup_v6(&dst_addr_v6, NULL,
usr/src/uts/common/inet/ip/ip_rts.c
722
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_rts.c
723
ire = ire_lookup_v6(&dst_addr_v6,
usr/src/uts/common/inet/ip/ip_rts.c
733
if (ire == NULL) {
usr/src/uts/common/inet/ip/ip_rts.c
741
if (ire->ire_type & IRE_NOROUTE) {
usr/src/uts/common/inet/ip/ip_rts.c
742
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_rts.c
743
ire = NULL;
usr/src/uts/common/inet/ip/ip_rts.c
751
mp1 = rts_rtmget(mp, ire, ifire, &v6setsrc, gwattr, af);
usr/src/uts/common/inet/ip/ip_rts.c
767
if ((ire->ire_flags & RTF_MULTIRT) !=
usr/src/uts/common/inet/ip/ip_rts.c
782
(ire->ire_gateway_addr != gw_addr)) {
usr/src/uts/common/inet/ip/ip_rts.c
783
ire->ire_gateway_addr = gw_addr;
usr/src/uts/common/inet/ip/ip_rts.c
789
ire->ire_gateway_addr, &ga.ga_addr);
usr/src/uts/common/inet/ip/ip_rts.c
800
(ire->ire_setsrc_addr != src_addr)) {
usr/src/uts/common/inet/ip/ip_rts.c
829
ire->ire_flags |= RTF_SETSRC;
usr/src/uts/common/inet/ip/ip_rts.c
830
ire->ire_setsrc_addr =
usr/src/uts/common/inet/ip/ip_rts.c
833
ire->ire_flags &= ~RTF_SETSRC;
usr/src/uts/common/inet/ip/ip_rts.c
834
ire->ire_setsrc_addr =
usr/src/uts/common/inet/ip/ip_rts.c
843
ire_flush_cache_v4(ire, IRE_FLUSH_GWCHANGE);
usr/src/uts/common/inet/ip/ip_rts.c
846
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
849
&ire->ire_gateway_addr_v6, &gw_addr_v6)) {
usr/src/uts/common/inet/ip/ip_rts.c
850
ire->ire_gateway_addr_v6 = gw_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
852
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
856
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
857
ga.ga_addr = ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/ip_rts.c
858
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
870
&ire->ire_setsrc_addr_v6, &src_addr_v6)) {
usr/src/uts/common/inet/ip/ip_rts.c
90
static int rts_getmetrics(ire_t *ire, ill_t *ill, rt_metrics_t *metrics);
usr/src/uts/common/inet/ip/ip_rts.c
900
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
901
ire->ire_flags |= RTF_SETSRC;
usr/src/uts/common/inet/ip/ip_rts.c
902
ire->ire_setsrc_addr_v6 =
usr/src/uts/common/inet/ip/ip_rts.c
904
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
906
mutex_enter(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
907
ire->ire_flags &= ~RTF_SETSRC;
usr/src/uts/common/inet/ip/ip_rts.c
908
ire->ire_setsrc_addr_v6 =
usr/src/uts/common/inet/ip/ip_rts.c
91
static mblk_t *rts_rtmget(mblk_t *mp, ire_t *ire, ire_t *ifire,
usr/src/uts/common/inet/ip/ip_rts.c
910
mutex_exit(&ire->ire_lock);
usr/src/uts/common/inet/ip/ip_rts.c
918
ire_flush_cache_v6(ire, IRE_FLUSH_GWCHANGE);
usr/src/uts/common/inet/ip/ip_rts.c
93
static void rts_setmetrics(ire_t *ire, uint_t which, rt_metrics_t *metrics);
usr/src/uts/common/inet/ip/ip_rts.c
935
(error = tsol_ire_init_gwattr(ire,
usr/src/uts/common/inet/ip/ip_rts.c
936
ire->ire_ipversion, gc)) != 0) {
usr/src/uts/common/inet/ip/ip_rts.c
946
rts_setmetrics(ire, rtm->rtm_inits, &rtm->rtm_rmx);
usr/src/uts/common/inet/ip/ip_rts.c
955
if (ire != NULL)
usr/src/uts/common/inet/ip/ip_rts.c
956
ire_refrele(ire);
usr/src/uts/common/inet/ip/ip_rts.c
991
ire_t *ire;
usr/src/uts/common/inet/ip/ipmp.c
1786
ipmp_ill_ire_mark_testhidden(ire_t *ire, char *ill_arg)
usr/src/uts/common/inet/ip/ipmp.c
1793
if (ire->ire_ill != ill)
usr/src/uts/common/inet/ip/ipmp.c
1796
if (IRE_HIDDEN_TYPE(ire->ire_type)) {
usr/src/uts/common/inet/ip/ipmp.c
1797
DTRACE_PROBE1(ipmp__mark__testhidden, ire_t *, ire);
usr/src/uts/common/inet/ip/ipmp.c
1798
ire->ire_testhidden = B_TRUE;
usr/src/uts/common/inet/ip/ipmp.c
1807
ipmp_ill_ire_clear_testhidden(ire_t *ire, char *ill_arg)
usr/src/uts/common/inet/ip/ipmp.c
1814
if (ire->ire_ill == ill) {
usr/src/uts/common/inet/ip/ipmp.c
1815
DTRACE_PROBE1(ipmp__clear__testhidden, ire_t *, ire);
usr/src/uts/common/inet/ip/ipmp.c
1816
ire->ire_testhidden = B_FALSE;
usr/src/uts/common/inet/ip/sadb.c
2136
sadb_addrset(ire_t *ire)
usr/src/uts/common/inet/ip/sadb.c
2138
if ((ire->ire_type & IRE_BROADCAST) ||
usr/src/uts/common/inet/ip/sadb.c
2139
(ire->ire_ipversion == IPV4_VERSION && CLASSD(ire->ire_addr)) ||
usr/src/uts/common/inet/ip/sadb.c
2140
(ire->ire_ipversion == IPV6_VERSION &&
usr/src/uts/common/inet/ip/sadb.c
2141
IN6_IS_ADDR_MULTICAST(&(ire->ire_addr_v6))))
usr/src/uts/common/inet/ip/sadb.c
2143
if (ire->ire_type & (IRE_LOCAL | IRE_LOOPBACK))
usr/src/uts/common/inet/ip/tn_ipopt.c
1006
ire = ire_route_recursive_v6(dst, 0, NULL, zoneid, tsl,
usr/src/uts/common/inet/ip/tn_ipopt.c
1009
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/tn_ipopt.c
1010
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/tn_ipopt.c
1012
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
1019
if (ire->ire_type & (IRE_LOCAL | IRE_LOOPBACK |
usr/src/uts/common/inet/ip/tn_ipopt.c
1021
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
1034
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
1037
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
472
ire_t *ire;
usr/src/uts/common/inet/ip/tn_ipopt.c
495
ire = ire_route_recursive_v4(dst, 0, NULL, zoneid, tsl,
usr/src/uts/common/inet/ip/tn_ipopt.c
498
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/tn_ipopt.c
499
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/inet/ip/tn_ipopt.c
501
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
508
if (ire->ire_type & (IRE_BROADCAST | IRE_LOCAL | IRE_LOOPBACK |
usr/src/uts/common/inet/ip/tn_ipopt.c
510
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
524
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
527
ire_refrele(ire);
usr/src/uts/common/inet/ip/tn_ipopt.c
975
ire_t *ire;
usr/src/uts/common/inet/ip/tnet.c
1235
tsol_ire_match_gwattr(ire_t *ire, const ts_label_t *tsl)
usr/src/uts/common/inet/ip/tnet.c
1247
(ire->ire_type & (IRE_LOCAL | IRE_LOOPBACK | IRE_BROADCAST |
usr/src/uts/common/inet/ip/tnet.c
1258
if (tsl == NULL || ire->ire_gw_secattr == NULL) {
usr/src/uts/common/inet/ip/tnet.c
1263
"label(2)", ire_t *, ire, ts_label_t *, tsl);
usr/src/uts/common/inet/ip/tnet.c
1269
attrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/tnet.c
1308
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/ip/tnet.c
1316
} else if (ire->ire_type & IRE_OFFLINK) {
usr/src/uts/common/inet/ip/tnet.c
1317
if (ire->ire_ipversion == IPV6_VERSION)
usr/src/uts/common/inet/ip/tnet.c
1318
paddr = &ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/tnet.c
1319
else if (ire->ire_ipversion == IPV4_VERSION)
usr/src/uts/common/inet/ip/tnet.c
1320
paddr = &ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/tnet.c
1326
gw_rhc = find_rhc(paddr, ire->ire_ipversion, B_FALSE);
usr/src/uts/common/inet/ip/tnet.c
1362
ire_t *, ire, ts_label_t *, tsl);
usr/src/uts/common/inet/ip/tnet.c
1386
ire_t *, ire, ts_label_t *, tsl);
usr/src/uts/common/inet/ip/tnet.c
1408
ire_t *, ire, ts_label_t *, tsl,
usr/src/uts/common/inet/ip/tnet.c
1424
ire_t *, ire, ts_label_t *, tsl,
usr/src/uts/common/inet/ip/tnet.c
1452
tsol_ip_forward(ire_t *ire, mblk_t *mp, const ip_recv_attr_t *ira)
usr/src/uts/common/inet/ip/tnet.c
1469
ip_stack_t *ipst = ire->ire_ipst;
usr/src/uts/common/inet/ip/tnet.c
1473
ASSERT(ire != NULL && mp != NULL);
usr/src/uts/common/inet/ip/tnet.c
1479
af = (ire->ire_ipversion == IPV4_VERSION) ? AF_INET : AF_INET6;
usr/src/uts/common/inet/ip/tnet.c
1485
ASSERT(ire->ire_ipversion == IPV4_VERSION);
usr/src/uts/common/inet/ip/tnet.c
1493
ASSERT(ire->ire_ipversion == IPV6_VERSION);
usr/src/uts/common/inet/ip/tnet.c
1517
off_link = (ire->ire_type & IRE_OFFLINK);
usr/src/uts/common/inet/ip/tnet.c
1534
dst_rhtp = find_tpc(pdst, ire->ire_ipversion, B_FALSE);
usr/src/uts/common/inet/ip/tnet.c
1551
if (ire->ire_ipversion == IPV4_VERSION && off_link) {
usr/src/uts/common/inet/ip/tnet.c
1557
if (ire->ire_gw_secattr != NULL &&
usr/src/uts/common/inet/ip/tnet.c
1558
ire->ire_gw_secattr->igsa_rhc != NULL) {
usr/src/uts/common/inet/ip/tnet.c
1559
attrp = ire->ire_gw_secattr;
usr/src/uts/common/inet/ip/tnet.c
1562
gw = &ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/tnet.c
1563
gw_rhtp = find_tpc(gw, ire->ire_ipversion, B_FALSE);
usr/src/uts/common/inet/ip/tnet.c
1574
if (ire->ire_ipversion == IPV6_VERSION &&
usr/src/uts/common/inet/ip/tnet.c
1575
((attrp = ire->ire_gw_secattr) == NULL || attrp->igsa_rhc == NULL ||
usr/src/uts/common/inet/ip/tnet.c
1855
tsol_ire_init_gwattr(ire_t *ire, uchar_t ipversion, tsol_gc_t *gc)
usr/src/uts/common/inet/ip/tnet.c
1863
ASSERT(ire != NULL);
usr/src/uts/common/inet/ip/tnet.c
1871
if ((attrp = ire->ire_gw_secattr) == NULL) {
usr/src/uts/common/inet/ip/tnet.c
1875
ire->ire_gw_secattr = attrp;
usr/src/uts/common/inet/ip/tnet.c
1921
} else if (ire->ire_type & IRE_OFFLINK) {
usr/src/uts/common/inet/ip/tnet.c
1923
paddr = &ire->ire_gateway_addr_v6;
usr/src/uts/common/inet/ip/tnet.c
1925
paddr = &ire->ire_gateway_addr;
usr/src/uts/common/inet/ip/tnet.c
1964
ire_t *ire;
usr/src/uts/common/inet/ip/tnet.c
1993
ire = ire_ftable_lookup_v4(in4, 0, 0, IRE_LOCAL|IRE_LOOPBACK,
usr/src/uts/common/inet/ip/tnet.c
2001
ire = ire_ftable_lookup_v6(addr, 0, 0, IRE_LOCAL|IRE_LOOPBACK,
usr/src/uts/common/inet/ip/tnet.c
2014
if (ire == NULL) {
usr/src/uts/common/inet/ip/tnet.c
2027
addrzone = ire->ire_zoneid;
usr/src/uts/common/inet/ip/tnet.c
2028
ire_refrele(ire);
usr/src/uts/common/inet/ip_ire.h
140
extern int ire_atomic_start(irb_t *irb_ptr, ire_t *ire);
usr/src/uts/common/inet/ip_ire.h
141
extern void ire_atomic_end(irb_t *irb_ptr, ire_t *ire);
usr/src/uts/common/inet/ip_ire.h
270
extern ire_t *ire_route_recursive_impl_v4(ire_t *ire, ipaddr_t, uint_t,
usr/src/uts/common/inet/ip_ire.h
273
extern ire_t *ire_route_recursive_impl_v6(ire_t *ire, const in6_addr_t *,
usr/src/uts/common/inet/tcp/tcp_timers.c
612
ire_t *ire;
usr/src/uts/common/inet/tcp/tcp_timers.c
618
ire = connp->conn_ixa->ixa_ire;
usr/src/uts/common/inet/tcp/tcp_timers.c
619
if (ire != NULL && !(ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE))) {
usr/src/uts/common/inet/tcp/tcp_timers.c
620
if (ire->ire_ipversion == IPV4_VERSION) {
usr/src/uts/common/inet/tcp/tcp_timers.c
625
ip_rts_change(RTM_LOSING, ire->ire_addr,
usr/src/uts/common/inet/tcp/tcp_timers.c
626
ire->ire_gateway_addr, ire->ire_mask,
usr/src/uts/common/inet/tcp/tcp_timers.c
629
ire->ire_ipst);
usr/src/uts/common/inet/tcp/tcp_timers.c
631
(void) ire_no_good(ire);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
110
ire_t *ire = NULL;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
136
ire = ire_route_recursive_v4(dst_addr->un.ip4addr, 0, NULL,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
140
ASSERT(ire != NULL);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
141
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
147
ill = ire_nexthop_ill(ire);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
163
wqnp->gateway.un.ip4addr = ire->ire_gateway_addr;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
164
wqnp->netmask.un.ip4addr = ire->ire_mask;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
176
ire = ire_route_recursive_v6(&dst_addr->un.ip6addr, 0, NULL,
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
180
ASSERT(ire != NULL);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
181
if (ire->ire_flags & (RTF_REJECT|RTF_BLACKHOLE)) {
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
187
ill = ire_nexthop_ill(ire);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
203
wqnp->gateway.un.ip6addr = ire->ire_gateway_addr_v6;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
204
wqnp->netmask.un.ip6addr = ire->ire_mask_v6;
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
266
ire_refrele(ire);
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
278
if (ire != NULL)
usr/src/uts/common/io/ib/mgt/ibcm/ibcm_arp_link.c
279
ire_refrele(ire);