diff --git a/VERSION b/VERSION
index f2380cc..0dec25d 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.15.3
+1.15.0-dev
\ No newline at end of file
diff --git a/api/bbsim/bbsim.pb.go b/api/bbsim/bbsim.pb.go
index 71d1ee3..b5da1ce 100644
--- a/api/bbsim/bbsim.pb.go
+++ b/api/bbsim/bbsim.pb.go
@@ -1709,9 +1709,11 @@
 }
 
 type IgmpRequest struct {
-	OnuReq               *ONURequest    `protobuf:"bytes,1,opt,name=OnuReq,proto3" json:"OnuReq,omitempty"`
-	SubActionVal         SubActionTypes `protobuf:"varint,2,opt,name=SubActionVal,proto3,enum=bbsim.SubActionTypes" json:"SubActionVal,omitempty"`
-	GroupAddress         string         `protobuf:"bytes,3,opt,name=GroupAddress,proto3" json:"GroupAddress,omitempty"`
+	OnuSerialNumber      string         `protobuf:"bytes,1,opt,name=OnuSerialNumber,proto3" json:"OnuSerialNumber,omitempty"`
+	UniID                int32          `protobuf:"varint,2,opt,name=UniID,proto3" json:"UniID,omitempty"`
+	SubActionVal         SubActionTypes `protobuf:"varint,3,opt,name=SubActionVal,proto3,enum=bbsim.SubActionTypes" json:"SubActionVal,omitempty"`
+	GroupAddress         string         `protobuf:"bytes,4,opt,name=GroupAddress,proto3" json:"GroupAddress,omitempty"`
+	VLAN                 int32          `protobuf:"varint,5,opt,name=VLAN,proto3" json:"VLAN,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
 	XXX_unrecognized     []byte         `json:"-"`
 	XXX_sizecache        int32          `json:"-"`
@@ -1742,11 +1744,18 @@
 
 var xxx_messageInfo_IgmpRequest proto.InternalMessageInfo
 
-func (m *IgmpRequest) GetOnuReq() *ONURequest {
+func (m *IgmpRequest) GetOnuSerialNumber() string {
 	if m != nil {
-		return m.OnuReq
+		return m.OnuSerialNumber
 	}
-	return nil
+	return ""
+}
+
+func (m *IgmpRequest) GetUniID() int32 {
+	if m != nil {
+		return m.UniID
+	}
+	return 0
 }
 
 func (m *IgmpRequest) GetSubActionVal() SubActionTypes {
@@ -1763,6 +1772,13 @@
 	return ""
 }
 
+func (m *IgmpRequest) GetVLAN() int32 {
+	if m != nil {
+		return m.VLAN
+	}
+	return 0
+}
+
 type Flows struct {
 	FlowCount            uint32          `protobuf:"varint,1,opt,name=flow_count,json=flowCount,proto3" json:"flow_count,omitempty"`
 	Flows                []*openolt.Flow `protobuf:"bytes,2,rep,name=flows,proto3" json:"flows,omitempty"`
@@ -1918,151 +1934,151 @@
 func init() { proto.RegisterFile("api/bbsim/bbsim.proto", fileDescriptor_ef7750073d18011b) }
 
 var fileDescriptor_ef7750073d18011b = []byte{
-	// 2290 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4f, 0x6f, 0xdb, 0xc8,
-	0x15, 0xb7, 0xfe, 0x59, 0xd2, 0x93, 0x25, 0xd1, 0x93, 0xd8, 0x4b, 0x38, 0xde, 0x8d, 0xc1, 0xcd,
-	0x2e, 0x9c, 0x60, 0xd7, 0xd9, 0x24, 0xdd, 0x6d, 0x72, 0x94, 0x25, 0x5a, 0xe1, 0x5a, 0x26, 0x89,
-	0xa1, 0xe4, 0x20, 0xed, 0x41, 0xa0, 0xc9, 0xb1, 0x4c, 0x94, 0x22, 0x15, 0x92, 0xb2, 0xeb, 0x0f,
-	0xd0, 0x63, 0xcf, 0x3d, 0x2e, 0xd0, 0x0f, 0xd0, 0xef, 0xd1, 0x5b, 0xef, 0x05, 0xfa, 0x55, 0x5a,
-	0xcc, 0x70, 0x48, 0x91, 0x92, 0xec, 0x38, 0xa7, 0x5e, 0x0c, 0xbe, 0xdf, 0xfb, 0x33, 0x6f, 0xde,
-	0x9f, 0x99, 0x37, 0x32, 0xec, 0x98, 0x33, 0xe7, 0xe5, 0xc5, 0x45, 0xe8, 0x4c, 0xe3, 0xbf, 0x47,
-	0xb3, 0xc0, 0x8f, 0x7c, 0x54, 0x61, 0xc4, 0xde, 0x93, 0x6b, 0xdf, 0x8d, 0xae, 0xcc, 0x31, 0x03,
-	0xc3, 0x97, 0xfe, 0x8c, 0x78, 0xbe, 0x1b, 0xc5, 0x32, 0x7b, 0x07, 0x79, 0x66, 0x44, 0xac, 0x2b,
-	0xfa, 0x7d, 0xe9, 0xb8, 0x24, 0x96, 0x90, 0xfe, 0x5b, 0x84, 0xaa, 0xae, 0xa9, 0xba, 0x1f, 0x44,
-	0xa8, 0x05, 0x45, 0xa5, 0x27, 0x16, 0x0e, 0x0a, 0x87, 0x15, 0x5c, 0x54, 0x7a, 0x68, 0x1f, 0xea,
-	0xda, 0x8c, 0x04, 0x46, 0x64, 0x46, 0x44, 0x2c, 0x1e, 0x14, 0x0e, 0xeb, 0x78, 0x01, 0xa0, 0x67,
-	0xd0, 0x54, 0xbc, 0x88, 0x04, 0x9e, 0xe9, 0xc6, 0x12, 0x25, 0x26, 0x91, 0x07, 0xd1, 0x01, 0x34,
-	0x74, 0xd3, 0xfa, 0x13, 0x89, 0xba, 0xfe, 0xdc, 0x8b, 0xc4, 0xf2, 0x41, 0xe1, 0xb0, 0x8c, 0xb3,
-	0x10, 0x3a, 0x81, 0x76, 0xc7, 0x75, 0x7d, 0xcb, 0x8c, 0x88, 0xad, 0x79, 0x73, 0xc5, 0x0e, 0xc5,
-	0xca, 0x41, 0xe9, 0xb0, 0xf1, 0x7a, 0xff, 0x28, 0xde, 0xae, 0xee, 0x7b, 0xa9, 0x00, 0x26, 0xa1,
-	0x3f, 0x0f, 0x2c, 0x12, 0xe2, 0x65, 0x25, 0xf4, 0x2b, 0x6c, 0xa7, 0x50, 0x9f, 0x4c, 0xe9, 0x8e,
-	0x42, 0x71, 0xf3, 0x01, 0x96, 0x56, 0xd5, 0x72, 0xb6, 0xd8, 0x07, 0xf5, 0xaa, 0xfa, 0x45, 0xb6,
-	0x12, 0x35, 0xf4, 0x0d, 0xc0, 0x90, 0x58, 0x57, 0x9e, 0xef, 0xfa, 0x93, 0x5b, 0xb1, 0xc6, 0x82,
-	0x94, 0x41, 0xa4, 0x53, 0xd8, 0x59, 0x6b, 0x0b, 0x49, 0xb0, 0x65, 0x90, 0xc0, 0x31, 0x5d, 0x75,
-	0x3e, 0xbd, 0x20, 0x01, 0x4b, 0x4c, 0x1d, 0xe7, 0x30, 0x96, 0x32, 0x9b, 0xe5, 0x86, 0xa6, 0xcc,
-	0x96, 0x7e, 0x0f, 0x55, 0x55, 0x55, 0xbe, 0x3c, 0x9b, 0xd2, 0x5f, 0x8b, 0x50, 0xd2, 0xdc, 0x55,
-	0xad, 0x65, 0x27, 0x8a, 0x6b, 0x9c, 0xc8, 0x59, 0x2e, 0x7d, 0xb6, 0x4e, 0xca, 0xeb, 0xea, 0x84,
-	0xae, 0xab, 0x8b, 0x55, 0xc6, 0x2a, 0x2a, 0x3a, 0x7a, 0x01, 0x35, 0xbe, 0x91, 0xa4, 0x1c, 0x5a,
-	0x3c, 0xf0, 0x1c, 0xc6, 0x29, 0x9f, 0xca, 0xf2, 0x12, 0x4e, 0x12, 0x9e, 0xc8, 0x72, 0x18, 0xa7,
-	0x7c, 0xf4, 0x3d, 0xb4, 0x54, 0xcf, 0xe9, 0x5d, 0x59, 0xb3, 0x61, 0x60, 0xce, 0xce, 0x1d, 0x9b,
-	0x65, 0xa4, 0x82, 0x97, 0x50, 0xe9, 0x2f, 0x05, 0x10, 0x35, 0x37, 0x5a, 0x49, 0xcb, 0xf0, 0x76,
-	0x46, 0xd0, 0x5b, 0x28, 0x47, 0xb7, 0x33, 0xc2, 0xc2, 0xd4, 0x7a, 0xfd, 0x8c, 0x2f, 0x76, 0x97,
-	0xf8, 0x11, 0xfd, 0x83, 0x99, 0x86, 0xf4, 0x12, 0xca, 0xcc, 0x42, 0x03, 0xaa, 0x23, 0xf5, 0x54,
-	0xd5, 0x3e, 0xa8, 0xc2, 0x06, 0xda, 0x82, 0x5a, 0x67, 0x30, 0xd0, 0xba, 0x63, 0xa5, 0x27, 0x14,
-	0x28, 0xd5, 0x97, 0xcf, 0xc6, 0xba, 0x86, 0x87, 0x42, 0x51, 0xfa, 0x47, 0x01, 0x1e, 0xaf, 0x33,
-	0x8c, 0x50, 0x6c, 0x89, 0x57, 0x45, 0x6c, 0x75, 0x1f, 0xea, 0xba, 0xef, 0xd1, 0x8d, 0xf2, 0xa2,
-	0x68, 0xe2, 0x05, 0x80, 0x1e, 0x43, 0x85, 0xb5, 0x0a, 0x4b, 0x51, 0x13, 0xc7, 0x04, 0xda, 0x85,
-	0x4d, 0xca, 0x57, 0x7d, 0x96, 0x97, 0x26, 0xe6, 0x14, 0x2d, 0xdb, 0x64, 0x2d, 0xc5, 0x16, 0x2b,
-	0x2c, 0x48, 0x19, 0x84, 0xea, 0x9d, 0xb8, 0xfe, 0x8d, 0x62, 0x8b, 0x9b, 0xac, 0xa7, 0x39, 0x25,
-	0x61, 0xd8, 0x59, 0xe7, 0x6f, 0x88, 0xde, 0x41, 0x3d, 0x48, 0x08, 0xb1, 0xc0, 0xd2, 0xf4, 0xe4,
-	0x9e, 0xc8, 0xe1, 0x85, 0xb4, 0xf4, 0x5b, 0x19, 0x4a, 0x9a, 0x3a, 0xfa, 0xbf, 0x15, 0x67, 0x26,
-	0xae, 0x3d, 0x1e, 0x8a, 0x05, 0x80, 0x0e, 0xa0, 0xfe, 0xfe, 0xa6, 0x63, 0xdb, 0x01, 0x09, 0xc3,
-	0xb8, 0xbf, 0x8f, 0x8b, 0x62, 0x01, 0x2f, 0x40, 0xb4, 0x97, 0xc6, 0xb8, 0x4e, 0x95, 0x19, 0x3b,
-	0x89, 0xf3, 0x11, 0xd4, 0x42, 0x12, 0x5c, 0x3b, 0x34, 0x2a, 0x90, 0x2b, 0x5e, 0x23, 0x86, 0x99,
-	0x74, 0x2a, 0x83, 0x7a, 0xf0, 0xb5, 0x32, 0x35, 0x27, 0xc4, 0xf0, 0x2f, 0xa3, 0x1b, 0x33, 0x20,
-	0xf2, 0x9f, 0x67, 0xc4, 0x8a, 0x88, 0x6d, 0x10, 0x2b, 0x72, 0x7c, 0x2f, 0x14, 0x1b, 0xcc, 0xbf,
-	0xfb, 0x85, 0x56, 0xac, 0x60, 0x62, 0x11, 0xe7, 0x3a, 0x63, 0x65, 0x6b, 0x8d, 0x95, 0x65, 0x21,
-	0xf4, 0x13, 0x3c, 0xea, 0x58, 0x91, 0x73, 0x4d, 0x98, 0x98, 0xec, 0x45, 0x4e, 0x74, 0xab, 0xd8,
-	0x62, 0x93, 0xe9, 0xae, 0x63, 0xa1, 0x5f, 0x60, 0xb7, 0xeb, 0x4f, 0xa7, 0x4e, 0x14, 0x11, 0x3b,
-	0xaf, 0xd4, 0x62, 0x4a, 0x77, 0x70, 0xd1, 0x37, 0x50, 0x9e, 0x7b, 0x4e, 0x28, 0xb6, 0x59, 0x84,
-	0x80, 0x47, 0x68, 0xa4, 0x2a, 0x98, 0xe1, 0xd2, 0xbf, 0x0b, 0x50, 0x1a, 0xa9, 0xca, 0x4a, 0x85,
-	0xf0, 0x9a, 0xef, 0xf1, 0x23, 0x32, 0x26, 0x38, 0x6a, 0x78, 0xbc, 0x1e, 0x62, 0x82, 0x76, 0xd4,
-	0x19, 0x51, 0x7a, 0xbc, 0x0f, 0xd8, 0x77, 0xbe, 0x7a, 0x2a, 0xcb, 0xd5, 0xb3, 0xe8, 0x9d, 0x4d,
-	0x66, 0x3e, 0xc9, 0xe9, 0x8b, 0x4c, 0x4e, 0xab, 0xeb, 0x72, 0x9a, 0xc9, 0xa7, 0xc4, 0xfb, 0xb8,
-	0xc6, 0xce, 0x92, 0x44, 0x6e, 0xe4, 0x39, 0xf1, 0xa9, 0x41, 0xff, 0x4a, 0xff, 0xac, 0x40, 0x95,
-	0x6b, 0x52, 0x2f, 0x55, 0x73, 0x9a, 0xf6, 0x3d, 0xfd, 0xa6, 0x5e, 0x2e, 0x2a, 0x90, 0x1f, 0xed,
-	0x8b, 0xea, 0xbb, 0x73, 0xb7, 0xc6, 0xd0, 0x9c, 0xb0, 0xdd, 0x56, 0x30, 0xfb, 0xa6, 0x58, 0x97,
-	0x62, 0x71, 0x89, 0xb3, 0x6f, 0x7a, 0x0e, 0xa8, 0x84, 0xd8, 0xa1, 0x6c, 0xce, 0x7c, 0x97, 0xed,
-	0xb3, 0x86, 0x33, 0x08, 0x5d, 0x9b, 0x51, 0xf4, 0xf0, 0x64, 0xe7, 0x77, 0x0d, 0x2f, 0x80, 0x94,
-	0xab, 0x4c, 0xa6, 0x33, 0xb6, 0xc5, 0x84, 0x4b, 0x01, 0x24, 0x42, 0x95, 0x5f, 0xb9, 0x71, 0x63,
-	0xe0, 0x84, 0xa4, 0xab, 0x32, 0xf3, 0x71, 0xe0, 0x21, 0xbe, 0x34, 0x17, 0x08, 0xb5, 0x4b, 0xed,
-	0xc7, 0xec, 0x46, 0xbc, 0xe3, 0x14, 0x58, 0xed, 0xea, 0xad, 0x3b, 0xba, 0x5a, 0xe9, 0x9f, 0xe9,
-	0xb1, 0x44, 0x33, 0xb6, 0x91, 0x02, 0x34, 0x6a, 0x23, 0xcf, 0xe1, 0x85, 0xd9, 0xc4, 0x31, 0x41,
-	0xc7, 0x19, 0x9a, 0x1a, 0x73, 0x72, 0x66, 0x46, 0xd6, 0x95, 0xd8, 0x66, 0x5e, 0x67, 0x21, 0x7a,
-	0xc1, 0x8c, 0x42, 0x1a, 0x39, 0x3d, 0x70, 0xfc, 0xc0, 0x89, 0x6e, 0x45, 0x81, 0x19, 0x58, 0x42,
-	0x63, 0x39, 0x23, 0x2b, 0xb7, 0x9d, 0xc8, 0x19, 0x4b, 0x72, 0xbd, 0xbc, 0x3d, 0x14, 0xcb, 0xf5,
-	0x56, 0xec, 0xf5, 0xf2, 0xf6, 0x1e, 0x25, 0x72, 0x39, 0x7b, 0x49, 0x3e, 0x75, 0x5d, 0xf7, 0x65,
-	0xf1, 0x71, 0x26, 0x9f, 0x0c, 0xa1, 0x3d, 0xdd, 0xf5, 0xbd, 0x4b, 0x67, 0x32, 0x0f, 0xc8, 0x99,
-	0x69, 0x25, 0x55, 0xb5, 0xc3, 0x04, 0xd7, 0xb1, 0xd0, 0x0f, 0xb0, 0x2d, 0x7b, 0xe6, 0x85, 0x4b,
-	0xb1, 0x01, 0x31, 0x03, 0xcf, 0xf1, 0x26, 0xe2, 0x2e, 0x93, 0x5f, 0x65, 0x48, 0x26, 0x3c, 0xd6,
-	0xd4, 0xd1, 0x30, 0x30, 0x2f, 0x2f, 0x1d, 0xcb, 0xb0, 0xae, 0x88, 0x3d, 0x77, 0x49, 0x10, 0x22,
-	0x05, 0xda, 0x11, 0x05, 0x17, 0x10, 0x2b, 0xf1, 0xc6, 0xeb, 0xa7, 0x47, 0xb9, 0xb1, 0x75, 0x45,
-	0x13, 0x2f, 0xeb, 0x49, 0x87, 0x50, 0xd6, 0xd4, 0x51, 0x88, 0x0e, 0xa0, 0xe2, 0x44, 0x64, 0x9a,
-	0xdc, 0x36, 0xc9, 0xa9, 0xa1, 0xa9, 0x23, 0x1c, 0x33, 0xa4, 0x9f, 0xa0, 0x66, 0x24, 0x8d, 0xf8,
-	0x2c, 0x2f, 0xbd, 0xdc, 0xb1, 0x5c, 0xe3, 0x10, 0xca, 0x23, 0x55, 0xb9, 0xd3, 0x36, 0x3d, 0x91,
-	0x52, 0xdb, 0x40, 0x57, 0x22, 0x9f, 0xe6, 0x24, 0x8c, 0x1e, 0x32, 0xcc, 0x49, 0x2f, 0x00, 0x74,
-	0x4d, 0x4d, 0x34, 0x72, 0x97, 0x79, 0x61, 0xe9, 0x32, 0x97, 0x06, 0x00, 0x74, 0x2d, 0x2e, 0x7b,
-	0x08, 0x6d, 0xda, 0xd5, 0xab, 0x0b, 0x2c, 0xc3, 0x49, 0x59, 0xf7, 0xf8, 0x31, 0x11, 0x13, 0xd2,
-	0x7f, 0x4a, 0x50, 0xef, 0xb8, 0x66, 0x30, 0x65, 0xc7, 0xcd, 0xbf, 0x4a, 0x50, 0xa1, 0x1f, 0x21,
-	0xaa, 0x42, 0x69, 0xa0, 0x19, 0xc2, 0x06, 0x6a, 0x01, 0xf4, 0x3e, 0x2a, 0x6a, 0x7f, 0xdc, 0xef,
-	0x18, 0xba, 0x50, 0x40, 0x4d, 0xa8, 0x6b, 0xea, 0x68, 0xdc, 0x19, 0x74, 0xf0, 0x99, 0x50, 0x44,
-	0x5f, 0xc1, 0x23, 0x4a, 0x1a, 0xc3, 0x0e, 0x1e, 0x8e, 0xf4, 0xf1, 0x49, 0x47, 0x19, 0x8c, 0xb0,
-	0x2c, 0x94, 0xd0, 0x2e, 0x20, 0xc6, 0x50, 0xfa, 0x6a, 0x67, 0x30, 0xee, 0xc9, 0x7d, 0xdc, 0xe9,
-	0xc9, 0x42, 0x39, 0x51, 0xe8, 0x61, 0xe5, 0x64, 0x38, 0xd6, 0x4e, 0xc6, 0x1f, 0x14, 0xb5, 0xa7,
-	0x7d, 0x10, 0x2a, 0x68, 0x1f, 0x44, 0xca, 0x18, 0x68, 0x86, 0x41, 0x71, 0xed, 0xac, 0xab, 0x8c,
-	0xbb, 0xef, 0x3b, 0xaa, 0x2a, 0x0f, 0x84, 0xcd, 0x74, 0x1d, 0x66, 0xce, 0x48, 0xd7, 0xa9, 0xa2,
-	0xe7, 0xf0, 0x1d, 0x65, 0x0c, 0x71, 0x47, 0x35, 0xce, 0x14, 0xc3, 0x50, 0x34, 0x75, 0xac, 0xa8,
-	0x43, 0x19, 0x9f, 0xc8, 0x58, 0x56, 0xbb, 0xf2, 0xf8, 0x43, 0x07, 0xab, 0x8a, 0xda, 0x17, 0x6a,
-	0x68, 0x0f, 0x76, 0x99, 0xeb, 0xdd, 0xa1, 0x72, 0xde, 0x19, 0x52, 0xc1, 0xc4, 0x4c, 0x1d, 0x89,
-	0xac, 0x38, 0xc7, 0x3a, 0xd6, 0xba, 0xb2, 0x61, 0xd0, 0xfd, 0xca, 0x18, 0x6b, 0x58, 0x00, 0x74,
-	0x00, 0xfb, 0x59, 0xbf, 0x4e, 0xe5, 0x8f, 0x63, 0xe3, 0xa3, 0xda, 0x4d, 0x75, 0x1b, 0x68, 0x07,
-	0xb6, 0xa9, 0x84, 0x32, 0x1c, 0x8d, 0x75, 0x4d, 0xa5, 0xb1, 0x18, 0x1a, 0xc2, 0x16, 0xda, 0x86,
-	0x66, 0x1a, 0x29, 0xaa, 0x2e, 0x34, 0x97, 0xa1, 0x63, 0xa1, 0x95, 0x6c, 0x2c, 0x81, 0xf4, 0xee,
-	0x98, 0xee, 0x42, 0x68, 0x27, 0xf1, 0xc8, 0x31, 0xba, 0xdc, 0x2b, 0x01, 0x21, 0x68, 0x65, 0xb9,
-	0x27, 0x8a, 0xb0, 0x8d, 0x1e, 0x41, 0x3b, 0x8b, 0x75, 0xce, 0x14, 0x01, 0x49, 0x6f, 0xa1, 0xc5,
-	0xf2, 0xab, 0x9b, 0x81, 0x39, 0x25, 0x11, 0x09, 0x90, 0x00, 0xa5, 0x53, 0x72, 0xcb, 0xcb, 0x84,
-	0x7e, 0xd2, 0xd2, 0x38, 0x37, 0xdd, 0x79, 0xf2, 0x38, 0x88, 0x09, 0xe9, 0xef, 0x05, 0x66, 0x8f,
-	0x69, 0x67, 0x4a, 0x33, 0xad, 0x16, 0x6e, 0x61, 0x01, 0x3c, 0x68, 0x2a, 0xdb, 0x85, 0x4d, 0x7a,
-	0xcc, 0xce, 0x43, 0x7e, 0x29, 0x71, 0x0a, 0xfd, 0x0c, 0x90, 0xba, 0x18, 0x8a, 0x65, 0xd6, 0x5b,
-	0x3b, 0xbc, 0xb7, 0xf2, 0x1b, 0xc0, 0x19, 0x41, 0xe9, 0x13, 0xb4, 0xb5, 0xc1, 0x30, 0xe7, 0xe3,
-	0x01, 0x34, 0xd8, 0x71, 0x7f, 0x69, 0x5a, 0x84, 0x8f, 0x04, 0x4d, 0x9c, 0x85, 0xd2, 0x5b, 0x82,
-	0x92, 0x6c, 0x27, 0xc5, 0xcc, 0x2d, 0x91, 0x80, 0x77, 0x79, 0x4a, 0x1f, 0x08, 0xcd, 0x73, 0x12,
-	0x84, 0x8e, 0xef, 0xf1, 0x3d, 0x89, 0x50, 0xbd, 0x8e, 0x01, 0x1e, 0x93, 0x84, 0xa4, 0xf1, 0xba,
-	0x98, 0x3b, 0xae, 0x3d, 0x74, 0xa6, 0xe9, 0xd3, 0x2b, 0x05, 0xe8, 0x89, 0x6c, 0xb1, 0xa9, 0xe7,
-	0xbd, 0x19, 0x5e, 0xf1, 0x55, 0x32, 0x08, 0xd5, 0x9e, 0x38, 0x11, 0x77, 0x22, 0x9e, 0x4f, 0x17,
-	0x80, 0xf4, 0x16, 0x6a, 0x03, 0x7f, 0x32, 0x20, 0xd7, 0xc4, 0xa5, 0x19, 0x74, 0xe9, 0x07, 0x5f,
-	0x3f, 0x26, 0xe8, 0x0e, 0x2c, 0xd3, 0x75, 0x79, 0x26, 0x6a, 0x98, 0x53, 0x92, 0x0c, 0x35, 0x4c,
-	0xc2, 0x99, 0xef, 0x85, 0x04, 0x3d, 0x85, 0x46, 0xc8, 0xec, 0x8d, 0x2d, 0xdf, 0x26, 0x7c, 0x80,
-	0x82, 0x18, 0xea, 0xfa, 0x36, 0xa1, 0x9b, 0x9b, 0x92, 0x30, 0x34, 0x27, 0xc9, 0x06, 0x12, 0x52,
-	0xfa, 0x5b, 0x01, 0x1a, 0xf4, 0x36, 0x4f, 0x02, 0xff, 0x1c, 0x36, 0x35, 0x6f, 0x8e, 0xc9, 0x27,
-	0x7e, 0x7e, 0x6f, 0x67, 0x8e, 0xdd, 0x58, 0x04, 0x73, 0x01, 0xf4, 0x0e, 0xb6, 0x8c, 0xf9, 0x45,
-	0x87, 0x4d, 0x93, 0xe7, 0xa6, 0xcb, 0x2c, 0xb7, 0xd2, 0x7c, 0xa7, 0x2c, 0x76, 0x16, 0xe1, 0x9c,
-	0x28, 0x2d, 0xb2, 0x7e, 0xe0, 0xcf, 0x67, 0xc9, 0xfd, 0x14, 0x87, 0x2d, 0x87, 0x49, 0xa7, 0x50,
-	0xa1, 0x8f, 0x92, 0x10, 0x7d, 0x0d, 0x70, 0xe9, 0xfa, 0x37, 0x63, 0x8b, 0xfd, 0x06, 0xc1, 0xcf,
-	0x52, 0x8a, 0xc4, 0xbf, 0x40, 0x7c, 0x0b, 0x15, 0x4a, 0xd0, 0xd1, 0x89, 0xd6, 0x5b, 0xf3, 0x28,
-	0xf9, 0x11, 0x85, 0x6a, 0xe3, 0x98, 0x27, 0x3d, 0x85, 0x2a, 0xcd, 0x96, 0x3f, 0x8f, 0x68, 0x98,
-	0x6d, 0xe2, 0x9a, 0xb7, 0xdc, 0x52, 0x4c, 0x48, 0x55, 0xa8, 0xc8, 0xd3, 0x59, 0x74, 0xfb, 0x62,
-	0x1f, 0xaa, 0x7c, 0x7c, 0xa3, 0xe7, 0xa7, 0x3c, 0x7c, 0x2f, 0x6c, 0xa0, 0x1a, 0x94, 0x75, 0x6d,
-	0x68, 0x08, 0x85, 0x17, 0xaf, 0xa0, 0x95, 0xdf, 0x18, 0xe5, 0xfd, 0xaa, 0x29, 0xf4, 0x21, 0x58,
-	0x87, 0xca, 0x40, 0xee, 0x9c, 0xcb, 0x42, 0x01, 0x01, 0x6c, 0x52, 0xf0, 0xfc, 0x8d, 0x50, 0x7c,
-	0xfd, 0xdb, 0x16, 0x54, 0x8e, 0x8f, 0x0d, 0x67, 0x8a, 0x5e, 0x42, 0x95, 0xd7, 0x1c, 0xda, 0xe2,
-	0x51, 0x62, 0x6b, 0xee, 0x3d, 0xe6, 0x54, 0xae, 0x22, 0xa5, 0x0d, 0xf4, 0x0a, 0x1a, 0x06, 0x89,
-	0xd2, 0x02, 0x69, 0x73, 0xb1, 0x04, 0xd8, 0x5b, 0x06, 0xa4, 0x0d, 0xf4, 0x0c, 0x36, 0xfb, 0x24,
-	0xd2, 0xdc, 0x68, 0x69, 0x09, 0x58, 0x3c, 0xd6, 0xa4, 0x0d, 0xf4, 0x47, 0x10, 0x63, 0xa9, 0x35,
-	0x2f, 0xbd, 0xa7, 0x9f, 0x79, 0x10, 0xef, 0xed, 0xdf, 0x23, 0x10, 0x4a, 0x1b, 0xe8, 0x47, 0x00,
-	0xdd, 0xbf, 0x21, 0x81, 0xef, 0xad, 0xba, 0x91, 0x78, 0x9c, 0x94, 0xae, 0xb4, 0x81, 0x8e, 0xa0,
-	0x61, 0x5c, 0xcd, 0x23, 0xdb, 0xbf, 0x79, 0x98, 0xfc, 0x0f, 0x50, 0xc7, 0xe4, 0xc2, 0xf7, 0xa3,
-	0x07, 0x49, 0xd3, 0x84, 0x45, 0xfe, 0x6c, 0x82, 0xf5, 0x2e, 0x9d, 0x05, 0x48, 0xf0, 0x79, 0x95,
-	0xd7, 0xd0, 0x36, 0x22, 0x33, 0x88, 0xbe, 0x44, 0xe7, 0x17, 0xd8, 0xc6, 0x24, 0x5c, 0xd2, 0x4a,
-	0x86, 0x10, 0x5e, 0x79, 0xeb, 0xf4, 0x9e, 0xc7, 0xe9, 0x52, 0x47, 0x68, 0xb5, 0xd1, 0xf6, 0x32,
-	0x23, 0x8f, 0xb4, 0x81, 0xbe, 0xa7, 0xe3, 0x76, 0xc4, 0x46, 0xa3, 0xbc, 0x3b, 0x8d, 0x85, 0x18,
-	0x0d, 0xff, 0x1b, 0x68, 0xf4, 0x49, 0x94, 0x0e, 0x46, 0xdb, 0x99, 0xd9, 0x86, 0xdb, 0x6d, 0xe7,
-	0x87, 0xa3, 0x90, 0x25, 0x01, 0xa8, 0x71, 0x6f, 0x3e, 0xf2, 0x9c, 0x70, 0x9d, 0x2f, 0x8d, 0x85,
-	0x19, 0xbe, 0x48, 0x9a, 0xb4, 0xf5, 0xce, 0xdf, 0x11, 0x58, 0xae, 0xd4, 0x71, 0xdd, 0x35, 0x3b,
-	0x59, 0xa3, 0xf3, 0x0e, 0xb6, 0x33, 0x0b, 0x85, 0x9a, 0xa7, 0x6b, 0x6a, 0xba, 0xdc, 0x62, 0xde,
-	0x5a, 0xbf, 0x5c, 0x5a, 0x87, 0x0f, 0x76, 0xf1, 0x15, 0xb4, 0xb8, 0xce, 0x83, 0x3d, 0x7c, 0x0b,
-	0xc2, 0x62, 0x99, 0x2f, 0x72, 0xf0, 0x77, 0xb0, 0xc5, 0x8b, 0x26, 0x7e, 0x8c, 0xdd, 0x93, 0xaa,
-	0x8c, 0xd6, 0x1b, 0x68, 0x70, 0x2d, 0xf6, 0x46, 0x7b, 0x98, 0xd2, 0x31, 0xec, 0x18, 0x2c, 0xbf,
-	0xec, 0x96, 0x55, 0x3c, 0xdb, 0xb1, 0x4c, 0x7a, 0x86, 0xa1, 0xdd, 0x45, 0x58, 0xb2, 0x17, 0xf0,
-	0x3d, 0x36, 0x68, 0xd7, 0xdf, 0x61, 0x23, 0x7f, 0x89, 0xaf, 0xb3, 0xf1, 0x23, 0xd4, 0xfa, 0x24,
-	0x8a, 0xcf, 0xf5, 0x35, 0x19, 0x49, 0x82, 0xcd, 0x04, 0x58, 0x6c, 0xdb, 0xdd, 0x2b, 0xd3, 0x9b,
-	0x10, 0x7a, 0x45, 0xc5, 0x2f, 0x3b, 0xc4, 0x45, 0x32, 0x97, 0xd6, 0xba, 0x85, 0x4e, 0xe1, 0xab,
-	0xb8, 0xa0, 0x57, 0xdf, 0x2a, 0x6b, 0xd6, 0x7d, 0xb2, 0x80, 0x56, 0xe4, 0xd3, 0xd6, 0x63, 0xad,
-	0xb1, 0xbe, 0xf5, 0x78, 0x57, 0xfc, 0x4c, 0x67, 0x92, 0x6b, 0xd3, 0x75, 0x6c, 0x33, 0x22, 0x67,
-	0x76, 0xf8, 0xb0, 0xa2, 0x3b, 0xfe, 0xee, 0x0f, 0xdf, 0x4e, 0x9c, 0xe8, 0x6a, 0x7e, 0x71, 0x64,
-	0xf9, 0x53, 0xf6, 0x3f, 0x00, 0xcb, 0x0f, 0x6c, 0xfe, 0x4f, 0x83, 0xf4, 0xdf, 0x07, 0x17, 0x9b,
-	0xec, 0x37, 0xff, 0x37, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x75, 0xfb, 0x84, 0x52, 0x18,
-	0x00, 0x00,
+	// 2295 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x72, 0xdb, 0xc6,
+	0xf5, 0x17, 0x29, 0x52, 0x24, 0x0f, 0x45, 0x12, 0x5a, 0x5b, 0x0a, 0x46, 0x56, 0x62, 0x0d, 0xe2,
+	0x64, 0x14, 0x4f, 0x22, 0xc7, 0xf6, 0x3f, 0xf9, 0xdb, 0x97, 0x14, 0x49, 0xd1, 0x88, 0x28, 0x00,
+	0xb3, 0x20, 0xe5, 0x71, 0x7b, 0xc1, 0x81, 0xc8, 0x15, 0x85, 0x29, 0x08, 0x30, 0x00, 0x28, 0x55,
+	0x0f, 0xd0, 0xcb, 0x3e, 0x43, 0x66, 0xfa, 0x00, 0x7d, 0x86, 0xde, 0xf6, 0xae, 0xf7, 0x9d, 0xe9,
+	0xab, 0xb4, 0x73, 0x16, 0x0b, 0x10, 0x20, 0x29, 0x5b, 0x9e, 0x5e, 0xf4, 0x46, 0x83, 0xf3, 0x3b,
+	0x1f, 0x7b, 0xf6, 0x7c, 0xec, 0x9e, 0x15, 0x61, 0xd7, 0x9a, 0xd9, 0x2f, 0x2e, 0x2f, 0x03, 0x7b,
+	0x1a, 0xfd, 0x3d, 0x9e, 0xf9, 0x5e, 0xe8, 0x91, 0x22, 0x27, 0xf6, 0x9f, 0xdc, 0x78, 0x4e, 0x78,
+	0x6d, 0x0d, 0x39, 0x18, 0xbc, 0xf0, 0x66, 0xcc, 0xf5, 0x9c, 0x30, 0x92, 0xd9, 0x3f, 0xcc, 0x32,
+	0x43, 0x36, 0xba, 0xc6, 0xef, 0x2b, 0xdb, 0x61, 0x91, 0x84, 0xf2, 0xef, 0x3c, 0x94, 0x0c, 0x5d,
+	0x33, 0x3c, 0x3f, 0x24, 0x75, 0xc8, 0xab, 0x6d, 0x39, 0x77, 0x98, 0x3b, 0x2a, 0xd2, 0xbc, 0xda,
+	0x26, 0x07, 0x50, 0xd1, 0x67, 0xcc, 0x37, 0x43, 0x2b, 0x64, 0x72, 0xfe, 0x30, 0x77, 0x54, 0xa1,
+	0x0b, 0x80, 0x3c, 0x83, 0x9a, 0xea, 0x86, 0xcc, 0x77, 0x2d, 0x27, 0x92, 0xd8, 0xe4, 0x12, 0x59,
+	0x90, 0x1c, 0x42, 0xd5, 0xb0, 0x46, 0x7f, 0x60, 0x61, 0xcb, 0x9b, 0xbb, 0xa1, 0x5c, 0x38, 0xcc,
+	0x1d, 0x15, 0x68, 0x1a, 0x22, 0xa7, 0xd0, 0x68, 0x3a, 0x8e, 0x37, 0xb2, 0x42, 0x36, 0xd6, 0xdd,
+	0xb9, 0x3a, 0x0e, 0xe4, 0xe2, 0xe1, 0xe6, 0x51, 0xf5, 0xd5, 0xc1, 0x71, 0xb4, 0x5d, 0xc3, 0x73,
+	0x13, 0x01, 0xca, 0x02, 0x6f, 0xee, 0x8f, 0x58, 0x40, 0x97, 0x95, 0xc8, 0x2f, 0xb0, 0x93, 0x40,
+	0x5d, 0x36, 0xc5, 0x1d, 0x05, 0xf2, 0xd6, 0x03, 0x2c, 0xad, 0xaa, 0x65, 0x6c, 0xf1, 0x0f, 0xf4,
+	0xaa, 0xf4, 0x59, 0xb6, 0x62, 0x35, 0xf2, 0x15, 0x40, 0x9f, 0x8d, 0xae, 0x5d, 0xcf, 0xf1, 0x26,
+	0x77, 0x72, 0x99, 0x07, 0x29, 0x85, 0x28, 0x67, 0xb0, 0xbb, 0xd6, 0x16, 0x51, 0x60, 0xdb, 0x64,
+	0xbe, 0x6d, 0x39, 0xda, 0x7c, 0x7a, 0xc9, 0x7c, 0x9e, 0x98, 0x0a, 0xcd, 0x60, 0x3c, 0x65, 0x63,
+	0x9e, 0x1b, 0x4c, 0xd9, 0x58, 0xf9, 0x7f, 0x28, 0x69, 0x9a, 0xfa, 0xf9, 0xd9, 0x54, 0xfe, 0x9c,
+	0x87, 0x4d, 0xdd, 0x59, 0xd5, 0x5a, 0x76, 0x22, 0xbf, 0xc6, 0x89, 0x8c, 0xe5, 0xcd, 0x4f, 0xd6,
+	0x49, 0x61, 0x5d, 0x9d, 0xe0, 0xba, 0x86, 0x5c, 0xe2, 0xac, 0xbc, 0x6a, 0x90, 0xe7, 0x50, 0x16,
+	0x1b, 0x89, 0xcb, 0xa1, 0x2e, 0x02, 0x2f, 0x60, 0x9a, 0xf0, 0x51, 0x56, 0x94, 0x70, 0x9c, 0xf0,
+	0x58, 0x56, 0xc0, 0x34, 0xe1, 0x93, 0x6f, 0xa1, 0xae, 0xb9, 0x76, 0xfb, 0x7a, 0x34, 0xeb, 0xfb,
+	0xd6, 0xec, 0xc2, 0x1e, 0xf3, 0x8c, 0x14, 0xe9, 0x12, 0xaa, 0xfc, 0x29, 0x07, 0xb2, 0xee, 0x84,
+	0x2b, 0x69, 0xe9, 0xdf, 0xcd, 0x18, 0x79, 0x03, 0x85, 0xf0, 0x6e, 0xc6, 0x78, 0x98, 0xea, 0xaf,
+	0x9e, 0x89, 0xc5, 0xee, 0x13, 0x3f, 0xc6, 0x3f, 0x94, 0x6b, 0x28, 0x2f, 0xa0, 0xc0, 0x2d, 0x54,
+	0xa1, 0x34, 0xd0, 0xce, 0x34, 0xfd, 0xbd, 0x26, 0x6d, 0x90, 0x6d, 0x28, 0x37, 0x7b, 0x3d, 0xbd,
+	0x35, 0x54, 0xdb, 0x52, 0x0e, 0xa9, 0x6e, 0xe7, 0x7c, 0x68, 0xe8, 0xb4, 0x2f, 0xe5, 0x95, 0xbf,
+	0xe6, 0xe0, 0xf1, 0x3a, 0xc3, 0x84, 0x44, 0x96, 0x44, 0x55, 0x44, 0x56, 0x0f, 0xa0, 0x62, 0x78,
+	0x2e, 0x6e, 0x54, 0x14, 0x45, 0x8d, 0x2e, 0x00, 0xf2, 0x18, 0x8a, 0xbc, 0x55, 0x78, 0x8a, 0x6a,
+	0x34, 0x22, 0xc8, 0x1e, 0x6c, 0x21, 0x5f, 0xf3, 0x78, 0x5e, 0x6a, 0x54, 0x50, 0x58, 0xb6, 0xf1,
+	0x5a, 0xea, 0x58, 0x2e, 0xf2, 0x20, 0xa5, 0x10, 0xd4, 0x3b, 0x75, 0xbc, 0x5b, 0x75, 0x2c, 0x6f,
+	0xf1, 0x9e, 0x16, 0x94, 0x42, 0x61, 0x77, 0x9d, 0xbf, 0x01, 0x79, 0x0b, 0x15, 0x3f, 0x26, 0xe4,
+	0x1c, 0x4f, 0xd3, 0x93, 0x8f, 0x44, 0x8e, 0x2e, 0xa4, 0x95, 0xdf, 0x0a, 0xb0, 0xa9, 0x6b, 0x83,
+	0xff, 0x59, 0x71, 0xa6, 0xe2, 0xda, 0x16, 0xa1, 0x58, 0x00, 0xe4, 0x10, 0x2a, 0xef, 0x6e, 0x9b,
+	0xe3, 0xb1, 0xcf, 0x82, 0x20, 0xea, 0xef, 0x93, 0xbc, 0x9c, 0xa3, 0x0b, 0x90, 0xec, 0x27, 0x31,
+	0xae, 0xa0, 0x32, 0x67, 0xc7, 0x71, 0x3e, 0x86, 0x72, 0xc0, 0xfc, 0x1b, 0x1b, 0xa3, 0x02, 0x99,
+	0xe2, 0x35, 0x23, 0x98, 0x4b, 0x27, 0x32, 0xa4, 0x0d, 0x5f, 0xaa, 0x53, 0x6b, 0xc2, 0x4c, 0xef,
+	0x2a, 0xbc, 0xb5, 0x7c, 0xd6, 0xf9, 0xe3, 0x8c, 0x8d, 0x42, 0x36, 0x36, 0xd9, 0x28, 0xb4, 0x3d,
+	0x37, 0x90, 0xab, 0xdc, 0xbf, 0x8f, 0x0b, 0xad, 0x58, 0xa1, 0x6c, 0xc4, 0xec, 0x9b, 0x94, 0x95,
+	0xed, 0x35, 0x56, 0x96, 0x85, 0xc8, 0x8f, 0xf0, 0xa8, 0x39, 0x0a, 0xed, 0x1b, 0xc6, 0xc5, 0x3a,
+	0x6e, 0x68, 0x87, 0x77, 0xea, 0x58, 0xae, 0x71, 0xdd, 0x75, 0x2c, 0xf2, 0x33, 0xec, 0xb5, 0xbc,
+	0xe9, 0xd4, 0x0e, 0x43, 0x36, 0xce, 0x2a, 0xd5, 0xb9, 0xd2, 0x3d, 0x5c, 0xf2, 0x15, 0x14, 0xe6,
+	0xae, 0x1d, 0xc8, 0x0d, 0x1e, 0x21, 0x10, 0x11, 0x1a, 0x68, 0x2a, 0xe5, 0xb8, 0xf2, 0xcf, 0x1c,
+	0x6c, 0x0e, 0x34, 0x75, 0xa5, 0x42, 0x44, 0xcd, 0xb7, 0xc5, 0x11, 0x19, 0x11, 0x02, 0x35, 0x5d,
+	0x51, 0x0f, 0x11, 0x81, 0x1d, 0x75, 0xce, 0xd4, 0xb6, 0xe8, 0x03, 0xfe, 0x9d, 0xad, 0x9e, 0xe2,
+	0x72, 0xf5, 0x2c, 0x7a, 0x67, 0x8b, 0x9b, 0x8f, 0x73, 0xfa, 0x3c, 0x95, 0xd3, 0xd2, 0xba, 0x9c,
+	0xa6, 0xf2, 0xa9, 0x88, 0x3e, 0x2e, 0xf3, 0xb3, 0x24, 0x96, 0x1b, 0xb8, 0x76, 0x74, 0x6a, 0xe0,
+	0x5f, 0xe5, 0xef, 0x45, 0x28, 0x09, 0x4d, 0xf4, 0x52, 0xb3, 0xa6, 0x49, 0xdf, 0xe3, 0x37, 0x7a,
+	0xb9, 0xa8, 0x40, 0x71, 0xb4, 0x2f, 0xaa, 0xef, 0xde, 0xdd, 0x9a, 0x7d, 0x6b, 0xc2, 0x77, 0x5b,
+	0xa4, 0xfc, 0x1b, 0xb1, 0x16, 0x62, 0x51, 0x89, 0xf3, 0x6f, 0x3c, 0x07, 0x34, 0xc6, 0xc6, 0x41,
+	0xc7, 0x9a, 0x79, 0x0e, 0xdf, 0x67, 0x99, 0xa6, 0x10, 0x5c, 0x9b, 0x53, 0x78, 0x78, 0xf2, 0xf3,
+	0xbb, 0x4c, 0x17, 0x40, 0xc2, 0x55, 0x27, 0xd3, 0x19, 0xdf, 0x62, 0xcc, 0x45, 0x80, 0xc8, 0x50,
+	0x12, 0x57, 0x6e, 0xd4, 0x18, 0x34, 0x26, 0x71, 0x55, 0x6e, 0x3e, 0x0a, 0x3c, 0x44, 0x97, 0xe6,
+	0x02, 0x41, 0xbb, 0x68, 0x3f, 0x62, 0x57, 0xa3, 0x1d, 0x27, 0xc0, 0x6a, 0x57, 0x6f, 0xdf, 0xd3,
+	0xd5, 0x6a, 0xf7, 0xdc, 0x88, 0x24, 0x6a, 0x91, 0x8d, 0x04, 0xc0, 0xa8, 0x0d, 0x5c, 0x5b, 0x14,
+	0x66, 0x8d, 0x46, 0x04, 0x8e, 0x33, 0x98, 0x1a, 0x6b, 0x72, 0x6e, 0x85, 0xa3, 0x6b, 0xb9, 0xc1,
+	0xbd, 0x4e, 0x43, 0x78, 0xc1, 0x0c, 0x02, 0x8c, 0x9c, 0xe1, 0xdb, 0x9e, 0x6f, 0x87, 0x77, 0xb2,
+	0xc4, 0x0d, 0x2c, 0xa1, 0x91, 0x9c, 0x99, 0x96, 0xdb, 0x89, 0xe5, 0xcc, 0x25, 0xb9, 0x76, 0xd6,
+	0x1e, 0x89, 0xe4, 0xda, 0x2b, 0xf6, 0xda, 0x59, 0x7b, 0x8f, 0x62, 0xb9, 0x8c, 0xbd, 0x38, 0x9f,
+	0x86, 0x61, 0x78, 0x1d, 0xf9, 0x71, 0x2a, 0x9f, 0x1c, 0xc1, 0x9e, 0x6e, 0x79, 0xee, 0x95, 0x3d,
+	0x99, 0xfb, 0xec, 0xdc, 0x1a, 0xc5, 0x55, 0xb5, 0xcb, 0x05, 0xd7, 0xb1, 0xc8, 0xf7, 0xb0, 0xd3,
+	0x71, 0xad, 0x4b, 0x07, 0xb1, 0x1e, 0xb3, 0x7c, 0xd7, 0x76, 0x27, 0xf2, 0x1e, 0x97, 0x5f, 0x65,
+	0x28, 0x16, 0x3c, 0xd6, 0xb5, 0x41, 0xdf, 0xb7, 0xae, 0xae, 0xec, 0x91, 0x39, 0xba, 0x66, 0xe3,
+	0xb9, 0xc3, 0xfc, 0x80, 0xa8, 0xd0, 0x08, 0x11, 0x5c, 0x40, 0xbc, 0xc4, 0xab, 0xaf, 0x9e, 0x1e,
+	0x67, 0xc6, 0xd6, 0x15, 0x4d, 0xba, 0xac, 0xa7, 0x1c, 0x41, 0x41, 0xd7, 0x06, 0x01, 0x39, 0x84,
+	0xa2, 0x1d, 0xb2, 0x69, 0x7c, 0xdb, 0xc4, 0xa7, 0x86, 0xae, 0x0d, 0x68, 0xc4, 0x50, 0x7e, 0x84,
+	0xb2, 0x19, 0x37, 0xe2, 0xb3, 0xac, 0xf4, 0x72, 0xc7, 0x0a, 0x8d, 0x23, 0x28, 0x0c, 0x34, 0xf5,
+	0x5e, 0xdb, 0x78, 0x22, 0x25, 0xb6, 0x01, 0x57, 0x62, 0xbf, 0xce, 0x59, 0x10, 0x3e, 0x64, 0x98,
+	0x53, 0x9e, 0x03, 0x18, 0xba, 0x16, 0x6b, 0x64, 0x2e, 0xf3, 0xdc, 0xd2, 0x65, 0xae, 0xf4, 0x00,
+	0x70, 0x2d, 0x21, 0x7b, 0x04, 0x0d, 0xec, 0xea, 0xd5, 0x05, 0x96, 0xe1, 0xb8, 0xac, 0xdb, 0xe2,
+	0x98, 0x88, 0x08, 0xe5, 0x5f, 0x9b, 0x50, 0x69, 0x3a, 0x96, 0x3f, 0xe5, 0xc7, 0xcd, 0x3f, 0x36,
+	0xa1, 0x88, 0x1f, 0x01, 0x29, 0xc1, 0x66, 0x4f, 0x37, 0xa5, 0x0d, 0x52, 0x07, 0x68, 0x7f, 0x50,
+	0xb5, 0xee, 0xb0, 0xdb, 0x34, 0x0d, 0x29, 0x47, 0x6a, 0x50, 0xd1, 0xb5, 0xc1, 0xb0, 0xd9, 0x6b,
+	0xd2, 0x73, 0x29, 0x4f, 0xbe, 0x80, 0x47, 0x48, 0x9a, 0xfd, 0x26, 0xed, 0x0f, 0x8c, 0xe1, 0x69,
+	0x53, 0xed, 0x0d, 0x68, 0x47, 0xda, 0x24, 0x7b, 0x40, 0x38, 0x43, 0xed, 0x6a, 0xcd, 0xde, 0xb0,
+	0xdd, 0xe9, 0xd2, 0x66, 0xbb, 0x23, 0x15, 0x62, 0x85, 0x36, 0x55, 0x4f, 0xfb, 0x43, 0xfd, 0x74,
+	0xf8, 0x5e, 0xd5, 0xda, 0xfa, 0x7b, 0xa9, 0x48, 0x0e, 0x40, 0x46, 0x46, 0x4f, 0x37, 0x4d, 0xc4,
+	0xf5, 0xf3, 0x96, 0x3a, 0x6c, 0xbd, 0x6b, 0x6a, 0x5a, 0xa7, 0x27, 0x6d, 0x25, 0xeb, 0x70, 0x73,
+	0x66, 0xb2, 0x4e, 0x89, 0x7c, 0x07, 0xdf, 0x20, 0xa3, 0x4f, 0x9b, 0x9a, 0x79, 0xae, 0x9a, 0xa6,
+	0xaa, 0x6b, 0x43, 0x55, 0xeb, 0x77, 0xe8, 0x69, 0x87, 0x76, 0xb4, 0x56, 0x67, 0xf8, 0xbe, 0x49,
+	0x35, 0x55, 0xeb, 0x4a, 0x65, 0xb2, 0x0f, 0x7b, 0xdc, 0xf5, 0x56, 0x5f, 0xbd, 0x68, 0xf6, 0x51,
+	0x30, 0x36, 0x53, 0x21, 0x32, 0x2f, 0xce, 0xa1, 0x41, 0xf5, 0x56, 0xc7, 0x34, 0x71, 0xbf, 0x1d,
+	0x4a, 0x75, 0x2a, 0x01, 0x39, 0x84, 0x83, 0xb4, 0x5f, 0x67, 0x9d, 0x0f, 0x43, 0xf3, 0x83, 0xd6,
+	0x4a, 0x74, 0xab, 0x64, 0x17, 0x76, 0x50, 0x42, 0xed, 0x0f, 0x86, 0x86, 0xae, 0x61, 0x2c, 0xfa,
+	0xa6, 0xb4, 0x4d, 0x76, 0xa0, 0x96, 0x44, 0x0a, 0xd5, 0xa5, 0xda, 0x32, 0x74, 0x22, 0xd5, 0xe3,
+	0x8d, 0xc5, 0x90, 0xd1, 0x1a, 0xe2, 0x2e, 0xa4, 0x46, 0x1c, 0x8f, 0x0c, 0xa3, 0x25, 0xbc, 0x92,
+	0x08, 0x81, 0x7a, 0x9a, 0x7b, 0xaa, 0x4a, 0x3b, 0xe4, 0x11, 0x34, 0xd2, 0x58, 0xf3, 0x5c, 0x95,
+	0x88, 0xf2, 0x06, 0xea, 0x3c, 0xbf, 0x86, 0xe5, 0x5b, 0x53, 0x16, 0x32, 0x9f, 0x48, 0xb0, 0x79,
+	0xc6, 0xee, 0x44, 0x99, 0xe0, 0x27, 0x96, 0xc6, 0x85, 0xe5, 0xcc, 0xe3, 0xc7, 0x41, 0x44, 0x28,
+	0x7f, 0xc9, 0x71, 0x7b, 0x5c, 0x3b, 0x55, 0x9a, 0x49, 0xb5, 0x08, 0x0b, 0x0b, 0xe0, 0x41, 0x53,
+	0xd9, 0x1e, 0x6c, 0xe1, 0x31, 0x3b, 0x0f, 0xc4, 0xa5, 0x24, 0x28, 0xf2, 0x13, 0x40, 0xe2, 0x62,
+	0x20, 0x17, 0x78, 0x6f, 0xed, 0x8a, 0xde, 0xca, 0x6e, 0x80, 0xa6, 0x04, 0x95, 0x5f, 0xa1, 0xa1,
+	0xf7, 0xfa, 0x19, 0x1f, 0x0f, 0xa1, 0xca, 0x8f, 0xfb, 0x2b, 0x6b, 0xc4, 0xc4, 0x48, 0x50, 0xa3,
+	0x69, 0x28, 0xb9, 0x25, 0x90, 0xe4, 0x3b, 0xc9, 0xa7, 0x6e, 0x89, 0x18, 0xbc, 0xcf, 0x53, 0x7c,
+	0x20, 0xd4, 0x2e, 0x98, 0x1f, 0xd8, 0x9e, 0x2b, 0xf6, 0x24, 0x43, 0xe9, 0x26, 0x02, 0x44, 0x4c,
+	0x62, 0x12, 0xe3, 0x75, 0x39, 0xb7, 0x9d, 0x71, 0xdf, 0x9e, 0x26, 0x4f, 0xaf, 0x04, 0xc0, 0x13,
+	0x79, 0xc4, 0xa7, 0x9e, 0x77, 0x56, 0x70, 0x2d, 0x56, 0x49, 0x21, 0xa8, 0x3d, 0xb1, 0x43, 0xe1,
+	0x44, 0x34, 0x9f, 0x2e, 0x00, 0xe5, 0x0d, 0x94, 0x7b, 0xde, 0xa4, 0xc7, 0x6e, 0x98, 0x83, 0x19,
+	0x74, 0xf0, 0x43, 0xac, 0x1f, 0x11, 0xb8, 0x83, 0x91, 0xe5, 0x38, 0x22, 0x13, 0x65, 0x2a, 0x28,
+	0xa5, 0x03, 0x65, 0xca, 0x82, 0x99, 0xe7, 0x06, 0x8c, 0x3c, 0x85, 0x6a, 0xc0, 0xed, 0x0d, 0x47,
+	0xde, 0x98, 0x89, 0x01, 0x0a, 0x22, 0xa8, 0xe5, 0x8d, 0x19, 0x6e, 0x6e, 0xca, 0x82, 0xc0, 0x9a,
+	0xc4, 0x1b, 0x88, 0x49, 0xe5, 0x6f, 0x39, 0xa8, 0xe2, 0x6d, 0xfe, 0x5f, 0x9e, 0x45, 0x45, 0x71,
+	0x16, 0x91, 0xb7, 0xb0, 0x6d, 0xce, 0x2f, 0x9b, 0x7c, 0xc4, 0xbc, 0xb0, 0x1c, 0x1e, 0x90, 0x7a,
+	0x52, 0x04, 0x09, 0x8b, 0x1f, 0x50, 0x34, 0x23, 0x8a, 0x95, 0xd7, 0xf5, 0xbd, 0xf9, 0x2c, 0xbe,
+	0xb4, 0xa2, 0x60, 0x65, 0x30, 0x9c, 0x71, 0x2e, 0x7a, 0x4d, 0x2d, 0x9e, 0x71, 0xf0, 0x5b, 0x39,
+	0x83, 0x22, 0xbe, 0x5e, 0x02, 0xf2, 0x25, 0xc0, 0x95, 0xe3, 0xdd, 0x0e, 0x47, 0xfc, 0x9f, 0x15,
+	0xe2, 0xd0, 0x45, 0x24, 0xfa, 0x57, 0xc5, 0xd7, 0x50, 0x44, 0x02, 0x67, 0x2c, 0x2c, 0xcc, 0xda,
+	0x71, 0xfc, 0xdf, 0x16, 0xd4, 0xa6, 0x11, 0x4f, 0x79, 0x0a, 0x25, 0x4c, 0xab, 0x37, 0x0f, 0x71,
+	0x83, 0x63, 0xe6, 0x58, 0x77, 0xc2, 0x52, 0x44, 0x28, 0x25, 0x28, 0x76, 0xa6, 0xb3, 0xf0, 0xee,
+	0xf9, 0x01, 0x94, 0xc4, 0x9c, 0x87, 0x07, 0x6d, 0xa7, 0xff, 0x4e, 0xda, 0x20, 0x65, 0x28, 0x18,
+	0x7a, 0xdf, 0x94, 0x72, 0xcf, 0x5f, 0x42, 0x3d, 0xbb, 0x59, 0xe4, 0xfd, 0xa2, 0xab, 0xf8, 0x62,
+	0xac, 0x40, 0xb1, 0xd7, 0x69, 0x5e, 0x74, 0xa4, 0x1c, 0x01, 0xd8, 0x42, 0xf0, 0xe2, 0xb5, 0x94,
+	0x7f, 0xf5, 0xdb, 0x36, 0x14, 0x4f, 0x4e, 0x4c, 0x7b, 0x4a, 0x5e, 0x40, 0x49, 0x14, 0x27, 0xd9,
+	0x16, 0x91, 0xe3, 0x6b, 0xee, 0x3f, 0x16, 0x54, 0xa6, 0x74, 0x95, 0x0d, 0xf2, 0x12, 0xaa, 0x26,
+	0x0b, 0x93, 0x4a, 0x6a, 0x08, 0xb1, 0x18, 0xd8, 0x5f, 0x06, 0x94, 0x0d, 0xf2, 0x0c, 0xb6, 0xba,
+	0x2c, 0xd4, 0x9d, 0x70, 0x69, 0x09, 0x58, 0xbc, 0xea, 0x94, 0x0d, 0xf2, 0x7b, 0x90, 0x23, 0xa9,
+	0x35, 0x4f, 0xc2, 0xa7, 0x9f, 0x78, 0x39, 0xef, 0x1f, 0x7c, 0x44, 0x20, 0x50, 0x36, 0xc8, 0x0f,
+	0x00, 0x86, 0x77, 0xcb, 0x7c, 0xcf, 0x5d, 0x75, 0x23, 0xf6, 0x38, 0xae, 0x71, 0x65, 0x83, 0x1c,
+	0x43, 0xd5, 0xbc, 0x9e, 0x87, 0x63, 0xef, 0xf6, 0x61, 0xf2, 0xdf, 0x43, 0x85, 0xb2, 0x4b, 0xcf,
+	0x0b, 0x1f, 0x24, 0x8d, 0x09, 0x0b, 0xbd, 0xd9, 0x84, 0x1a, 0x2d, 0x1c, 0x1a, 0x98, 0xff, 0x69,
+	0x95, 0x57, 0xd0, 0x30, 0x43, 0xcb, 0x0f, 0x3f, 0x47, 0xe7, 0x67, 0xd8, 0xa1, 0x2c, 0x58, 0xd2,
+	0x8a, 0xa7, 0x15, 0x51, 0x79, 0xeb, 0xf4, 0xbe, 0x8b, 0xd2, 0xa5, 0x0d, 0xc8, 0x4e, 0x6a, 0x10,
+	0x8a, 0x9a, 0x76, 0x3f, 0x35, 0x1b, 0x29, 0x1b, 0xe4, 0x5b, 0x9c, 0xcb, 0x43, 0x3e, 0x43, 0x65,
+	0xdd, 0xa9, 0x2e, 0xc4, 0x30, 0xfc, 0xaf, 0xa1, 0xda, 0x65, 0x61, 0x32, 0x41, 0xed, 0xa4, 0x86,
+	0x20, 0x61, 0xb7, 0x91, 0x9d, 0xa2, 0x02, 0x9e, 0x04, 0x40, 0xe3, 0xee, 0x7c, 0xe0, 0xda, 0xc1,
+	0x3a, 0x5f, 0xaa, 0x0b, 0x33, 0x62, 0x91, 0x24, 0x69, 0xeb, 0x9d, 0xbf, 0x27, 0xb0, 0x42, 0xa9,
+	0xe9, 0x38, 0x6b, 0x76, 0xb2, 0x46, 0xe7, 0x2d, 0xec, 0xa4, 0x16, 0x0a, 0x74, 0xd7, 0xd0, 0xb5,
+	0x64, 0xb9, 0xc5, 0x60, 0xb6, 0x7e, 0xb9, 0xa4, 0x0e, 0x1f, 0xec, 0xe2, 0x4b, 0xa8, 0x0b, 0x9d,
+	0x07, 0x7b, 0xf8, 0x06, 0xa4, 0xc5, 0x32, 0x9f, 0xe5, 0xe0, 0xff, 0xc1, 0xb6, 0x28, 0x9a, 0xe8,
+	0xd5, 0xf6, 0x91, 0x54, 0xa5, 0xb4, 0x5e, 0x43, 0x55, 0x68, 0xf1, 0xc7, 0xdc, 0xc3, 0x94, 0x4e,
+	0x60, 0xd7, 0xe4, 0xf9, 0xe5, 0xd7, 0xb1, 0xea, 0x8e, 0xed, 0x91, 0x85, 0x67, 0x18, 0xd9, 0x5b,
+	0x84, 0x25, 0x7d, 0x53, 0x7f, 0xc4, 0x06, 0x76, 0xfd, 0x3d, 0x36, 0xb2, 0xb7, 0xfd, 0x3a, 0x1b,
+	0x3f, 0x40, 0xb9, 0xcb, 0xc2, 0xe8, 0x5c, 0x5f, 0x93, 0x91, 0x38, 0xd8, 0x5c, 0x80, 0xc7, 0xb6,
+	0xd1, 0xba, 0xb6, 0xdc, 0x09, 0xc3, 0xbb, 0x2c, 0x7a, 0x02, 0x12, 0x21, 0x92, 0xba, 0xdd, 0xd6,
+	0x2d, 0x74, 0x06, 0x5f, 0x44, 0x05, 0xbd, 0xfa, 0xa8, 0x59, 0xb3, 0xee, 0x93, 0x05, 0xb4, 0x22,
+	0x9f, 0xb4, 0x1e, 0x6f, 0x8d, 0xf5, 0xad, 0x27, 0xba, 0xe2, 0x27, 0x1c, 0x5e, 0x6e, 0x2c, 0xc7,
+	0x1e, 0x5b, 0x21, 0x3b, 0x1f, 0x07, 0x0f, 0x2b, 0xba, 0x93, 0x6f, 0x7e, 0xf7, 0xf5, 0xc4, 0x0e,
+	0xaf, 0xe7, 0x97, 0xc7, 0x23, 0x6f, 0xca, 0x7f, 0x2c, 0x18, 0x79, 0xfe, 0x58, 0xfc, 0xba, 0x90,
+	0xfc, 0xce, 0x70, 0xb9, 0xc5, 0x7f, 0x1c, 0x78, 0xfd, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7d,
+	0x29, 0x15, 0x35, 0x7b, 0x18, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/api/bbsim/bbsim.pb.gw.go b/api/bbsim/bbsim.pb.gw.go
index 1637fd2..d59c949 100644
--- a/api/bbsim/bbsim.pb.gw.go
+++ b/api/bbsim/bbsim.pb.gw.go
@@ -864,7 +864,7 @@
 }
 
 var (
-	filter_BBSim_ChangeIgmpState_0 = &utilities.DoubleArray{Encoding: map[string]int{"OnuReq": 0, "SerialNumber": 1, "SubActionVal": 2, "GroupAddress": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 2, 1, 1, 3, 4, 5}}
+	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) {
@@ -879,15 +879,15 @@
 		_   = err
 	)
 
-	val, ok = pathParams["OnuReq.SerialNumber"]
+	val, ok = pathParams["OnuSerialNumber"]
 	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "OnuReq.SerialNumber")
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "OnuSerialNumber")
 	}
 
-	err = runtime.PopulateFieldFromPath(&protoReq, "OnuReq.SerialNumber", val)
+	protoReq.OnuSerialNumber, err = runtime.String(val)
 
 	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuReq.SerialNumber", err)
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuSerialNumber", err)
 	}
 
 	val, ok = pathParams["SubActionVal"]
@@ -938,15 +938,15 @@
 		_   = err
 	)
 
-	val, ok = pathParams["OnuReq.SerialNumber"]
+	val, ok = pathParams["OnuSerialNumber"]
 	if !ok {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "OnuReq.SerialNumber")
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "OnuSerialNumber")
 	}
 
-	err = runtime.PopulateFieldFromPath(&protoReq, "OnuReq.SerialNumber", val)
+	protoReq.OnuSerialNumber, err = runtime.String(val)
 
 	if err != nil {
-		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuReq.SerialNumber", err)
+		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "OnuSerialNumber", err)
 	}
 
 	val, ok = pathParams["SubActionVal"]
@@ -1922,7 +1922,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", "OnuReq.SerialNumber", "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, 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_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/api/bbsim/bbsim.proto b/api/bbsim/bbsim.proto
index 705b1b1..3a32175 100644
--- a/api/bbsim/bbsim.proto
+++ b/api/bbsim/bbsim.proto
@@ -245,9 +245,11 @@
 }
 
 message IgmpRequest {
-    ONURequest OnuReq = 1;
-    SubActionTypes SubActionVal = 2;
-    string GroupAddress = 3;
+    string OnuSerialNumber = 1;
+    int32 UniID = 2;
+    SubActionTypes SubActionVal = 3;
+    string GroupAddress = 4;
+    int32 VLAN = 5;
 }
 
 message Flows {
diff --git a/api/bbsim/bbsim.yaml b/api/bbsim/bbsim.yaml
index 37a7370..c7c61a6 100644
--- a/api/bbsim/bbsim.yaml
+++ b/api/bbsim/bbsim.yaml
@@ -57,7 +57,8 @@
   - selector: bbsim.BBSim.RestartDhcp
     post: "/v1/olt/onus/{OnuSerialNumber}/dhcp"
   - selector: bbsim.BBSim.ChangeIgmpState
-    post: "/v1/olt/onus/{OnuReq.SerialNumber}/igmp/{SubActionVal}/{GroupAddress}"
+    post: "/v1/olt/onus/{OnuSerialNumber}/{UniID}/igmp/{SubActionVal}/{GroupAddress}/{VLAN}"
+
 
   - selector: bbsim.BBSim.SetOnuAlarmIndication
     post: "/v1/olt/onus/{SerialNumber}/alarms/{AlarmType}/{Status}"
diff --git a/docs/swagger/bbsim/bbsim.swagger.json b/docs/swagger/bbsim/bbsim.swagger.json
index e88ce97..30a1023 100644
--- a/docs/swagger/bbsim/bbsim.swagger.json
+++ b/docs/swagger/bbsim/bbsim.swagger.json
@@ -100,7 +100,7 @@
         ]
       }
     },
-    "/v1/olt/onus/{OnuReq.SerialNumber}/igmp": {
+    "/v1/olt/onus/{OnuSerialNumber}/{UniID}/igmp/{SubActionVal}/{GroupAddress}/{VLAN}": {
       "post": {
         "summary": "Change IGMP state",
         "operationId": "ChangeIgmpState",
@@ -120,13 +120,72 @@
             "type": "string"
           },
           {
-            "name": "body",
-            "in": "body",
+            "name": "SubActionVal",
+            "in": "path",
             "required": true,
+            "type": "string",
+            "enum": [
+              "JOIN",
+              "LEAVE",
+              "JOINV3"
+            ]
+          },
+          {
+            "name": "GroupAddress",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "tags": [
+          "BBSim"
+        ]
+      }
+    },
+    "/v1/olt/onus/{OnuSerialNumber}/dhcp": {
+      "post": {
+        "summary": "Restart DHCP for ONU",
+        "operationId": "RestartDhcp",
+        "responses": {
+          "200": {
+            "description": "A successful response.",
             "schema": {
-              "type": "string"
+              "$ref": "#/definitions/bbsimResponse"
             }
           }
+        },
+        "parameters": [
+          {
+            "name": "OnuSerialNumber",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "tags": [
+          "BBSim"
+        ]
+      }
+    },
+    "/v1/olt/onus/{OnuSerialNumber}/eapol": {
+      "post": {
+        "summary": "Restart EAPOL for ONU",
+        "operationId": "RestartEapol",
+        "responses": {
+          "200": {
+            "description": "A successful response.",
+            "schema": {
+              "$ref": "#/definitions/bbsimResponse"
+            }
+          }
+        },
+        "parameters": [
+          {
+            "name": "OnuSerialNumber",
+            "in": "path",
+            "required": true,
+            "type": "string"
+          }
         ],
         "tags": [
           "BBSim"
@@ -241,56 +300,6 @@
         ]
       }
     },
-    "/v1/olt/onus/{SerialNumber}/dhcp": {
-      "post": {
-        "summary": "Restart DHCP for ONU",
-        "operationId": "RestartDhcp",
-        "responses": {
-          "200": {
-            "description": "A successful response.",
-            "schema": {
-              "$ref": "#/definitions/bbsimResponse"
-            }
-          }
-        },
-        "parameters": [
-          {
-            "name": "SerialNumber",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          }
-        ],
-        "tags": [
-          "BBSim"
-        ]
-      }
-    },
-    "/v1/olt/onus/{SerialNumber}/eapol": {
-      "post": {
-        "summary": "Restart EAPOL for ONU",
-        "operationId": "RestartEapol",
-        "responses": {
-          "200": {
-            "description": "A successful response.",
-            "schema": {
-              "$ref": "#/definitions/bbsimResponse"
-            }
-          }
-        },
-        "parameters": [
-          {
-            "name": "SerialNumber",
-            "in": "path",
-            "required": true,
-            "type": "string"
-          }
-        ],
-        "tags": [
-          "BBSim"
-        ]
-      }
-    },
     "/v1/olt/onus/{SerialNumber}/flows": {
       "get": {
         "summary": "Get all flows or ONU specific flows",
@@ -564,6 +573,28 @@
           "items": {
             "$ref": "#/definitions/bbsimService"
           }
+        },
+        "ImageSoftwareExpectedSections": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "ImageSoftwareReceivedSections": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "ActiveImageEntityId": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "CommittedImageEntityId": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "unis": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimUNI"
+          }
         }
       }
     },
@@ -624,6 +655,58 @@
           "items": {
             "$ref": "#/definitions/bbsimPONPort"
           }
+        },
+        "NniDhcpTrapVid": {
+          "type": "integer",
+          "format": "int32"
+        }
+      }
+    },
+    "bbsimOltAllocatedResource": {
+      "type": "object",
+      "properties": {
+        "Type": {
+          "type": "string"
+        },
+        "PonPortId": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "OnuId": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "PortNo": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "ResourceId": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "FlowId": {
+          "type": "string",
+          "format": "uint64"
+        }
+      }
+    },
+    "bbsimOltAllocatedResourceTypeType": {
+      "type": "string",
+      "enum": [
+        "UNKNOWN",
+        "ALLOC_ID",
+        "GEM_PORT"
+      ],
+      "default": "UNKNOWN"
+    },
+    "bbsimOltAllocatedResources": {
+      "type": "object",
+      "properties": {
+        "resources": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimOltAllocatedResource"
+          }
         }
       }
     },
@@ -636,6 +719,48 @@
         },
         "OperState": {
           "type": "string"
+        },
+        "InternalState": {
+          "type": "string"
+        },
+        "PacketCount": {
+          "type": "string",
+          "format": "uint64"
+        },
+        "AllocatedOnuIds": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimPonAllocatedResources"
+          },
+          "title": "ONU ID are reported by VOLTHA in the ActivateOnu call"
+        },
+        "AllocatedGemPorts": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimPonAllocatedResources"
+          },
+          "title": "these are the stored resource IDs as reported via OMCI"
+        },
+        "AllocatedAllocIds": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimPonAllocatedResources"
+          }
+        },
+        "Technology": {
+          "type": "string"
+        }
+      }
+    },
+    "bbsimPonAllocatedResources": {
+      "type": "object",
+      "properties": {
+        "SerialNumber": {
+          "type": "string"
+        },
+        "Id": {
+          "type": "integer",
+          "format": "int32"
         }
       }
     },
@@ -698,6 +823,42 @@
         },
         "IGMPState": {
           "type": "string"
+        },
+        "UniId": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "UniTagMatch": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "UsCTagPriority": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "UsSTagPriority": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "DsCTagPriority": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "DsSTagPriority": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "NeedsPPPoE": {
+          "type": "boolean",
+          "format": "boolean"
+        },
+        "ConfigureMacAddress": {
+          "type": "boolean",
+          "format": "boolean"
+        },
+        "EnableMacLearning": {
+          "type": "boolean",
+          "format": "boolean"
         }
       }
     },
@@ -721,6 +882,61 @@
       ],
       "default": "JOIN"
     },
+    "bbsimUNI": {
+      "type": "object",
+      "properties": {
+        "ID": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "OnuID": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "OnuSn": {
+          "type": "string"
+        },
+        "MeID": {
+          "type": "integer",
+          "format": "int64"
+        },
+        "OperState": {
+          "type": "string"
+        },
+        "PortNo": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "services": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimService"
+          }
+        },
+        "Type": {
+          "$ref": "#/definitions/bbsimUniType"
+        }
+      }
+    },
+    "bbsimUNIs": {
+      "type": "object",
+      "properties": {
+        "items": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/bbsimUNI"
+          }
+        }
+      }
+    },
+    "bbsimUniType": {
+      "type": "string",
+      "enum": [
+        "ETH",
+        "POTS"
+      ],
+      "default": "ETH"
+    },
     "bbsimVersionNumber": {
       "type": "object",
       "properties": {
@@ -949,6 +1165,13 @@
             "type": "integer",
             "format": "int64"
           }
+        },
+        "gemport_to_aes": {
+          "type": "object",
+          "additionalProperties": {
+            "type": "boolean",
+            "format": "boolean"
+          }
         }
       }
     },
diff --git a/docs/swagger/legacy/bbsim.swagger.json b/docs/swagger/legacy/bbsim.swagger.json
index 1f6b60d..6262d76 100644
--- a/docs/swagger/legacy/bbsim.swagger.json
+++ b/docs/swagger/legacy/bbsim.swagger.json
@@ -1583,6 +1583,13 @@
             "type": "integer",
             "format": "int64"
           }
+        },
+        "gemport_to_aes": {
+          "type": "object",
+          "additionalProperties": {
+            "type": "boolean",
+            "format": "boolean"
+          }
         }
       }
     },
diff --git a/internal/bbr/devices/olt.go b/internal/bbr/devices/olt.go
index 873a464..377ca50 100644
--- a/internal/bbr/devices/olt.go
+++ b/internal/bbr/devices/olt.go
@@ -20,7 +20,6 @@
 	"context"
 	"encoding/hex"
 	"fmt"
-	"github.com/opencord/bbsim/internal/bbsim/types"
 	"io"
 	"reflect"
 	"time"
@@ -29,6 +28,7 @@
 	"github.com/google/gopacket/layers"
 	"github.com/opencord/bbsim/internal/bbsim/devices"
 	"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
+	"github.com/opencord/bbsim/internal/bbsim/types"
 	"github.com/opencord/bbsim/internal/common"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
 	log "github.com/sirupsen/logrus"
diff --git a/internal/bbsim/api/onus_handler.go b/internal/bbsim/api/onus_handler.go
index 29c52ac..72d34ec 100644
--- a/internal/bbsim/api/onus_handler.go
+++ b/internal/bbsim/api/onus_handler.go
@@ -21,11 +21,11 @@
 	"fmt"
 	"strconv"
 
-	"github.com/opencord/bbsim/internal/bbsim/types"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
 
 	"github.com/opencord/bbsim/api/bbsim"
 	"github.com/opencord/bbsim/internal/bbsim/devices"
+	"github.com/opencord/bbsim/internal/bbsim/responders/igmp"
 	log "github.com/sirupsen/logrus"
 	"google.golang.org/grpc/codes"
 )
@@ -236,19 +236,20 @@
 	res := &bbsim.Response{}
 
 	logger.WithFields(log.Fields{
-		"OnuSn":        req.OnuReq.SerialNumber,
+		"OnuSn":        req.OnuSerialNumber,
+		"UniId":        req.UniID,
 		"subAction":    req.SubActionVal,
 		"GroupAddress": req.GroupAddress,
+		"VLAN":         req.VLAN,
 	}).Info("Received igmp request for ONU")
 
 	olt := devices.GetOLT()
-	onu, err := olt.FindOnuBySn(req.OnuReq.SerialNumber)
-
+	onu, err := olt.FindOnuBySn(req.OnuSerialNumber)
 	if err != nil {
 		res.StatusCode = int32(codes.NotFound)
 		res.Message = err.Error()
 		logger.WithFields(log.Fields{
-			"OnuSn":        req.OnuReq.SerialNumber,
+			"OnuSn":        req.OnuSerialNumber,
 			"subAction":    req.SubActionVal,
 			"GroupAddress": req.GroupAddress,
 		}).Warn("ONU not found for sending igmp packet.")
@@ -264,82 +265,74 @@
 			event = "igmp_join_startv3"
 		}
 
-		errors := []string{}
-		startedOn := []string{}
-		success := true
-
-		for _, u := range onu.UniPorts {
-			uni := u.(*devices.UniPort)
-			if !uni.OperState.Is(devices.UniStateUp) {
-				// if the UNI is disabled, ignore it
-				continue
-			}
-			for _, s := range uni.Services {
-				service := s.(*devices.Service)
-				serviceKey := fmt.Sprintf("uni[%d]%s", uni.ID, service.Name)
-				if service.NeedsIgmp {
-					if !service.InternalState.Is(devices.ServiceStateInitialized) {
-						logger.WithFields(log.Fields{
-							"OnuId":   onu.ID,
-							"UniId":   uni.ID,
-							"IntfId":  onu.PonPortID,
-							"OnuSn":   onu.Sn(),
-							"Service": service.Name,
-						}).Warn("service-not-initialized-skipping-event")
-						continue
-					}
+		if int(req.UniID) >= len(onu.UniPorts) {
+			res.StatusCode = int32(codes.InvalidArgument)
+			err := fmt.Errorf("invalid uni no given")
+			return res, err
+		}
+		if req.VLAN > 0xFFF || req.VLAN < 0 {
+			res.StatusCode = int32(codes.InvalidArgument)
+			err := fmt.Errorf("invalid vlan given")
+			return res, err
+		}
+		uni := onu.UniPorts[req.UniID].(*devices.UniPort)
+		if !uni.OperState.Is(devices.UniStateUp) {
+			// if the UNI is disabled, ignore it
+			err := fmt.Errorf("given uni is currently disabled")
+			return res, err
+		}
+		for _, s := range uni.Services {
+			service := s.(*devices.Service)
+			if service.NeedsIgmp {
+				if !service.InternalState.Is(devices.ServiceStateInitialized) {
 					logger.WithFields(log.Fields{
 						"OnuId":   onu.ID,
 						"UniId":   uni.ID,
 						"IntfId":  onu.PonPortID,
 						"OnuSn":   onu.Sn(),
 						"Service": service.Name,
-						"Uni":     uni.ID,
-					}).Debugf("Sending %s event on Service %s", event, service.Name)
+					}).Trace("service-not-initialized-skipping-event")
+					continue
+				}
 
-					if err := service.IGMPState.Event(event, types.IgmpMessage{GroupAddress: req.GroupAddress}); err != nil {
-						logger.WithFields(log.Fields{
-							"OnuId":   onu.ID,
-							"UniId":   uni.ID,
-							"IntfId":  onu.PonPortID,
-							"OnuSn":   onu.Sn(),
-							"Service": service.Name,
-						}).Errorf("IGMP request failed: %s", err.Error())
-						errors = append(errors, fmt.Sprintf("%s: %s", serviceKey, err.Error()))
-						success = false
-					}
-					startedOn = append(startedOn, serviceKey)
+				ctag := service.CTag
+				if req.VLAN != 0 {
+					ctag = int(req.VLAN)
+				}
+
+				logger.WithFields(log.Fields{
+					"OnuId":   onu.ID,
+					"UniId":   uni.ID,
+					"IntfId":  onu.PonPortID,
+					"OnuSn":   onu.Sn(),
+					"Service": service.Name,
+					"Uni":     uni.ID,
+					"Vlan":    ctag,
+				}).Debugf("Sending %s event on Service %s", event, service.Name)
+
+				switch req.SubActionVal {
+				case bbsim.SubActionTypes_JOIN:
+					go func() {
+						_ = igmp.SendIGMPMembershipReportV2(service.UniPort.Onu.PonPortID, service.UniPort.Onu.ID, service.UniPort.Onu.Sn(),
+							service.UniPort.PortNo, service.UniPort.ID, service.GemPort, service.HwAddress, ctag,
+							service.UsPonCTagPriority, service.Stream, req.GroupAddress)
+					}()
+				case bbsim.SubActionTypes_LEAVE:
+					go func() {
+						_ = igmp.SendIGMPLeaveGroupV2(service.UniPort.Onu.PonPortID, service.UniPort.Onu.ID, service.UniPort.Onu.Sn(),
+							service.UniPort.PortNo, service.UniPort.ID, service.GemPort, service.HwAddress, ctag,
+							service.UsPonCTagPriority, service.Stream, req.GroupAddress)
+					}()
+				case bbsim.SubActionTypes_JOINV3:
+					go func() {
+						_ = igmp.SendIGMPMembershipReportV3(service.UniPort.Onu.PonPortID, service.UniPort.Onu.ID, service.UniPort.Onu.Sn(),
+							service.UniPort.PortNo, service.UniPort.ID, service.GemPort, service.HwAddress, ctag,
+							service.UsPonCTagPriority, service.Stream, req.GroupAddress)
+					}()
 				}
 			}
 		}
-
-		if success {
-			res.StatusCode = int32(codes.OK)
-			if len(startedOn) > 0 {
-				res.Message = fmt.Sprintf("IGMP %s sent on Services %s for ONU %s.",
-					event, fmt.Sprintf("%v", startedOn), onu.Sn())
-			} else {
-				res.Message = "No service requires IGMP"
-			}
-			logger.WithFields(log.Fields{
-				"OnuSn":        req.OnuReq.SerialNumber,
-				"subAction":    req.SubActionVal,
-				"GroupAddress": req.GroupAddress,
-				"Message":      res.Message,
-			}).Info("Processed IGMP request for ONU")
-		} else {
-			res.StatusCode = int32(codes.FailedPrecondition)
-			res.Message = fmt.Sprintf("%v", errors)
-			logger.WithFields(log.Fields{
-				"OnuSn":        req.OnuReq.SerialNumber,
-				"subAction":    req.SubActionVal,
-				"GroupAddress": req.GroupAddress,
-				"Message":      res.Message,
-			}).Error("Error while processing IGMP request for ONU")
-		}
-
 	}
-
 	return res, nil
 }
 
diff --git a/internal/bbsim/devices/services.go b/internal/bbsim/devices/services.go
index 458e289..4ac1d39 100644
--- a/internal/bbsim/devices/services.go
+++ b/internal/bbsim/devices/services.go
@@ -471,7 +471,7 @@
 			_ = dhcp.HandleNextPacket(s.UniPort.Onu.ID, s.UniPort.Onu.PonPortID, s.Name, s.UniPort.Onu.Sn(), s.UniPort.PortNo, tag, s.GemPort, s.UniPort.ID, s.HwAddress, s.DHCPState, msg.Packet, priority, s.Stream)
 		} else if msg.Type == packetHandlers.IGMP {
 			log.Warn(hex.EncodeToString(msg.Packet.Data()))
-			_ = igmp.HandleNextPacket(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.GemPort, s.HwAddress, msg.Packet, s.CTag, s.UsPonCTagPriority, s.Stream)
+			_ = igmp.HandleNextPacket(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.UniPort.ID, s.GemPort, s.HwAddress, msg.Packet, s.CTag, s.UsPonCTagPriority, s.Stream)
 		}
 	}
 }
@@ -540,7 +540,7 @@
 				"UniId":     s.UniPort.ID,
 				"Name":      s.Name,
 			}).Debug("Received IGMPMembershipReportV2 message on ONU channel")
-			_ = igmp.SendIGMPMembershipReportV2(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
+			_ = igmp.SendIGMPMembershipReportV2(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.UniPort.ID, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
 		case bbsimTypes.IGMPLeaveGroup:
 			igmpInfo, _ := msg.Data.(bbsimTypes.IgmpMessage)
 			serviceLogger.WithFields(log.Fields{
@@ -552,7 +552,7 @@
 				"UniId":     s.UniPort.ID,
 				"Name":      s.Name,
 			}).Debug("Received IGMPLeaveGroupV2 message on ONU channel")
-			_ = igmp.SendIGMPLeaveGroupV2(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
+			_ = igmp.SendIGMPLeaveGroupV2(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.UniPort.ID, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
 		case bbsimTypes.IGMPMembershipReportV3:
 			igmpInfo, _ := msg.Data.(bbsimTypes.IgmpMessage)
 			serviceLogger.WithFields(log.Fields{
@@ -564,7 +564,7 @@
 				"UniId":     s.UniPort.ID,
 				"Name":      s.Name,
 			}).Debug("Received IGMPMembershipReportV3 message on ONU channel")
-			_ = igmp.SendIGMPMembershipReportV3(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
+			_ = igmp.SendIGMPMembershipReportV3(s.UniPort.Onu.PonPortID, s.UniPort.Onu.ID, s.UniPort.Onu.Sn(), s.UniPort.PortNo, s.UniPort.ID, s.GemPort, s.HwAddress, s.CTag, s.UsPonCTagPriority, s.Stream, igmpInfo.GroupAddress)
 
 		}
 	}
diff --git a/internal/bbsim/responders/igmp/igmp.go b/internal/bbsim/responders/igmp/igmp.go
index ea3a901..fe30cd5 100644
--- a/internal/bbsim/responders/igmp/igmp.go
+++ b/internal/bbsim/responders/igmp/igmp.go
@@ -17,10 +17,13 @@
 	"encoding/binary"
 	"encoding/hex"
 	"errors"
-	"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
+	"fmt"
 	"net"
+	"strconv"
 	"time"
 
+	"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
+
 	"github.com/google/gopacket"
 	"github.com/google/gopacket/layers"
 	bbsim "github.com/opencord/bbsim/internal/bbsim/types"
@@ -28,7 +31,7 @@
 	log "github.com/sirupsen/logrus"
 )
 
-func SendIGMPLeaveGroupV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+func SendIGMPLeaveGroupV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, uniId uint32,
 	gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream, groupAddress string) error {
 	log.WithFields(log.Fields{
 		"OnuId":        onuId,
@@ -49,6 +52,13 @@
 		return err
 	}
 
+	// For IGMP testing, if voltha is not connected we do not have
+	// gemPortId, so set a unique gemPortId per ONU
+	if gemPortId == 0 {
+		gid, _ := strconv.ParseUint(fmt.Sprintf("%d%d", ponPortId, onuId), 10, 32)
+		gemPortId = uint32(gid)
+	}
+
 	data := &openolt.Indication_PktInd{
 		PktInd: &openolt.PacketIndication{
 			IntfType:  "pon",
@@ -57,7 +67,7 @@
 			Pkt:       pkt,
 			PortNo:    portNo,
 			OnuId:     onuId,
-			UniId:     0, // FIXME: When multi-uni support comes in, this hardcoding has to be removed
+			UniId:     uniId,
 		},
 	}
 	//Sending IGMP packets
@@ -75,7 +85,7 @@
 	return nil
 }
 
-func SendIGMPMembershipReportV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+func SendIGMPMembershipReportV2(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, uniId uint32,
 	gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream, groupAddress string) error {
 
 	igmp := createIGMPV2MembershipReportPacket(groupAddress)
@@ -91,6 +101,13 @@
 		return err
 	}
 
+	// For IGMP testing, if voltha is not connected we do not have
+	// gemPortId, so set a unique gemPortId per ONU
+	if gemPortId == 0 {
+		gid, _ := strconv.ParseUint(fmt.Sprintf("%d%d", ponPortId, onuId), 10, 32)
+		gemPortId = uint32(gid)
+	}
+
 	data := &openolt.Indication_PktInd{
 		PktInd: &openolt.PacketIndication{
 			IntfType:  "pon",
@@ -99,7 +116,7 @@
 			Pkt:       pkt,
 			PortNo:    portNo,
 			OnuId:     onuId,
-			UniId:     0,
+			UniId:     uniId,
 		},
 	}
 	//Sending IGMP packets
@@ -124,7 +141,7 @@
 	return nil
 }
 
-func SendIGMPMembershipReportV3(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+func SendIGMPMembershipReportV3(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, uniId uint32,
 	gemPortId uint32, macAddress net.HardwareAddr, cTag int, pbit uint8, stream bbsim.Stream, groupAddress string) error {
 
 	log.WithFields(log.Fields{
@@ -146,6 +163,13 @@
 		return err
 	}
 
+	// For IGMP testing, if voltha is not connected we do not have
+	// gemPortId, so set a unique gemPortId per ONU
+	if gemPortId == 0 {
+		gid, _ := strconv.ParseUint(fmt.Sprintf("%d%d", ponPortId, onuId), 10, 32)
+		gemPortId = uint32(gid)
+	}
+
 	data := &openolt.Indication_PktInd{
 		PktInd: &openolt.PacketIndication{
 			IntfType:  "pon",
@@ -154,7 +178,7 @@
 			Pkt:       pkt,
 			PortNo:    portNo,
 			OnuId:     onuId,
-			UniId:     0, // FIXME: When multi-uni support comes in, this hardcoding has to be removed
+			UniId:     uniId,
 		},
 	}
 	//Sending IGMP packets
@@ -171,7 +195,7 @@
 	return nil
 }
 
-func HandleNextPacket(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32,
+func HandleNextPacket(ponPortId uint32, onuId uint32, serialNumber string, portNo uint32, uniId uint32,
 	gemPortId uint32, macAddress net.HardwareAddr, pkt gopacket.Packet, cTag int, pbit uint8, stream bbsim.Stream) error {
 
 	igmpLayer := pkt.Layer(layers.LayerTypeIGMP)
@@ -192,7 +216,7 @@
 	igmp := igmpLayer.(*layers.IGMPv1or2)
 
 	if igmp.Type == layers.IGMPMembershipQuery {
-		_ = SendIGMPMembershipReportV2(ponPortId, onuId, serialNumber, portNo, gemPortId, macAddress,
+		_ = SendIGMPMembershipReportV2(ponPortId, onuId, serialNumber, portNo, uniId, gemPortId, macAddress,
 			cTag, pbit, stream, igmp.GroupAddress.String())
 	}
 
@@ -269,13 +293,19 @@
 		EthernetType: layers.EthernetTypeIPv4,
 	}
 
+	destinationIP := igmp.GroupAddress
+	if igmp.Version == 3 && igmp.Type == layers.IGMPMembershipReportV3 {
+		//All IGMPv3-capable multicast routers
+		destinationIP = net.ParseIP("224.0.0.22")
+	}
+
 	ipLayer := &layers.IPv4{
 		Version:  4,
 		TOS:      0x10,
 		Id:       0,
 		TTL:      128,
 		SrcIP:    []byte{0, 0, 0, 0},
-		DstIP:    igmp.GroupAddress,
+		DstIP:    destinationIP,
 		Protocol: layers.IPProtocolIGMP,
 		Options:  []layers.IPv4Option{{OptionType: 148, OptionLength: 4, OptionData: make([]byte, 0)}}, //Adding router alert option
 	}
diff --git a/internal/bbsim/responders/igmp/igmp_test.go b/internal/bbsim/responders/igmp/igmp_test.go
index b13e473..d6442a3 100644
--- a/internal/bbsim/responders/igmp/igmp_test.go
+++ b/internal/bbsim/responders/igmp/igmp_test.go
@@ -19,13 +19,14 @@
 import (
 	"encoding/hex"
 	"fmt"
+	"net"
+	"testing"
+
 	"github.com/google/gopacket"
 	"github.com/google/gopacket/layers"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
 	"github.com/stretchr/testify/assert"
 	"google.golang.org/grpc"
-	"net"
-	"testing"
 )
 
 type mockStream struct {
@@ -64,7 +65,7 @@
 
 	fmt.Println(packet.Layers())
 
-	err := HandleNextPacket(0, 0, "FOO", 1, 1024, mac, packet, 55, 5, stream)
+	err := HandleNextPacket(0, 0, "FOO", 1, 1024, 0, mac, packet, 55, 5, stream)
 	assert.Nil(t, err)
 
 	assert.Equal(t, 1, stream.CallCount)
diff --git a/internal/bbsimctl/commands/onu.go b/internal/bbsimctl/commands/onu.go
index 80e5f0d..a6f070c 100644
--- a/internal/bbsimctl/commands/onu.go
+++ b/internal/bbsimctl/commands/onu.go
@@ -38,8 +38,10 @@
 )
 
 type OnuSnString string
+type UniId int
 type IgmpSubAction string
 type GroupAddress string
+type VLAN int
 
 const IgmpJoinKey string = "join"
 const IgmpLeaveKey string = "leave"
@@ -92,9 +94,11 @@
 type ONUIgmp struct {
 	Args struct {
 		OnuSn        OnuSnString
+		UniId        UniId
 		SubAction    IgmpSubAction
 		GroupAddress GroupAddress
 	} `positional-args:"yes" required:"yes"`
+	VLAN VLAN `short:"v" long:"vlan" description:"VLAN to set"`
 }
 
 type ONUTrafficSchedulers struct {
@@ -297,10 +301,6 @@
 	ctx, cancel := context.WithTimeout(context.Background(), config.GlobalConfig.Grpc.Timeout)
 	defer cancel()
 
-	req := pb.ONURequest{
-		SerialNumber: string(options.Args.OnuSn),
-	}
-
 	var subActionVal pb.SubActionTypes
 	if string(options.Args.SubAction) == IgmpJoinKey {
 		subActionVal = pb.SubActionTypes_JOIN
@@ -311,18 +311,23 @@
 	}
 
 	igmpReq := pb.IgmpRequest{
-		OnuReq:       &req,
-		SubActionVal: subActionVal,
-		GroupAddress: string(options.Args.GroupAddress),
+		OnuSerialNumber: string(options.Args.OnuSn),
+		UniID:           int32(options.Args.UniId),
+		SubActionVal:    subActionVal,
+		GroupAddress:    string(options.Args.GroupAddress),
+		VLAN:            int32(options.VLAN),
 	}
-	res, err := client.GetONU(ctx, igmpReq.OnuReq)
+	req := &pb.ONURequest{
+		SerialNumber: string(options.Args.OnuSn),
+	}
+	res, err := client.GetONU(ctx, req)
 	if err != nil {
 		log.WithFields(log.Fields{
 			"SerialNumber": options.Args.OnuSn,
 		}).Errorf("Cannot not get details on ONU error: %v", err)
 	}
 	log.WithFields(log.Fields{
-		"SerialNumber": igmpReq.OnuReq.SerialNumber,
+		"SerialNumber": igmpReq.OnuSerialNumber,
 	}).Debugf("ONU has identified : %s", res)
 
 	igmpRes, igmpErr := client.ChangeIgmpState(ctx, &igmpReq)
