X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mbd%2Fmbd.pl;h=4900c1b21498a4a6f32e399f3fee2cab1daaf58f;hb=1e7869f8141084245dcd34fb065f38a418517e7b;hp=4b73ac9b4e1e484a1b20b28cc4d288664e657b6b;hpb=9725b2cf4b9f59d38b6aa2e45c2da91766c90c91;p=nms diff --git a/mbd/mbd.pl b/mbd/mbd.pl index 4b73ac9..4900c1b 100644 --- a/mbd/mbd.pl +++ b/mbd/mbd.pl @@ -200,25 +200,10 @@ while (1) { my $num_nets = 0; for my $net (@Config::networks) { - next if (cache_cidrlookup(inet_ntoa($saddr), $net)); - my ($range) = cache_cidrrange($net); $range =~ /-(.*?)$/; my $broadcast = $1; - $sendsock->set({ - ip => { - saddr => inet_ntoa($saddr), - daddr => $broadcast - }, - udp => { - source => $sport, - dest => $dport, - data => $data - } - }); - $sendsock->send; - if ($survey) { $sendsock->set({ ip => { @@ -234,6 +219,21 @@ while (1) { $sendsock->send; } + next if (cache_cidrlookup(inet_ntoa($saddr), $net)); + + $sendsock->set({ + ip => { + saddr => inet_ntoa($saddr), + daddr => $broadcast + }, + udp => { + source => $sport, + dest => $dport, + data => $data + } + }); + $sendsock->send; + ++$num_nets; }