summaryrefslogtreecommitdiff
path: root/usr/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib')
-rw-r--r--usr/src/lib/libdladm/common/libdloverlay.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr/src/lib/libdladm/common/libdloverlay.c b/usr/src/lib/libdladm/common/libdloverlay.c
index a83105b91c..baee571ee6 100644
--- a/usr/src/lib/libdladm/common/libdloverlay.c
+++ b/usr/src/lib/libdladm/common/libdloverlay.c
@@ -82,6 +82,7 @@ dladm_overlay_parse_prop(overlay_prop_type_t type, void *buf, uint32_t *sizep,
int ret;
int64_t ival;
uint64_t uval;
+ uint32_t bval;
char *eptr;
struct in6_addr ipv6;
struct in_addr ip;
@@ -127,6 +128,17 @@ dladm_overlay_parse_prop(overlay_prop_type_t type, void *buf, uint32_t *sizep,
bcopy(&ipv6, buf, sizeof (struct in6_addr));
*sizep = sizeof (struct in6_addr);
break;
+ case OVERLAY_PROP_T_BOOLEAN:
+ if (strcmp(val, "true") == 0) {
+ bval = 1;
+ } else if (strcmp(vap, "false") == 0) {
+ bval = 0;
+ } else {
+ return (DLADM_STATUS_BADARG);
+ }
+ bcopy(&bval, buf, sizeof (bval));
+ *sizep = sizeof (bval);
+ break;
default:
abort();
}