4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #ifndef _INET_IPCLASSIFIER_H
27 #define _INET_IPCLASSIFIER_H
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #include <inet/common.h>
34 #include <inet/ip.h>
35 #include <inet/mi.h>
36 #include <inet/tcp.h>
37 #include <inet/ip6.h>
38 #include <netinet/in.h> /* for IPPROTO_* constants */
39 #include <sys/sdt.h>
40 #include <sys/socket_proto.h>
41 #include <sys/sunddi.h>
42 #include <sys/sunldi.h>
43
276 conn_reuseaddr : 1, /* SO_REUSEADDR state */
277 conn_keepalive : 1, /* SO_KEEPALIVE state */
278 conn_multi_router : 1, /* Wants all multicast pkts */
279 conn_unspec_src : 1, /* IP_UNSPEC_SRC */
280
281 conn_policy_cached : 1, /* Is policy cached/latched ? */
282 conn_in_enforce_policy : 1, /* Enforce Policy on inbound */
283 conn_out_enforce_policy : 1, /* Enforce Policy on outbound */
284 conn_debug : 1, /* SO_DEBUG */
285
286 conn_ipv6_v6only : 1, /* IPV6_V6ONLY */
287 conn_oobinline : 1, /* SO_OOBINLINE state */
288 conn_dgram_errind : 1, /* SO_DGRAM_ERRIND state */
289 conn_exclbind : 1, /* SO_EXCLBIND state */
290
291 conn_mdt_ok : 1, /* MDT is permitted */
292 conn_allzones : 1, /* SO_ALLZONES */
293 conn_ipv6_recvpathmtu : 1, /* IPV6_RECVPATHMTU */
294 conn_mcbc_bind : 1, /* Bound to multi/broadcast */
295
296 conn_pad_to_bit_31 : 12;
297
298 boolean_t conn_blocked; /* conn is flow-controlled */
299
300 squeue_t *conn_initial_sqp; /* Squeue at open time */
301 squeue_t *conn_final_sqp; /* Squeue after connect */
302 ill_t *conn_dhcpinit_ill; /* IP_DHCPINIT_IF */
303 ipsec_latch_t *conn_latch; /* latched IDS */
304 struct ipsec_policy_s *conn_latch_in_policy; /* latched policy (in) */
305 struct ipsec_action_s *conn_latch_in_action; /* latched action (in) */
306 uint_t conn_bound_if; /* IP*_BOUND_IF */
307 queue_t *conn_rq; /* Read queue */
308 queue_t *conn_wq; /* Write queue */
309 dev_t conn_dev; /* Minor number */
310 vmem_t *conn_minor_arena; /* Minor arena */
311 ip_helper_stream_info_t *conn_helper_info;
312
313 cred_t *conn_cred; /* Credentials */
314 pid_t conn_cpid; /* pid from open/connect */
315 uint64_t conn_open_time; /* time when this was opened */
316
|
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 * Copyright 2015 Joyent, Inc.
25 */
26
27 #ifndef _INET_IPCLASSIFIER_H
28 #define _INET_IPCLASSIFIER_H
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #include <inet/common.h>
35 #include <inet/ip.h>
36 #include <inet/mi.h>
37 #include <inet/tcp.h>
38 #include <inet/ip6.h>
39 #include <netinet/in.h> /* for IPPROTO_* constants */
40 #include <sys/sdt.h>
41 #include <sys/socket_proto.h>
42 #include <sys/sunddi.h>
43 #include <sys/sunldi.h>
44
277 conn_reuseaddr : 1, /* SO_REUSEADDR state */
278 conn_keepalive : 1, /* SO_KEEPALIVE state */
279 conn_multi_router : 1, /* Wants all multicast pkts */
280 conn_unspec_src : 1, /* IP_UNSPEC_SRC */
281
282 conn_policy_cached : 1, /* Is policy cached/latched ? */
283 conn_in_enforce_policy : 1, /* Enforce Policy on inbound */
284 conn_out_enforce_policy : 1, /* Enforce Policy on outbound */
285 conn_debug : 1, /* SO_DEBUG */
286
287 conn_ipv6_v6only : 1, /* IPV6_V6ONLY */
288 conn_oobinline : 1, /* SO_OOBINLINE state */
289 conn_dgram_errind : 1, /* SO_DGRAM_ERRIND state */
290 conn_exclbind : 1, /* SO_EXCLBIND state */
291
292 conn_mdt_ok : 1, /* MDT is permitted */
293 conn_allzones : 1, /* SO_ALLZONES */
294 conn_ipv6_recvpathmtu : 1, /* IPV6_RECVPATHMTU */
295 conn_mcbc_bind : 1, /* Bound to multi/broadcast */
296
297 conn_reuseport : 1, /* SO_REUSEPORT state */
298 conn_pad_to_bit_31 : 11;
299
300 boolean_t conn_blocked; /* conn is flow-controlled */
301
302 squeue_t *conn_initial_sqp; /* Squeue at open time */
303 squeue_t *conn_final_sqp; /* Squeue after connect */
304 ill_t *conn_dhcpinit_ill; /* IP_DHCPINIT_IF */
305 ipsec_latch_t *conn_latch; /* latched IDS */
306 struct ipsec_policy_s *conn_latch_in_policy; /* latched policy (in) */
307 struct ipsec_action_s *conn_latch_in_action; /* latched action (in) */
308 uint_t conn_bound_if; /* IP*_BOUND_IF */
309 queue_t *conn_rq; /* Read queue */
310 queue_t *conn_wq; /* Write queue */
311 dev_t conn_dev; /* Minor number */
312 vmem_t *conn_minor_arena; /* Minor arena */
313 ip_helper_stream_info_t *conn_helper_info;
314
315 cred_t *conn_cred; /* Credentials */
316 pid_t conn_cpid; /* pid from open/connect */
317 uint64_t conn_open_time; /* time when this was opened */
318
|