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 */