diff options
Diffstat (limited to 'usr/src/lib/libdladm/common/libdloverlay.c')
| -rw-r--r-- | usr/src/lib/libdladm/common/libdloverlay.c | 12 | 
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();  	} | 
