summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/inet/ip_stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/inet/ip_stack.h')
-rw-r--r--usr/src/uts/common/inet/ip_stack.h36
1 files changed, 15 insertions, 21 deletions
diff --git a/usr/src/uts/common/inet/ip_stack.h b/usr/src/uts/common/inet/ip_stack.h
index 3c53e1a3d3..750378f587 100644
--- a/usr/src/uts/common/inet/ip_stack.h
+++ b/usr/src/uts/common/inet/ip_stack.h
@@ -20,7 +20,7 @@
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -33,6 +33,7 @@ extern "C" {
#include <sys/netstack.h>
#include <netinet/igmp_var.h>
+#include <sys/modhash.h>
#ifdef _KERNEL
#include <sys/list.h>
@@ -172,9 +173,6 @@ struct ip_stack {
krwlock_t ips_ill_g_usesrc_lock;
- struct ill_group *ips_illgrp_head_v4; /* Head of IPv4 ill groups */
- struct ill_group *ips_illgrp_head_v6; /* Head of IPv6 ill groups */
-
/* Taskq dispatcher for capability operations */
kmutex_t ips_capab_taskq_lock;
kcondvar_t ips_capab_taskq_cv;
@@ -204,7 +202,6 @@ struct ip_stack {
int ips_igmp_timer_scheduled_last;
int ips_igmp_deferred_next;
timeout_id_t ips_igmp_timeout_id;
- kthread_t *ips_igmp_timer_thread;
boolean_t ips_igmp_timer_setter_active;
/* Following protected by mld_timer_lock */
@@ -212,7 +209,6 @@ struct ip_stack {
int ips_mld_timer_scheduled_last;
int ips_mld_deferred_next;
timeout_id_t ips_mld_timeout_id;
- kthread_t *ips_mld_timer_thread;
boolean_t ips_mld_timer_setter_active;
/* Protected by igmp_slowtimeout_lock */
@@ -269,8 +265,6 @@ struct ip_stack {
int ips_ip_g_forward;
int ips_ipv6_forward;
- int ips_ipmp_hook_emulation; /* ndd variable */
-
time_t ips_ip_g_frag_timeout;
clock_t ips_ip_g_frag_timo_ms;
@@ -280,8 +274,6 @@ struct ip_stack {
clock_t ips_icmp_pkt_err_last;
/* Number of packets sent in burst */
uint_t ips_icmp_pkt_err_sent;
- /* Used by icmp_send_redirect_v6 for picking random src. */
- uint_t ips_icmp_redirect_v6_src_index;
/* Protected by ip_mi_lock */
void *ips_ip_g_head; /* Instance Data List Head */
@@ -356,8 +348,6 @@ struct ip_stack {
kstat_t *ips_loopback_ksp;
- uint_t ips_ipif_src_random;
-
struct idl_s *ips_conn_drain_list; /* Array of conn drain lists */
uint_t ips_conn_drain_list_cnt; /* Count of conn_drain_list */
int ips_conn_drain_list_index; /* Next drain_list */
@@ -375,15 +365,6 @@ struct ip_stack {
uint64_t ips_ipif_g_seqid;
union phyint_list_u *ips_phyint_g_list; /* start of phyint list */
- /*
- * Reflects value of FAILBACK variable in IPMP config file
- * /etc/default/mpathd. Default value is B_TRUE.
- * Set to B_FALSE if user disabled failback by configuring
- * "FAILBACK=no" in.mpathd uses SIOCSIPMPFAILBACK ioctl to pass this
- * information to kernel.
- */
- boolean_t ips_ipmp_enable_failback;
-
/* ip_neti.c */
hook_family_t ips_ipv4root;
hook_family_t ips_ipv6root;
@@ -427,12 +408,25 @@ struct ip_stack {
kcondvar_t ips_ipobs_cb_cv;
struct __ldi_ident *ips_ldi_ident;
+
+/* ipmp.c */
+ krwlock_t ips_ipmp_lock;
+ mod_hash_t *ips_ipmp_grp_hash;
+
+/* igmp.c */
+ /* multicast restart timers thread logic */
+ kmutex_t ips_mrt_lock;
+ uint_t ips_mrt_flags;
+ kcondvar_t ips_mrt_cv;
+ kcondvar_t ips_mrt_done_cv;
+ kthread_t *ips_mrt_thread;
};
typedef struct ip_stack ip_stack_t;
/* Finding an ip_stack_t */
#define CONNQ_TO_IPST(_q) (Q_TO_CONN(_q)->conn_netstack->netstack_ip)
#define ILLQ_TO_IPST(_q) (((ill_t *)(_q)->q_ptr)->ill_ipst)
+#define PHYINT_TO_IPST(phyi) ((phyi)->phyint_ipsq->ipsq_ipst)
#else /* _KERNEL */
typedef int ip_stack_t;