Fixed IPv6 handler to ignore original-broadcast when regiistered as a foreign-device (#898)

This commit is contained in:
Steve Karg
2025-01-29 15:28:35 -06:00
committed by GitHub
parent d4a32171b7
commit 4d0c626c1d
+10 -3
View File
@@ -735,9 +735,11 @@ int bvlc6_bbmd_disabled_handler(
break; break;
case BVLC6_ORIGINAL_BROADCAST_NPDU: case BVLC6_ORIGINAL_BROADCAST_NPDU:
PRINTF("BIP6: Received Original-Broadcast-NPDU.\n"); PRINTF("BIP6: Received Original-Broadcast-NPDU.\n");
if (bbmd6_address_match_self(addr)) { if (Remote_BBMD.port) {
/* ignore messages from my IPv6 address */ PRINTF("BIP6: Ignore Original-Broadcast-NPDU when "
PRINTF("BIP6: Original-Broadcast-NPDU is me!\n"); "registered as a foreign device.\n");
} else if (bbmd6_address_match_self(addr)) {
PRINTF("BIP6: Ignore Original-Broadcast-NPDU from self!\n");
} else { } else {
function_len = bvlc6_decode_original_broadcast( function_len = bvlc6_decode_original_broadcast(
pdu, pdu_len, &vmac_src, NULL, 0, &npdu_len); pdu, pdu_len, &vmac_src, NULL, 0, &npdu_len);
@@ -912,6 +914,11 @@ int bvlc6_bbmd_enabled_handler(
break; break;
case BVLC6_ORIGINAL_BROADCAST_NPDU: case BVLC6_ORIGINAL_BROADCAST_NPDU:
PRINTF("BIP6: Received Original-Broadcast-NPDU.\n"); PRINTF("BIP6: Received Original-Broadcast-NPDU.\n");
if (Remote_BBMD.port) {
PRINTF("BIP6: Ignore Original-Broadcast-NPDU when "
"registered as a foreign device.\n");
break;
}
function_len = bvlc6_decode_original_broadcast( function_len = bvlc6_decode_original_broadcast(
pdu, pdu_len, &vmac_src, NULL, 0, &npdu_len); pdu, pdu_len, &vmac_src, NULL, 0, &npdu_len);
if (function_len) { if (function_len) {