[VOL-2778] Handling IGMP
Change-Id: I54c26bc438a144c7d4c64a9b3d543461fc743ab2
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index a9420de..c883e95 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -20,6 +20,7 @@
"context"
"encoding/hex"
"fmt"
+ "github.com/opencord/voltha-protos/v3/go/ext/config"
"net"
"sync"
"time"
@@ -32,8 +33,9 @@
bbsim "github.com/opencord/bbsim/internal/bbsim/types"
"github.com/opencord/bbsim/internal/common"
omcisim "github.com/opencord/omci-sim"
- "github.com/opencord/voltha-protos/v2/go/openolt"
- "github.com/opencord/voltha-protos/v2/go/tech_profile"
+ common_protos "github.com/opencord/voltha-protos/v3/go/common"
+ "github.com/opencord/voltha-protos/v3/go/openolt"
+ "github.com/opencord/voltha-protos/v3/go/tech_profile"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
@@ -1074,7 +1076,21 @@
}).Debug("Adding OLT flow")
} else if flow.FlowType == "multicast" {
oltLogger.WithFields(log.Fields{
- "FlowId": flow.FlowId,
+ "Cookie": flow.Cookie,
+ "DstPort": flow.Classifier.DstPort,
+ "EthType": fmt.Sprintf("%x", flow.Classifier.EthType),
+ "FlowId": flow.FlowId,
+ "FlowType": flow.FlowType,
+ "GemportId": flow.GemportId,
+ "InnerVlan": flow.Classifier.IVid,
+ "IntfId": flow.AccessIntfId,
+ "IpProto": flow.Classifier.IpProto,
+ "OnuId": flow.OnuId,
+ "OuterVlan": flow.Classifier.OVid,
+ "PortNo": flow.PortNo,
+ "SrcPort": flow.Classifier.SrcPort,
+ "UniID": flow.UniId,
+ "ClassifierOPbits": flow.Classifier.OPbits,
}).Debug("Adding OLT multicast flow")
} else {
pon, err := o.GetPonById(uint32(flow.AccessIntfId))
@@ -1301,13 +1317,14 @@
}).Trace("Received OnuPacketOut")
rawpkt := gopacket.NewPacket(onuPkt.Pkt, layers.LayerTypeEthernet, gopacket.Default)
- pktType, err := packetHandlers.IsEapolOrDhcp(rawpkt)
+
+ pktType, err := packetHandlers.GetPktType(rawpkt)
if err != nil {
onuLogger.WithFields(log.Fields{
"IntfId": onu.PonPortID,
"OnuId": onu.ID,
"OnuSn": onu.Sn(),
- "Pkt": rawpkt.Data(),
+ "Pkt": hex.EncodeToString(rawpkt.Data()),
}).Error("Can't find pktType in packet, droppint it")
return new(openolt.Empty), nil
}
@@ -1473,3 +1490,39 @@
o.channel <- msg
return nil
}
+
+func (o *OltDevice) PerformGroupOperation(ctx context.Context, group *openolt.Group) (*openolt.Empty, error) {
+ oltLogger.WithFields(log.Fields{
+ "GroupId": group.GroupId,
+ "Command": group.Command,
+ "Members": group.Members,
+ "Action": group.Action,
+ }).Debug("received PerformGroupOperation")
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) DeleteGroup(ctx context.Context, group *openolt.Group) (*openolt.Empty, error) {
+ oltLogger.WithFields(log.Fields{
+ "GroupId": group.GroupId,
+ "Command": group.Command,
+ "Members": group.Members,
+ "Action": group.Action,
+ }).Debug("received PerformGroupOperation")
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) GetExtValue(ctx context.Context, in *openolt.ValueParam) (*common_protos.ReturnValues, error) {
+ return &common_protos.ReturnValues{}, nil
+}
+
+func (o *OltDevice) OnuItuPonAlarmSet(ctx context.Context, in *config.OnuItuPonAlarm) (*openolt.Empty, error) {
+ return &openolt.Empty{}, nil
+}
+
+func (o *OltDevice) GetLogicalOnuDistanceZero(ctx context.Context, in *openolt.Onu) (*openolt.OnuLogicalDistance, error) {
+ return &openolt.OnuLogicalDistance{}, nil
+}
+
+func (o *OltDevice) GetLogicalOnuDistance(ctx context.Context, in *openolt.Onu) (*openolt.OnuLogicalDistance, error) {
+ return &openolt.OnuLogicalDistance{}, nil
+}