VOL-4077: Improve storage usage on etcd
- send onu_id and uni_id in packet in (eap, dhcp, igmp)
Change-Id: Ib0e6cf8c46fdf715a67a2bc52d378209c854cfc2
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index 31c2993..58c7fab 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -1613,6 +1613,10 @@
return &openolt.OnuLogicalDistance{}, nil
}
+func (o *OltDevice) GetPonRxPower(ctx context.Context, in *openolt.Onu) (*openolt.PonRxPowerData, error) {
+ return &openolt.PonRxPowerData{}, nil
+}
+
func (o *OltDevice) GetGemPortStatistics(ctx context.Context, in *openolt.OnuPacket) (*openolt.GemPortStatistics, error) {
return &openolt.GemPortStatistics{}, nil
}
diff --git a/internal/bbsim/devices/onu_test_helpers.go b/internal/bbsim/devices/onu_test_helpers.go
index 3ca32a6..9d6b977 100644
--- a/internal/bbsim/devices/onu_test_helpers.go
+++ b/internal/bbsim/devices/onu_test_helpers.go
@@ -142,6 +142,10 @@
return nil, errors.New("unimplemented-in-mock-client")
}
+func (s *mockClient) GetPonRxPower(ctx context.Context, in *openolt.Onu, opts ...grpc.CallOption) (*openolt.PonRxPowerData, error) {
+ return nil, errors.New("unimplemented-in-mock-client")
+}
+
// this method creates a fake ONU used in the tests
func createMockOnu(id uint32, ponPortId uint32) *Onu {
o := Onu{
diff --git a/internal/bbsim/responders/dhcp/dhcp.go b/internal/bbsim/responders/dhcp/dhcp.go
index 20186ea..0916421 100644
--- a/internal/bbsim/responders/dhcp/dhcp.go
+++ b/internal/bbsim/responders/dhcp/dhcp.go
@@ -248,7 +248,7 @@
return dhcpMessageType.String(), nil
}
-func sendDHCPPktIn(msg bbsim.ByteMsg, portNo uint32, gemPortId uint32, stream bbsim.Stream) error {
+func sendDHCPPktIn(msg bbsim.ByteMsg, portNo uint32, gemPortId uint32, uniId uint32, stream bbsim.Stream) error {
dhcpLogger.WithFields(log.Fields{
"OnuId": msg.OnuId,
@@ -267,6 +267,8 @@
GemportId: gemPortId,
Pkt: msg.Bytes,
PortNo: portNo,
+ OnuId: msg.OnuId,
+ UniId: uniId,
}}
if err := stream.Send(&openolt.Indication{Data: data}); err != nil {
@@ -278,7 +280,7 @@
func sendDHCPRequest(ponPortId uint32, onuId uint32, serviceName string, serialNumber string, portNo uint32,
cTag int, gemPortId uint32, onuStateMachine *fsm.FSM, onuHwAddress net.HardwareAddr,
- offeredIp net.IP, pbit uint8, stream bbsim.Stream) error {
+ offeredIp net.IP, pbit uint8, uniId uint32, stream bbsim.Stream) error {
dhcp := createDHCPReq(ponPortId, onuId, onuHwAddress, offeredIp, gemPortId)
pkt, err := serializeDHCPPacket(cTag, onuHwAddress, dhcp, pbit)
@@ -303,7 +305,7 @@
Bytes: pkt.Data(),
}
- if err := sendDHCPPktIn(msg, portNo, gemPortId, stream); err != nil {
+ if err := sendDHCPPktIn(msg, portNo, gemPortId, uniId, stream); err != nil {
dhcpLogger.WithFields(log.Fields{
"OnuId": onuId,
"IntfId": ponPortId,
@@ -368,7 +370,7 @@
Bytes: pkt.Data(),
}
- if err := sendDHCPPktIn(msg, portNo, gemPortId, stream); err != nil {
+ if err := sendDHCPPktIn(msg, portNo, gemPortId, uniId, stream); err != nil {
dhcpLogger.WithFields(log.Fields{
"OnuId": onuId,
"IntfId": ponPortId,
@@ -448,7 +450,7 @@
if dhcpLayer.Operation == layers.DHCPOpReply {
if dhcpMessageType == layers.DHCPMsgTypeOffer {
offeredIp := dhcpLayer.YourClientIP
- if err := sendDHCPRequest(ponPortId, onuId, serviceName, serialNumber, portNo, cTag, gemPortId, onuStateMachine, onuHwAddress, offeredIp, pbit, stream); err != nil {
+ if err := sendDHCPRequest(ponPortId, onuId, serviceName, serialNumber, portNo, cTag, gemPortId, onuStateMachine, onuHwAddress, offeredIp, pbit, uniId, stream); err != nil {
dhcpLogger.WithFields(log.Fields{
"OnuId": onuId,
"IntfId": ponPortId,
diff --git a/internal/bbsim/responders/eapol/eapol.go b/internal/bbsim/responders/eapol/eapol.go
index 173727b..cd0f4a3 100644
--- a/internal/bbsim/responders/eapol/eapol.go
+++ b/internal/bbsim/responders/eapol/eapol.go
@@ -52,6 +52,8 @@
GemportId: uint32(gemid),
Pkt: msg.Bytes,
PortNo: portNo,
+ OnuId: msg.OnuId,
+ UniId: 0, // FIXME: When multi-uni support comes in, this hardcoding has to be removed.
}}
if err := stream.Send(&openolt.Indication{Data: data}); err != nil {
@@ -220,6 +222,8 @@
GemportId: gemPort,
Pkt: msg,
PortNo: portNo,
+ OnuId: onuId,
+ UniId: uniId,
},
}
diff --git a/internal/bbsim/responders/igmp/igmp.go b/internal/bbsim/responders/igmp/igmp.go
index 15aafb1..1e58fb3 100644
--- a/internal/bbsim/responders/igmp/igmp.go
+++ b/internal/bbsim/responders/igmp/igmp.go
@@ -56,6 +56,8 @@
GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
+ OnuId: onuId,
+ UniId: 0, // FIXME: When multi-uni support comes in, this hardcoding has to be removed
},
}
//Sending IGMP packets
@@ -96,6 +98,8 @@
GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
+ OnuId: onuId,
+ UniId: 0,
},
}
//Sending IGMP packets
@@ -149,6 +153,8 @@
GemportId: gemPortId,
Pkt: pkt,
PortNo: portNo,
+ OnuId: onuId,
+ UniId: 0, // FIXME: When multi-uni support comes in, this hardcoding has to be removed
},
}
//Sending IGMP packets