summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc
diff options
context:
space:
mode:
authordh155122 <none@none>2007-01-19 16:59:38 -0800
committerdh155122 <none@none>2007-01-19 16:59:38 -0800
commitf4b3ec61df05330d25f55a36b975b4d7519fdeb1 (patch)
tree395c234b901886c84a82603a767e031fca136e09 /usr/src/lib/libc
parent2e59fc6dac28cd69376c21d6b90a5624160ba94c (diff)
downloadillumos-joyent-f4b3ec61df05330d25f55a36b975b4d7519fdeb1.tar.gz
PSARC 2006/366 IP Instances
6289221 RFE: Need virtualized ip-stack for each local zone 6512601 panic in ipsec_in_tag - allocation failure 6514637 error message from dhcpagent: add_pkt_opt: option type 60 is missing required value 6364643 RFE: allow persistent setting of interface flags per zone 6307539 RFE: Invalid network address causes zone boot failure 5041214 Allow IPMP configuration with zones 5005887 RFE: zoneadmd should support plumbing an interface via DHCP 4991139 RFE: zones should provide a mechanism to configure a defaultrouter for a zone 6218378 zoneadmd doesn't set the netmask for non-loopback addresses hosted on lo0 4963280 zones: need to virtualize the IPv6 default address selection mechanism 4963285 zones: need support of stateless address autoconfiguration for IPv6 5048068 zones don't boot if one of its interfaces has failed 5057154 RFE: ability to change interface status from within a zone 4963287 zones should support the plumbing of the first (and only) logical interface 4978517 TCP privileged port space should be partitioned per zone 5023347 zones don't work well with network routes other than default 4963372 investigate whether global zone can act as a router for local zones 6378364 RFE: Allow each zone to have its own virtual IPFilter
Diffstat (limited to 'usr/src/lib/libc')
-rw-r--r--usr/src/lib/libc/port/mapfile-vers6
-rw-r--r--usr/src/lib/libc/port/sys/zone.c30
2 files changed, 33 insertions, 3 deletions
diff --git a/usr/src/lib/libc/port/mapfile-vers b/usr/src/lib/libc/port/mapfile-vers
index 8e1b399567..560ac9d878 100644
--- a/usr/src/lib/libc/port/mapfile-vers
+++ b/usr/src/lib/libc/port/mapfile-vers
@@ -19,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -2219,14 +2219,18 @@ SUNWprivate_1.1 {
_xgetwidth;
__xpg6 = NODIRECT;
_yield;
+ zone_add_datalink;
zone_boot;
+ zone_check_datalink;
zone_create;
zone_destroy;
zone_enter;
zone_getattr;
zone_get_id;
zone_list;
+ zone_list_datalink;
zonept;
+ zone_remove_datalink;
zone_setattr;
zone_shutdown;
zone_version;
diff --git a/usr/src/lib/libc/port/sys/zone.c b/usr/src/lib/libc/port/sys/zone.c
index 609cf381d4..7c747d9c97 100644
--- a/usr/src/lib/libc/port/sys/zone.c
+++ b/usr/src/lib/libc/port/sys/zone.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -44,7 +44,7 @@
zoneid_t
zone_create(const char *name, const char *root, const struct priv_set *privs,
const char *rctls, size_t rctlsz, const char *zfs, size_t zfssz,
- int *extended_error, int match, int doi, const bslabel_t *label)
+ int *extended_error, int match, int doi, const bslabel_t *label, int flags)
{
zone_def zd;
priv_data_t *d;
@@ -63,6 +63,7 @@ zone_create(const char *name, const char *root, const struct priv_set *privs,
zd.match = match;
zd.doi = doi;
zd.label = label;
+ zd.flags = flags;
return ((zoneid_t)syscall(SYS_zone, ZONE_CREATE, &zd));
}
@@ -221,3 +222,28 @@ zone_version(int *version)
{
return (syscall(SYS_zone, ZONE_VERSION, version));
}
+
+
+int
+zone_add_datalink(zoneid_t zoneid, char *dlname)
+{
+ return (syscall(SYS_zone, ZONE_ADD_DATALINK, zoneid, dlname));
+}
+
+int
+zone_remove_datalink(zoneid_t zoneid, char *dlname)
+{
+ return (syscall(SYS_zone, ZONE_DEL_DATALINK, zoneid, dlname));
+}
+
+int
+zone_check_datalink(zoneid_t *zoneidp, char *dlname)
+{
+ return (syscall(SYS_zone, ZONE_CHECK_DATALINK, zoneidp, dlname));
+}
+
+int
+zone_list_datalink(zoneid_t zoneid, int *dlnump, char *buf)
+{
+ return (syscall(SYS_zone, ZONE_LIST_DATALINK, zoneid, dlnump, buf));
+}