diff --git a/internal/bbsim/packetHandlers/filters.go b/internal/bbsim/packetHandlers/filters.go
index 9ada88c..c46f87d 100644
--- a/internal/bbsim/packetHandlers/filters.go
+++ b/internal/bbsim/packetHandlers/filters.go
@@ -30,6 +30,13 @@
 	return false
 }
 
+func IsIgmpPacket(pkt gopacket.Packet) bool {
+	if igmpLayer := pkt.Layer(layers.LayerTypeIGMP); igmpLayer != nil {
+		return true
+	}
+	return false
+}
+
 func IsLldpPacket(pkt gopacket.Packet) bool {
 	if layer := pkt.Layer(layers.LayerTypeLinkLayerDiscovery); layer != nil {
 		return true
@@ -78,11 +85,13 @@
 }
 
 // returns wether it's an EAPOL or DHCP packet, error if it's none
-func IsEapolOrDhcp(pkt gopacket.Packet) (PacketType, error) {
+func GetPktType(pkt gopacket.Packet) (PacketType, error) {
 	if pkt.Layer(layers.LayerTypeEAP) != nil || pkt.Layer(layers.LayerTypeEAPOL) != nil {
 		return EAPOL, nil
 	} else if IsDhcpPacket(pkt) {
 		return DHCP, nil
+	} else if IsIgmpPacket(pkt) {
+		return IGMP, nil
 	}
-	return UNKNOWN, errors.New("packet-is-neither-eapol-or-dhcp")
+	return UNKNOWN, errors.New("unknown-packet-type")
 }
