diff --git a/cmd/openonu-adapter/main.go b/cmd/openonu-adapter/main.go
index cd253b9..506321b 100644
--- a/cmd/openonu-adapter/main.go
+++ b/cmd/openonu-adapter/main.go
@@ -25,6 +25,7 @@
 	"os"
 	"os/signal"
 	"strconv"
+	"strings"
 	"syscall"
 	"time"
 
@@ -280,10 +281,12 @@
 
 func (a *adapter) registerWithCore(ctx context.Context, retries int) error {
 	adapterID := fmt.Sprintf("brcm_openomci_onu_%d", a.config.CurrentReplica)
+	vendorIdsList := strings.Split(a.config.OnuVendorIds, ",")
 	logger.Infow(ctx, "registering-with-core", log.Fields{
 		"adapterID":      adapterID,
 		"currentReplica": a.config.CurrentReplica,
 		"totalReplicas":  a.config.TotalReplicas,
+		"onuVendorIds":   vendorIdsList,
 	})
 	adapterDescription := &voltha.Adapter{
 		Id:             adapterID, // Unique name for the device type ->exact type required for OLT comm????
@@ -295,8 +298,7 @@
 		TotalReplicas:  int32(a.config.TotalReplicas),
 	}
 	types := []*voltha.DeviceType{{Id: "brcm_openomci_onu",
-		VendorIds: []string{"OPEN", "ALCL", "BRCM", "TWSH", "ALPH", "ISKT", "SFAA", "BBSM", "SCOM",
-			"ARPX", "DACM", "ERSN", "HWTC", "CIGG", "ADTN", "ARCA", "AVMG"},
+		VendorIds:                   vendorIdsList,
 		Adapter:                     "brcm_openomci_onu", // Name of the adapter that handles device type
 		AcceptsBulkFlowUpdate:       false,               // Currently openolt adapter does not support bulk flow handling
 		AcceptsAddRemoveFlowUpdates: true}}
@@ -423,7 +425,7 @@
 	if version.VersionInfo.Version == "unknown-version" {
 		content, err := ioutil.ReadFile("VERSION")
 		if err == nil {
-			return (string(content))
+			return string(content)
 		}
 		logger.Error(ctx, "'VERSION'-file not readable")
 	}
diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go
index 75ff11d..59b8da6 100644
--- a/internal/pkg/config/config.go
+++ b/internal/pkg/config/config.go
@@ -57,6 +57,7 @@
 	defaultCurrentReplica             = 1
 	defaultTotalReplicas              = 1
 	defaultMaxTimeoutInterAdapterComm = 30 * time.Second
+	defaultOnuVendorIds               = "OPEN,ALCL,BRCM,TWSH,ALPH,ISKT,SFAA,BBSM,SCOM,ARPX,DACM,ERSN,HWTC,CIGG,ADTN,ARCA,AVMG"
 
 	// For Tracing
 	defaultTraceEnabled          = false
@@ -97,6 +98,7 @@
 	TraceEnabled                bool
 	TraceAgentAddress           string
 	LogCorrelationEnabled       bool
+	OnuVendorIds                string
 }
 
 // NewAdapterFlags returns a new RWCore config
@@ -132,6 +134,7 @@
 		TraceEnabled:                defaultTraceEnabled,
 		TraceAgentAddress:           defaultTraceAgentAddress,
 		LogCorrelationEnabled:       defaultLogCorrelationEnabled,
+		OnuVendorIds:                defaultOnuVendorIds,
 	}
 	return &adapterFlags
 }
@@ -227,6 +230,9 @@
 	help = fmt.Sprintf("Whether to enrich log statements with fields denoting operation being executed for achieving correlation?")
 	flag.BoolVar(&(so.LogCorrelationEnabled), "log_correlation_enabled", defaultLogCorrelationEnabled, help)
 
+	help = fmt.Sprintf("List of Allowed ONU Vendor Ids")
+	flag.StringVar(&(so.OnuVendorIds), "allowed_onu_vendors", defaultOnuVendorIds, help)
+
 	flag.Parse()
 	containerName := getContainerInfo()
 	if len(containerName) > 0 {
