Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
@@ -19,10 +19,11 @@
* CDDL HEADER END
*/
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
*/
/*
* nwamcfg is a lex/yacc based command interpreter used to manage network
* configurations. The lexer (see nwamcfg_lex.l) builds up tokens, which
@@ -196,11 +197,13 @@
NWAM_LOC_PROP_IPSECPOLICY_CONFIG_FILE,
NWAM_KNOWN_WLAN_PROP_BSSIDS,
NWAM_KNOWN_WLAN_PROP_PRIORITY,
NWAM_KNOWN_WLAN_PROP_KEYNAME,
NWAM_KNOWN_WLAN_PROP_KEYSLOT,
- NWAM_KNOWN_WLAN_PROP_SECURITY_MODE
+ NWAM_KNOWN_WLAN_PROP_SECURITY_MODE,
+ NWAM_NCU_PROP_IP_PRIMARY,
+ NWAM_NCU_PROP_IP_REQHOST
};
/* properties table: maps PT_* constants to property names */
typedef struct prop_table_entry {
int pte_type;
@@ -224,10 +227,12 @@
{ PT_IPV4_ADDR, NWAM_NCU_PROP_IPV4_ADDR },
{ PT_IPV4_DEFAULT_ROUTE, NWAM_NCU_PROP_IPV4_DEFAULT_ROUTE },
{ PT_IPV6_ADDRSRC, NWAM_NCU_PROP_IPV6_ADDRSRC },
{ PT_IPV6_ADDR, NWAM_NCU_PROP_IPV6_ADDR },
{ PT_IPV6_DEFAULT_ROUTE, NWAM_NCU_PROP_IPV6_DEFAULT_ROUTE },
+ { PT_IP_PRIMARY, NWAM_NCU_PROP_IP_PRIMARY },
+ { PT_IP_REQHOST, NWAM_NCU_PROP_IP_REQHOST },
{ 0, NULL }
};
/* ENM properties table */
static prop_table_entry_t enm_prop_table[] = {
@@ -662,15 +667,19 @@
{
assert(prop_type >= PT_MIN && prop_type <= PT_MAX);
return (pt_types[prop_type]);
}
-/* Return B_TRUE if string starts with "t" or is 1, B_FALSE otherwise */
+/*
+ * Return B_TRUE if string starts with "t" or "on" or is 1;
+ * B_FALSE otherwise
+ */
static boolean_t
str_to_boolean(const char *str)
{
- if (strncasecmp(str, "t", 1) == 0 || atoi(str) == 1)
+ if (strncasecmp(str, "t", 1) == 0 || strncasecmp(str, "on", 2) == 0 ||
+ atoi(str) == 1)
return (B_TRUE);
else
return (B_FALSE);
}
@@ -2195,10 +2204,22 @@
{ NWAM_NCU_PROP_IPV6_ADDR, NWAM_NCU_PROP_IPV6_ADDRSRC,
{ NWAM_ADDRSRC_STATIC, -1 } },
/* show ipv6-default-route if ip-version == ipv6 */
{ NWAM_NCU_PROP_IPV6_DEFAULT_ROUTE, NWAM_NCU_PROP_IP_VERSION,
{ IPV6_VERSION, -1 } },
+ /* show ip-primary if ipv4-addrsrc == dhcp */
+ { NWAM_NCU_PROP_IP_PRIMARY, NWAM_NCU_PROP_IPV4_ADDRSRC,
+ { NWAM_ADDRSRC_DHCP, -1 } },
+ /* show ip-primary if ipv6-addrsrc == dhcp */
+ { NWAM_NCU_PROP_IP_PRIMARY, NWAM_NCU_PROP_IPV6_ADDRSRC,
+ { NWAM_ADDRSRC_DHCP, -1 } },
+ /* show ip-reqhost if ipv4-addrsrc == dhcp */
+ { NWAM_NCU_PROP_IP_REQHOST, NWAM_NCU_PROP_IPV4_ADDRSRC,
+ { NWAM_ADDRSRC_DHCP, -1 } },
+ /* show ip-reqhost if ipv6-addrsrc == dhcp */
+ { NWAM_NCU_PROP_IP_REQHOST, NWAM_NCU_PROP_IPV6_ADDRSRC,
+ { NWAM_ADDRSRC_DHCP, -1 } },
{ NULL, NULL, { -1 } }
};
/* Rules for ENMs */
static prop_display_entry_t enm_prop_display_entry_table[] = {