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)