[VOL-2778] Handling IGMP
Change-Id: I54c26bc438a144c7d4c64a9b3d543461fc743ab2
diff --git a/internal/bbsim/packetHandlers/filters_test.go b/internal/bbsim/packetHandlers/filters_test.go
index 8d5f96a..c182e82 100644
--- a/internal/bbsim/packetHandlers/filters_test.go
+++ b/internal/bbsim/packetHandlers/filters_test.go
@@ -20,6 +20,7 @@
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
"github.com/opencord/bbsim/internal/bbsim/packetHandlers"
+ "github.com/opencord/bbsim/internal/bbsim/responders/igmp"
"gotest.tools/assert"
"net"
"testing"
@@ -62,6 +63,29 @@
assert.Equal(t, res, false)
}
+func Test_IsIgmpPacket(t *testing.T) {
+ igmp := &igmp.IGMP{
+ Type: layers.IGMPMembershipReportV2, //IGMPV2 Membership Report
+ Checksum: 0,
+ GroupAddress: net.IPv4(224, 0, 0, 22),
+ Version: 2,
+ }
+ buffer := gopacket.NewSerializeBuffer()
+ options := gopacket.SerializeOptions{
+ ComputeChecksums: true,
+ FixLengths: true,
+ }
+
+ if err := gopacket.SerializeLayers(buffer, options, igmp); err != nil {
+ t.Fatal(err)
+ }
+
+ pkt := gopacket.NewPacket(buffer.Bytes(), layers.LayerTypeIGMP, gopacket.DecodeOptions{})
+
+ res := packetHandlers.IsIgmpPacket(pkt)
+ assert.Equal(t, res, true)
+}
+
func Test_IsLldpPacket_True(t *testing.T) {
layer := &layers.LinkLayerDiscovery{
PortID: layers.LLDPPortID{