diff --git a/os_clients/ubuntu/ubuntu.go b/os_clients/ubuntu/ubuntu.go
index b6367dfb186bd49d4769413e43f5408ceb22064c..aeb51a97830539a0c74f1c2b1e821605809df37b 100644
--- a/os_clients/ubuntu/ubuntu.go
+++ b/os_clients/ubuntu/ubuntu.go
@@ -1,6 +1,7 @@
 package ubuntu
 
 import (
+	"net"
 	"os"
 	"os/exec"
 	"strings"
@@ -74,6 +75,14 @@ func (ou OsclientUbuntu) createInterfaces(localIface netlink.Link, gt *gnmitarge
 
 	state.OperStatus = setOperState(attributes.OperState)
 
+	if attributes.Flags&net.FlagUp != 0 {
+		state.AdminStatus = gnmitargetygot.OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus_UP
+	}
+
+	if attributes.Flags&net.FlagLoopback != 0 {
+		state.LoopbackMode = ygot.Bool(true)
+	}
+
 	ipv4Addresses, err := netlink.AddrList(localIface, netlink.FAMILY_V4)
 	if err != nil {
 		log.WithFields(log.Fields{}).Error(err)