From 0ab07783463c1240a363e18ddf756edf6f287c73 Mon Sep 17 00:00:00 2001 From: folkert Date: Thu, 6 Jun 2024 20:11:25 +0200 Subject: [PATCH] do not forward multicast --- ipv4.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ipv4.cpp b/ipv4.cpp index f55b44d..e99057a 100644 --- a/ipv4.cpp +++ b/ipv4.cpp @@ -205,7 +205,8 @@ void ipv4::operator()() int payload_size = size - header_size; if (pkt_dst != myip) { - if (forward) { + // do not forward multicast + if (forward && (pkt_dst[0] & 0xf0) != 224) { CDOLOG(ll_debug, pkt->get_log_prefix().c_str(), "forwarding packet to router\n"); r->route_packet({ }, 0x0800, pkt_dst, pkt->get_src_mac_addr(), pkt_src, p, size);