--- a/tools/cli/netmgmt/net_main.c	2019-01-04 16:48:20.110587273 +0530
+++ b/tools/cli/netmgmt/net_main.c	2019-01-04 17:26:21.734579560 +0530
@@ -985,7 +985,7 @@ cmd_dhcp_duid(
     PNETMGR_CMD pCmd)
 {
     uint32_t dwError = 0;
-    char *pszDuid = NULL;
+    char *pszDuid = NULL, *pszIfName = NULL;
 
     if(!hPMD || !pCmd)
     {
@@ -993,19 +993,18 @@ cmd_dhcp_duid(
         BAIL_ON_CLI_ERROR(dwError);
     }
 
-    if (pCmd->op == OP_SET)
-    {
+    dwError = netmgrcli_find_cmdopt(pCmd, "interface", &pszIfName);
+    BAIL_ON_CLI_ERROR(dwError);
+
+    if (pCmd->op == OP_SET) {
         dwError = netmgrcli_find_cmdopt(pCmd, "duid", &pszDuid);
         BAIL_ON_CLI_ERROR(dwError);
 
-        dwError = netmgr_client_set_duid(hPMD, NULL, pszDuid);
+        dwError = netmgr_client_set_duid(hPMD, pszIfName, pszDuid);
         pszDuid = NULL;
         BAIL_ON_CLI_ERROR(dwError);
-    }
-
-    if (pCmd->op == OP_GET)
-    {
-        dwError = netmgr_client_get_duid(hPMD, NULL, &pszDuid);
+    } else if (pCmd->op == OP_GET) {
+        dwError = netmgr_client_get_duid(hPMD, pszIfName, &pszDuid);
         BAIL_ON_CLI_ERROR(dwError);
         fprintf(stdout, "DUID=%s\n", pszDuid);
     }
--- a/server/netmgmtrpcapi.c	2019-01-04 17:14:47.594581907 +0530
+++ b/server/netmgmtrpcapi.c	2019-01-04 17:15:25.350581779 +0530
@@ -1285,6 +1285,8 @@ netmgr_rpc_get_iaid(
         dwError = ERROR_PMD_INVALID_PARAMETER;
         BAIL_ON_PMD_ERROR(dwError);
     }
+    dwError = rpc_open_privsep_internal(NET_PRIVSEP, &hPMD);
+    BAIL_ON_PMD_ERROR(dwError);
 
     dwError = netmgr_client_get_iaid_w(hPMD, pwszIfname, &iaid);
     BAIL_ON_PMD_ERROR(dwError);