diff --git a/internal/pkg/application/dhcprelay.go b/internal/pkg/application/dhcprelay.go
index 346bd3d..580ea85 100644
--- a/internal/pkg/application/dhcprelay.go
+++ b/internal/pkg/application/dhcprelay.go
@@ -827,12 +827,12 @@
 		}
 		raiseDHCPv4Indication(msgType, vpv, dhcp4.ClientHWAddr, vpv.Ipv4Addr, priority, device, 0)
 
-		// Check IsOption82Disabled flag in configuration. if true(disabled), do not add option82 into dhcpv4 header.
+		// Check IsOption82Enabled flag in configuration. if true(enabled), add option82 into dhcpv4 header.
 		// Remote id can be custom or mac address.
 		// If remote id is custom, then add service will carry the remote id
 		// If remote id is mac address, and if mac is configured, then add service will carry the remote id
 		// If remote id is mac address, in mac learning case, then mac has to be taken from dhcp packet
-		if !svc.IsOption82Disabled {
+		if svc.IsOption82Enabled {
 			var remoteID []byte
 			if svc.RemoteIDType == string(MACAddress) {
 				remoteID = []byte((dhcp4.ClientHWAddr).String())
@@ -990,12 +990,12 @@
 }
 
 // BuildRelayFwd to build forward relay
-func BuildRelayFwd(paddr net.IP, intfID []byte, remoteID []byte, payload []byte, isOption82Disabled bool, dhcpRelay bool) *layers.DHCPv6 {
+func BuildRelayFwd(paddr net.IP, intfID []byte, remoteID []byte, payload []byte, isOption82Enabled bool, dhcpRelay bool) *layers.DHCPv6 {
 	dhcp6 := &layers.DHCPv6{MsgType: layers.DHCPv6MsgTypeRelayForward, LinkAddr: net.ParseIP("::"), PeerAddr: []byte(paddr)}
 	dhcp6.Options = append(dhcp6.Options, layers.NewDHCPv6Option(layers.DHCPv6OptRelayMessage, payload))
-	// Check IsOption82Disabled flag in configuration. if true(disabled), do not add remoteID and circuitID into dhcpv6 header.
+	// Check IsOption82Enabled flag in configuration. if true(enabled), add remoteID and circuitID into dhcpv6 header.
 	if dhcpRelay {
-		if !isOption82Disabled {
+		if isOption82Enabled {
 			remote := &layers.DHCPv6RemoteId{RemoteId: remoteID}
 			if len(remoteID) != 0 {
 				dhcp6.Options = append(dhcp6.Options, layers.NewDHCPv6Option(layers.DHCPv6OptRemoteID, remote.Encode()))
@@ -1046,7 +1046,7 @@
 	} else if svc.RemoteID != nil {
 		remoteID = svc.RemoteID
 	}
-	dhcp6 := BuildRelayFwd(ip.SrcIP, svc.GetCircuitID(), remoteID, udp.Payload, svc.IsOption82Disabled, vpv.DhcpRelay)
+	dhcp6 := BuildRelayFwd(ip.SrcIP, svc.GetCircuitID(), remoteID, udp.Payload, svc.IsOption82Enabled, vpv.DhcpRelay)
 
 	var sourceMac = eth.SrcMAC
 	var sessionKey [MaxLenDhcpv6DUID]byte
diff --git a/internal/pkg/application/service.go b/internal/pkg/application/service.go
index a2e1d54..6da1150 100644
--- a/internal/pkg/application/service.go
+++ b/internal/pkg/application/service.go
@@ -98,7 +98,7 @@
 	DsPonSTagPriority          of.PbitType
 	DsPonCTagPriority          of.PbitType
 	VlanControl                VlanControl
-	IsOption82Disabled         bool
+	IsOption82Enabled          bool
 	IgmpEnabled                bool
 	McastService               bool
 	AllowTransparent           bool
@@ -173,7 +173,7 @@
 	vs.DsHSIAFlowsApplied = false
 	vs.DeleteInProgress = false
 	//vs.MacAddr, _ = net.ParseMAC("00:00:00:00:00:00")
-
+	vs.IsOption82Enabled = cfg.IsOption82Enabled
 	vs.MacAddr = cfg.MacAddr
 	vs.Ipv4Addr = net.ParseIP("0.0.0.0")
 	vs.Ipv6Addr = net.ParseIP("::")
@@ -1855,7 +1855,7 @@
 	if evs.MacLearning == MacLearningNone && !util.MacAddrsMatch(nvs.MacAddr, evs.MacAddr) {
 		return false
 	}
-	if nvs.IsOption82Disabled != evs.IsOption82Disabled {
+	if nvs.IsOption82Enabled != evs.IsOption82Enabled {
 		return false
 	}
 	if nvs.IgmpEnabled != evs.IgmpEnabled {
diff --git a/internal/pkg/application/vnets.go b/internal/pkg/application/vnets.go
index 09613c9..1374faa 100644
--- a/internal/pkg/application/vnets.go
+++ b/internal/pkg/application/vnets.go
@@ -455,7 +455,7 @@
 	IgmpFlowsApplied           bool
 	McastService               bool
 	FlowsApplied               bool
-	IsOption82Disabled         bool //Will not be used
+	IsOption82Enabled          bool //Will not be used
 }
 
 // VlanControl vlan control type
@@ -3148,7 +3148,7 @@
 		LearntMacAddr:              vpv.LearntMacAddr,
 		CircuitID:                  vpv.CircuitID,
 		RemoteID:                   vpv.RemoteID,
-		IsOption82Disabled:         vpv.IsOption82Disabled,
+		IsOption82Enabled:          vpv.IsOption82Enabled,
 		RelayState:                 vpv.RelayState,
 		PPPoeState:                 vpv.PPPoeState,
 		RelayStatev6:               vpv.RelayStatev6,
