From 4d6131f65592ec4a75e471b05022c6c1987347eb Mon Sep 17 00:00:00 2001 From: Dan McDonald Date: Thu, 20 Aug 2009 14:58:57 -0400 Subject: 6826091 in.iked falls over trying to bind to the first non-global link local --- usr/src/uts/common/inet/tcp/tcp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'usr/src/uts/common/inet/tcp/tcp.c') diff --git a/usr/src/uts/common/inet/tcp/tcp.c b/usr/src/uts/common/inet/tcp/tcp.c index f53d0de39f..540809dce5 100644 --- a/usr/src/uts/common/inet/tcp/tcp.c +++ b/usr/src/uts/common/inet/tcp/tcp.c @@ -25932,7 +25932,8 @@ tcp_bind_select_lport(tcp_t *tcp, in_port_t *requested_port_ptr, connp = tcp->tcp_connp; if (connp->conn_anon_mlp && is_system_labeled()) { zone = crgetzone(cr); - addrtype = tsol_mlp_addr_type(zone->zone_id, + addrtype = tsol_mlp_addr_type( + connp->conn_allzones ? ALL_ZONES : zone->zone_id, IPV6_VERSION, &v6addr, tcps->tcps_netstack->netstack_ip); if (addrtype == mlptSingle) { @@ -25983,7 +25984,8 @@ tcp_bind_select_lport(tcp_t *tcp, in_port_t *requested_port_ptr, connp = tcp->tcp_connp; if (is_system_labeled()) { zone = crgetzone(cr); - addrtype = tsol_mlp_addr_type(zone->zone_id, + addrtype = tsol_mlp_addr_type( + connp->conn_allzones ? ALL_ZONES : zone->zone_id, IPV6_VERSION, &v6addr, tcps->tcps_netstack->netstack_ip); if (addrtype == mlptSingle) { -- cgit v1.2.3