diff --git a/examples/example01/handlers/interfaces/interfacesHandler.go b/examples/example01/handlers/interfaces/interfacesHandler.go
index a1353d34acd7e2daa134689d7454b766225aa8d9..cb77aa2a29e987b8234162f8f8af627fd853df55 100644
--- a/examples/example01/handlers/interfaces/interfacesHandler.go
+++ b/examples/example01/handlers/interfaces/interfacesHandler.go
@@ -101,6 +101,7 @@ func (yh *InterfacesHandler) Update(c ygot.ValidatedGoStruct, updates []*gnmi.Up
 					osInterface.Name = config.Name
 					osInterface.Type = config.Type
 					osInterface.MTU = config.Mtu
+					osInterface.Enabled = config.Enabled
 				}
 
 				if *osInterface.Name != "lo" && *osInterface.Name != "wlan0" {
@@ -174,6 +175,7 @@ func (yh *InterfacesHandler) updateOrCreateInterface(localInterface *additions.I
 	config.Type = localInterface.Type
 	config.Mtu = localInterface.MTU
 	config.Name = localInterface.Name
+	config.Enabled = localInterface.Enabled
 
 	state.OperStatus = localInterface.OperState
 	state.AdminStatus = localInterface.AdminStatus
diff --git a/examples/example01/osclient/additions/additions.go b/examples/example01/osclient/additions/additions.go
index a5eba4db320c567267a7e6fb0c05f9ff4fa3c07b..fb11bbd31d8ff9dbfa0c685d4599fbe33cc29adb 100644
--- a/examples/example01/osclient/additions/additions.go
+++ b/examples/example01/osclient/additions/additions.go
@@ -25,6 +25,7 @@ type Interface struct {
 	Name          *string
 	Type          gnmitargetygot.E_IETFInterfaces_InterfaceType
 	MTU           *uint16
+	Enabled       *bool
 	OperState     gnmitargetygot.E_OpenconfigInterfaces_Interfaces_Interface_State_OperStatus
 	AdminStatus   gnmitargetygot.E_OpenconfigInterfaces_Interfaces_Interface_State_AdminStatus
 	LoopbackMode  *bool
diff --git a/examples/example01/osclient/additions/interfaces_linux.go b/examples/example01/osclient/additions/interfaces_linux.go
index 797e7ad6908da1b7b51f7d619901a21308dba751..ef86c80d1ec54fdfe0f5000add833cafbe16a190 100644
--- a/examples/example01/osclient/additions/interfaces_linux.go
+++ b/examples/example01/osclient/additions/interfaces_linux.go
@@ -49,6 +49,12 @@ func (oc *interfaces) SetInterface(interfaceToSet *Interface) error {
 
 	log.Debug("Current Interface-Name: ", link.Attrs().Name)
 
+	if *interfaceToSet.Enabled {
+		netlink.LinkSetUp(link)
+	} else {
+		netlink.LinkSetDown(link)
+	}
+
 	//TODO: add more set options for interface
 	if err := netlink.LinkSetMTU(link, int(*interfaceToSet.MTU)); err != nil {
 		log.Debugf("Failed to set MTU: %d ; err: %v", *interfaceToSet.MTU, err)
@@ -148,6 +154,7 @@ func interfaceFromLink(localIface netlink.Link) (*Interface, error) {
 		AdminStatus:   adminStatus,
 		LoopbackMode:  loopbackMode,
 		OperState:     setOperState(attributes.OperState),
+		Enabled:       ygot.Bool(setConfigEnabled(attributes.OperState)),
 		Ipv4Addresses: IPv4Addresses,
 		Ipv6Addresses: IPv6Addresses,
 	}, nil
@@ -173,3 +180,14 @@ func setOperState(state netlink.LinkOperState) gnmitargetygot.E_OpenconfigInterf
 		return gnmitargetygot.OpenconfigInterfaces_Interfaces_Interface_State_OperStatus_UNKNOWN
 	}
 }
+
+// setOperState helper function that allows to return the correct OperStatus
+// type for openconfig interfaces based on a netlink LinkOperState
+func setConfigEnabled(state netlink.LinkOperState) bool {
+	switch state {
+	case netlink.OperUp:
+		return true
+	default:
+		return false
+	}
+}