[VOL-5116] bbsim to report max and current speeds of its uniports

[VOL-5127] - verify_bbsim_sanity-test failure

Change-Id: I3174846e55657db6173428ed749367de8d124c7b
diff --git a/VERSION b/VERSION
index afe5df6..04cc999 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.15.5
\ No newline at end of file
+1.15.6
diff --git a/api/bbsim/bbsim.pb.gw.go b/api/bbsim/bbsim.pb.gw.go
index d59c949..6110eb0 100644
--- a/api/bbsim/bbsim.pb.gw.go
+++ b/api/bbsim/bbsim.pb.gw.go
@@ -863,10 +863,6 @@
 
 }
 
-var (
-	filter_BBSim_ChangeIgmpState_0 = &utilities.DoubleArray{Encoding: map[string]int{"OnuSerialNumber": 0, "SubActionVal": 1, "GroupAddress": 2}, Base: []int{1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 3, 4}}
-)
-
 func request_BBSim_ChangeIgmpState_0(ctx context.Context, marshaler runtime.Marshaler, client BBSimClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
 	var protoReq IgmpRequest
 	var metadata runtime.ServerMetadata
@@ -890,6 +886,17 @@
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuSerialNumber", err)
 	}
 
+	val, ok = pathParams["UniID"]
+	if !ok {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "UniID")
+	}
+
+	protoReq.UniID, err = runtime.Int32(val)
+
+	if err != nil {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "UniID", err)
+	}
+
 	val, ok = pathParams["SubActionVal"]
 	if !ok {
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "SubActionVal")
@@ -914,11 +921,15 @@
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "GroupAddress", err)
 	}
 
-	if err := req.ParseForm(); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+	val, ok = pathParams["VLAN"]
+	if !ok {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "VLAN")
 	}
-	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_BBSim_ChangeIgmpState_0); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+
+	protoReq.VLAN, err = runtime.Int32(val)
+
+	if err != nil {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "VLAN", err)
 	}
 
 	msg, err := client.ChangeIgmpState(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
@@ -949,6 +960,17 @@
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuSerialNumber", err)
 	}
 
+	val, ok = pathParams["UniID"]
+	if !ok {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "UniID")
+	}
+
+	protoReq.UniID, err = runtime.Int32(val)
+
+	if err != nil {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "UniID", err)
+	}
+
 	val, ok = pathParams["SubActionVal"]
 	if !ok {
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "SubActionVal")
@@ -973,8 +995,15 @@
 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "GroupAddress", err)
 	}
 
-	if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_BBSim_ChangeIgmpState_0); err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+	val, ok = pathParams["VLAN"]
+	if !ok {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "VLAN")
+	}
+
+	protoReq.VLAN, err = runtime.Int32(val)
+
+	if err != nil {
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "VLAN", err)
 	}
 
 	msg, err := server.ChangeIgmpState(ctx, &protoReq)
@@ -1922,7 +1951,7 @@
 
 	pattern_BBSim_GetFlows_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "olt", "flows"}, "", runtime.AssumeColonVerbOpt(true)))
 
-	pattern_BBSim_ChangeIgmpState_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"v1", "olt", "onus", "OnuSerialNumber", "igmp", "SubActionVal", "GroupAddress"}, "", runtime.AssumeColonVerbOpt(true)))
+	pattern_BBSim_ChangeIgmpState_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6, 1, 0, 4, 1, 5, 7, 1, 0, 4, 1, 5, 8}, []string{"v1", "olt", "onus", "OnuSerialNumber", "UniID", "igmp", "SubActionVal", "GroupAddress", "VLAN"}, "", runtime.AssumeColonVerbOpt(true)))
 
 	pattern_BBSim_GetOnuTrafficSchedulers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"v1", "olt", "onus", "SerialNumber", "trafficschedulers"}, "", runtime.AssumeColonVerbOpt(true)))
 )
diff --git a/internal/common/omci/get.go b/internal/common/omci/get.go
index 3c55605..3596bad 100644
--- a/internal/common/omci/get.go
+++ b/internal/common/omci/get.go
@@ -364,12 +364,12 @@
 		Attributes: me.AttributeValueMap{
 			me.ManagedEntityID: entityID,
 			me.PhysicalPathTerminationPointEthernetUni_ExpectedType:                  0,
-			me.PhysicalPathTerminationPointEthernetUni_SensedType:                    0,
+			me.PhysicalPathTerminationPointEthernetUni_SensedType:                    ethernetUnitType,
 			me.PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration:    0,
 			me.PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration: 0,
 			me.PhysicalPathTerminationPointEthernetUni_AdministrativeState:           onuAdminState,
 			me.PhysicalPathTerminationPointEthernetUni_OperationalState:              onuOperState,
-			me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:              0,
+			me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:              3,
 			me.PhysicalPathTerminationPointEthernetUni_MaxFrameSize:                  0,
 			me.PhysicalPathTerminationPointEthernetUni_DteOrDceInd:                   0,
 			me.PhysicalPathTerminationPointEthernetUni_PauseTime:                     0,