diff options
| author | gfaden <none@none> | 2008-02-25 17:23:19 -0800 |
|---|---|---|
| committer | gfaden <none@none> | 2008-02-25 17:23:19 -0800 |
| commit | de860bd9529e1034e1666f74f7bc0ec8cd5ca701 (patch) | |
| tree | 4895a1aa39176716fe2f6d72b766dea48a96c8b1 /usr/src/lib/libzonecfg | |
| parent | 321febde881fb7f55caa9bc4766f121ff16cd65e (diff) | |
| download | illumos-joyent-de860bd9529e1034e1666f74f7bc0ec8cd5ca701.tar.gz | |
6583565 need a mechanism to configure a per zone default route in shared IP stack for TX
Diffstat (limited to 'usr/src/lib/libzonecfg')
| -rw-r--r-- | usr/src/lib/libzonecfg/common/libzonecfg.c | 16 | ||||
| -rw-r--r-- | usr/src/lib/libzonecfg/dtd/zonecfg.dtd.1 | 3 |
2 files changed, 18 insertions, 1 deletions
diff --git a/usr/src/lib/libzonecfg/common/libzonecfg.c b/usr/src/lib/libzonecfg/common/libzonecfg.c index 2bce66d3f5..025ef86b36 100644 --- a/usr/src/lib/libzonecfg/common/libzonecfg.c +++ b/usr/src/lib/libzonecfg/common/libzonecfg.c @@ -96,6 +96,7 @@ #define DTD_ATTR_ADDRESS (const xmlChar *) "address" #define DTD_ATTR_AUTOBOOT (const xmlChar *) "autoboot" #define DTD_ATTR_IPTYPE (const xmlChar *) "ip-type" +#define DTD_ATTR_DEFROUTER (const xmlChar *) "defrouter" #define DTD_ATTR_DIR (const xmlChar *) "directory" #define DTD_ATTR_LIMIT (const xmlChar *) "limit" #define DTD_ATTR_LIMITPRIV (const xmlChar *) "limitpriv" @@ -2209,6 +2210,11 @@ zonecfg_lookup_nwif(zone_dochandle_t handle, struct zone_nwiftab *tabptr) sizeof (tabptr->zone_nwif_address))) != Z_OK) return (err); + if ((err = fetchprop(cur, DTD_ATTR_DEFROUTER, + tabptr->zone_nwif_defrouter, + sizeof (tabptr->zone_nwif_defrouter))) != Z_OK) + return (err); + return (Z_OK); } @@ -2225,6 +2231,9 @@ zonecfg_add_nwif_core(zone_dochandle_t handle, struct zone_nwiftab *tabptr) if ((err = newprop(newnode, DTD_ATTR_PHYSICAL, tabptr->zone_nwif_physical)) != Z_OK) return (err); + if ((err = newprop(newnode, DTD_ATTR_DEFROUTER, + tabptr->zone_nwif_defrouter)) != Z_OK) + return (err); return (Z_OK); } @@ -4386,6 +4395,13 @@ zonecfg_getnwifent(zone_dochandle_t handle, struct zone_nwiftab *tabptr) return (err); } + if ((err = fetchprop(cur, DTD_ATTR_DEFROUTER, + tabptr->zone_nwif_defrouter, + sizeof (tabptr->zone_nwif_defrouter))) != Z_OK) { + handle->zone_dh_cur = handle->zone_dh_top; + return (err); + } + handle->zone_dh_cur = cur->next; return (Z_OK); } diff --git a/usr/src/lib/libzonecfg/dtd/zonecfg.dtd.1 b/usr/src/lib/libzonecfg/dtd/zonecfg.dtd.1 index 5de8176c42..e650c1cc96 100644 --- a/usr/src/lib/libzonecfg/dtd/zonecfg.dtd.1 +++ b/usr/src/lib/libzonecfg/dtd/zonecfg.dtd.1 @@ -20,7 +20,7 @@ CDDL HEADER END - Copyright 2007 Sun Microsystems, Inc. All rights reserved. + Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. ident "%Z%%M% %I% %E% SMI" @@ -45,6 +45,7 @@ <!ELEMENT network EMPTY> <!ATTLIST network address CDATA "" + defrouter CDATA "" physical CDATA #REQUIRED> <!ELEMENT device EMPTY> |
