VOL-3881: Make OMCI timeout value configurable

Change-Id: I8286e80ff95f8dba5adc20af4b8a71566da671fb
diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go
index 8b657eb..9f210de 100644
--- a/internal/pkg/config/config.go
+++ b/internal/pkg/config/config.go
@@ -64,6 +64,8 @@
 
 	defaultMetricsEnabled   = false
 	defaultMibAuditInterval = 0
+
+	defaultOmciTimeout = 3 * time.Second
 )
 
 // AdapterFlags represents the set of configurations used by the read-write adaptercore service
@@ -100,6 +102,7 @@
 	OnuVendorIds                string
 	MetricsEnabled              bool
 	MibAuditInterval            time.Duration
+	OmciTimeout                 time.Duration
 }
 
 // NewAdapterFlags returns a new RWCore config
@@ -136,6 +139,7 @@
 		OnuVendorIds:                defaultOnuVendorIds,
 		MetricsEnabled:              defaultMetricsEnabled,
 		MibAuditInterval:            defaultMibAuditInterval,
+		OmciTimeout:                 defaultOmciTimeout,
 	}
 	return &adapterFlags
 }
@@ -235,6 +239,9 @@
 	help = fmt.Sprintf("Mib Audit Interval in seconds - the value zero will disable Mib Audit")
 	flag.DurationVar(&(so.MibAuditInterval), "mib_audit_interval", defaultMibAuditInterval, help)
 
+	help = fmt.Sprintf("OMCI timeout duration - this timeout value is used on the OMCI channel for waiting on response from ONU")
+	flag.DurationVar(&(so.OmciTimeout), "omci_timeout", defaultOmciTimeout, help)
+
 	flag.Parse()
 	containerName := getContainerInfo()
 	if len(containerName) > 0 {