Print this page
%B

*** 24,34 **** /* * This file contains routines that are used to modify/retrieve protocol or * interface property values. It also holds all the supported properties for * both IP interface and protocols in `ipadm_prop_desc_t'. Following protocols ! * are supported: IP, IPv4, IPv6, TCP, SCTP, UDP and ICMP. * * This file also contains walkers, which walks through the property table and * calls the callback function, of the form `ipadm_prop_wfunc_t' , for every * property in the table. */ --- 24,34 ---- /* * This file contains routines that are used to modify/retrieve protocol or * interface property values. It also holds all the supported properties for * both IP interface and protocols in `ipadm_prop_desc_t'. Following protocols ! * are supported: IP, IPv4, IPv6, TCP, SCTP, UDP, ICMP and DCCP. * * This file also contains walkers, which walks through the property table and * calls the callback function, of the form `ipadm_prop_wfunc_t' , for every * property in the table. */
*** 80,90 **** i_ipadm_set_ecnsack, i_ipadm_set_hostmodel; /* array of protocols we support */ static int protocols[] = { MOD_PROTO_IP, MOD_PROTO_RAWIP, MOD_PROTO_TCP, MOD_PROTO_UDP, ! MOD_PROTO_SCTP }; /* * Supported IP protocol properties. */ static ipadm_prop_desc_t ipadm_ip_prop_table[] = { --- 80,90 ---- i_ipadm_set_ecnsack, i_ipadm_set_hostmodel; /* array of protocols we support */ static int protocols[] = { MOD_PROTO_IP, MOD_PROTO_RAWIP, MOD_PROTO_TCP, MOD_PROTO_UDP, ! MOD_PROTO_SCTP, MOD_PROTO_DCCP }; /* * Supported IP protocol properties. */ static ipadm_prop_desc_t ipadm_ip_prop_table[] = {
*** 237,246 **** --- 237,270 ---- i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, { NULL, 0, 0, 0, NULL, NULL, NULL } }; + /* Supported DCCP protocol properties */ + static ipadm_prop_desc_t ipadm_dccp_prop_table[] = { + { "extra_priv_ports", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, + IPADMPROP_MULVAL, i_ipadm_set_eprivport, i_ipadm_get_prop, + i_ipadm_get_prop }, + + { "largest_anon_port", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, 0, + i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, + + { "recv_maxbuf", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, 0, + i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, + + { "send_maxbuf", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, 0, + i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, + + { "smallest_anon_port", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, 0, + i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, + + { "smallest_nonpriv_port", IPADMPROP_CLASS_MODULE, MOD_PROTO_DCCP, 0, + i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop }, + + { NULL, 0, 0, 0, NULL, NULL, NULL } + }; + /* * A dummy private property structure, used while handling private * protocol properties (properties not yet supported by libipadm). */ static ipadm_prop_desc_t ipadm_privprop =\
*** 264,273 **** --- 288,299 ---- return (ipadm_tcp_prop_table); case MOD_PROTO_UDP: return (ipadm_udp_prop_table); case MOD_PROTO_SCTP: return (ipadm_sctp_prop_table); + case MOD_PROTO_DCCP: + return (ipadm_dccp_prop_table); } return (NULL); }
*** 318,327 **** --- 344,355 ---- return ("tcp"); case MOD_PROTO_UDP: return ("udp"); case MOD_PROTO_SCTP: return ("sctp"); + case MOD_PROTO_DCCP: + return ("dccp"); } return (NULL); }
*** 344,353 **** --- 372,383 ---- return (MOD_PROTO_RAWIP); else if (strcmp(protostr, "sctp") == 0) return (MOD_PROTO_SCTP); else if (strcmp(protostr, "arp") == 0) return (MOD_PROTO_IP); + else if (strcmp(protostr, "dccp") == 0) + return (MOD_PROTO_DCCP); return (MOD_PROTO_NONE); } /* ARGSUSED */