diff --git a/internal/bbsim/devices/service_test.go b/internal/bbsim/devices/service_test.go
index 12ea230..fbc2bb3 100644
--- a/internal/bbsim/devices/service_test.go
+++ b/internal/bbsim/devices/service_test.go
@@ -64,7 +64,7 @@
 
 	uni := UniPort{ID: 1, Onu: onu}
 	return NewService(0, "testService", mac, &uni, 900, 900,
-		needsEapol, needsDchp, false, 64, 0, false,
+		needsEapol, needsDchp, false, false, 64, 0, false, false,
 		7, 7, 7, 7)
 }
 
diff --git a/internal/bbsim/devices/services.go b/internal/bbsim/devices/services.go
index 3546e91..b5645b8 100644
--- a/internal/bbsim/devices/services.go
+++ b/internal/bbsim/devices/services.go
@@ -70,9 +70,11 @@
 	NeedsEapol          bool
 	NeedsDhcp           bool
 	NeedsIgmp           bool
+	NeedsPPPoE          bool
 	TechnologyProfileID int
 	UniTagMatch         int
 	ConfigureMacAddress bool
+	EnableMacLearning   bool
 	UsPonCTagPriority   uint8
 	UsPonSTagPriority   uint8
 	DsPonCTagPriority   uint8
@@ -90,8 +92,9 @@
 }
 
 func NewService(id uint32, name string, hwAddress net.HardwareAddr, uni *UniPort, cTag int, sTag int,
-	needsEapol bool, needsDchp bool, needsIgmp bool, tpID int, uniTagMatch int, configMacAddress bool,
-	usPonCTagPriority uint8, usPonSTagPriority uint8, dsPonCTagPriority uint8, dsPonSTagPriority uint8) (*Service, error) {
+	needsEapol bool, needsDchp bool, needsIgmp bool, needsPPPoE bool, tpID int, uniTagMatch int, configMacAddress bool,
+	enableMacLearning bool, usPonCTagPriority uint8, usPonSTagPriority uint8, dsPonCTagPriority uint8,
+	dsPonSTagPriority uint8) (*Service, error) {
 
 	service := Service{
 		Id:                  id,
@@ -103,9 +106,11 @@
 		NeedsEapol:          needsEapol,
 		NeedsDhcp:           needsDchp,
 		NeedsIgmp:           needsIgmp,
+		NeedsPPPoE:          needsPPPoE,
 		TechnologyProfileID: tpID,
 		UniTagMatch:         uniTagMatch,
 		ConfigureMacAddress: configMacAddress,
+		EnableMacLearning:   enableMacLearning,
 		UsPonCTagPriority:   usPonCTagPriority,
 		UsPonSTagPriority:   usPonSTagPriority,
 		DsPonCTagPriority:   dsPonCTagPriority,
diff --git a/internal/bbsim/devices/uni_port.go b/internal/bbsim/devices/uni_port.go
index c60ed7a..8934efb 100644
--- a/internal/bbsim/devices/uni_port.go
+++ b/internal/bbsim/devices/uni_port.go
@@ -173,8 +173,9 @@
 
 		mac := net.HardwareAddr{0x2e, byte(olt.ID), byte(onu.PonPortID), byte(onu.ID), byte(uni.ID), byte(k)}
 		service, err := NewService(uint32(k), s.Name, mac, &uni, nextCtag[s.Name], nextStag[s.Name],
-			s.NeedsEapol, s.NeedsDhcp, s.NeedsIgmp, s.TechnologyProfileID, s.UniTagMatch,
-			s.ConfigureMacAddress, s.UsPonCTagPriority, s.UsPonSTagPriority, s.DsPonCTagPriority, s.DsPonSTagPriority)
+			s.NeedsEapol, s.NeedsDhcp, s.NeedsIgmp, s.NeedsPPPoE, s.TechnologyProfileID, s.UniTagMatch,
+			s.ConfigureMacAddress, s.EnableMacLearning, s.UsPonCTagPriority, s.UsPonSTagPriority,
+			s.DsPonCTagPriority, s.DsPonSTagPriority)
 
 		if err != nil {
 			oltLogger.WithFields(log.Fields{
diff --git a/internal/bbsim/devices/uni_port_test.go b/internal/bbsim/devices/uni_port_test.go
index 4311e80..74c0866 100644
--- a/internal/bbsim/devices/uni_port_test.go
+++ b/internal/bbsim/devices/uni_port_test.go
@@ -116,6 +116,21 @@
 				expectedStags: map[string]int{hsia: 900, voip: 333, vod: 555},
 			},
 		},
+		{"newUniPort-tt-maclearning-pppoe",
+			args{
+				services: []common.ServiceYaml{
+					{Name: hsia, CTag: 900, CTagAllocation: common.TagAllocationUnique.String(), STag: 900, STagAllocation: common.TagAllocationShared.String(), UniTagMatch: 35, TechnologyProfileID: 64},
+					{Name: voip, CTag: 444, CTagAllocation: common.TagAllocationShared.String(), STag: 333, STagAllocation: common.TagAllocationShared.String(), UniTagMatch: 65, TechnologyProfileID: 65, EnableMacLearning: true, UsPonCTagPriority: 7, UsPonSTagPriority: 7, DsPonCTagPriority: 7, DsPonSTagPriority: 7},
+					{Name: vod, CTag: 55, CTagAllocation: common.TagAllocationShared.String(), STag: 555, STagAllocation: common.TagAllocationShared.String(), UniTagMatch: 55, TechnologyProfileID: 66, NeedsDhcp: true, NeedsIgmp: true, NeedsPPPoE: true, EnableMacLearning: true, UsPonCTagPriority: 5, UsPonSTagPriority: 5, DsPonCTagPriority: 5, DsPonSTagPriority: 5},
+				},
+				nextCtag: map[string]int{hsia: 920},
+				nextStag: map[string]int{hsia: 900},
+			},
+			wants{
+				expectedCtags: map[string]int{hsia: 921, voip: 444, vod: 55},
+				expectedStags: map[string]int{hsia: 900, voip: 333, vod: 555},
+			},
+		},
 	}
 
 	for _, tt := range tests {
@@ -144,9 +159,11 @@
 				assert.Equal(t, configuredService.NeedsEapol, service.NeedsEapol)
 				assert.Equal(t, configuredService.NeedsDhcp, service.NeedsDhcp)
 				assert.Equal(t, configuredService.NeedsIgmp, service.NeedsIgmp)
+				assert.Equal(t, configuredService.NeedsPPPoE, service.NeedsPPPoE)
 				assert.Equal(t, configuredService.UniTagMatch, service.UniTagMatch)
 				assert.Equal(t, configuredService.TechnologyProfileID, service.TechnologyProfileID)
 				assert.Equal(t, configuredService.ConfigureMacAddress, service.ConfigureMacAddress)
+				assert.Equal(t, configuredService.EnableMacLearning, service.EnableMacLearning)
 				assert.Equal(t, configuredService.UsPonCTagPriority, service.UsPonCTagPriority)
 				assert.Equal(t, configuredService.DsPonCTagPriority, service.DsPonCTagPriority)
 				assert.Equal(t, configuredService.UsPonSTagPriority, service.UsPonSTagPriority)
diff --git a/internal/bbsim/responders/sadis/sadis.go b/internal/bbsim/responders/sadis/sadis.go
index 784a3fa..ce73b1b 100644
--- a/internal/bbsim/responders/sadis/sadis.go
+++ b/internal/bbsim/responders/sadis/sadis.go
@@ -109,7 +109,9 @@
 	DownstreamBandwidthProfile string `json:"downstreamBandwidthProfile,omitempty"`
 	IsDhcpRequired             bool   `json:"isDhcpRequired,omitempty"`
 	IsIgmpRequired             bool   `json:"isIgmpRequired,omitempty"`
+	IsPPPoERequired            bool   `json:"isPppoeRequired,omitempty"`
 	ConfiguredMacAddress       string `json:"configuredMacAddress,omitempty"`
+	EnableMacLearning          bool   `json:"enableMacLearning,omitempty"`
 	UsPonCTagPriority          uint8  `json:"usPonCTagPriority,omitempty"`
 	UsPonSTagPriority          uint8  `json:"usPonSTagPriority,omitempty"`
 	DsPonCTagPriority          uint8  `json:"dsPonCTagPriority,omitempty"`
@@ -208,9 +210,11 @@
 			ServiceName:                service.Name,
 			IsIgmpRequired:             service.NeedsIgmp,
 			IsDhcpRequired:             service.NeedsDhcp,
+			IsPPPoERequired:            service.NeedsPPPoE,
 			TechnologyProfileID:        service.TechnologyProfileID,
 			UpstreamBandwidthProfile:   "User_Bandwidth1",
 			DownstreamBandwidthProfile: "User_Bandwidth2",
+			EnableMacLearning:          service.EnableMacLearning,
 			PonCTag:                    service.CTag,
 			PonSTag:                    service.STag,
 		}
diff --git a/internal/common/options.go b/internal/common/options.go
index 0919de8..000a8dc 100644
--- a/internal/common/options.go
+++ b/internal/common/options.go
@@ -135,11 +135,13 @@
 	NeedsEapol          bool   `yaml:"needs_eapol"`
 	NeedsDhcp           bool   `yaml:"needs_dhcp"`
 	NeedsIgmp           bool   `yaml:"needs_igmp"`
+	NeedsPPPoE          bool   `yaml:"needs_pppoe"`
 	CTagAllocation      string `yaml:"c_tag_allocation"`
 	STagAllocation      string `yaml:"s_tag_allocation"`
 	TechnologyProfileID int    `yaml:"tp_id"`
 	UniTagMatch         int    `yaml:"uni_tag_match"`
 	ConfigureMacAddress bool   `yaml:"configure_mac_address"`
+	EnableMacLearning   bool   `yaml:"enable_mac_learning"`
 	UsPonCTagPriority   uint8  `yaml:"us_pon_c_tag_priority"`
 	UsPonSTagPriority   uint8  `yaml:"us_pon_s_tag_priority"`
 	DsPonCTagPriority   uint8  `yaml:"ds_pon_c_tag_priority"`
