lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] UDP bradcast frames filtering


From: Gene Cumm
Subject: Re: [lwip-users] UDP bradcast frames filtering
Date: Tue, 19 Sep 2017 06:31:35 -0400

On Tue, Sep 19, 2017 at 12:13 AM, Pranita Gujarathi
<address@hidden> wrote:
>
> We are receiving 4 UDP frames (broadcast) at 2 ms interval but these frames
> are not meant for us. We have discarded these broadcast frames in
> udp_input() function.

> These frames are received at repetitive interval like; 4 frames at 2ms
> interval each, then after 100 ms again 4 frames and repeated.

> UDP broadcast frames which are meant for us are received at 7-8 ms interval
> time. But due to above repetitive behaviour, performance is degraded.
>
> Can we filter out these unwanted broadcast UDP frames at earlier level? Is
> there any other way not to degrade the performance?

It's my understanding that udp_input() is the master UDP demultiplexer
and the earliest level lwIP should be directly filtering.

In my opinion (without the deeper details of the frames), this sounds
like justification for network-level controls.  Boadcast must be
processed by everyone within a broadcast domain without network level
filtering (typically).  On the other hand, multicast can not only be
routed between subnets/broadcast domains (mostly within a single
organization), multicast can also be monitored by Ethernet switches to
only send frames down ports that are a part of the multicast group.

Proper use of multicast controls (IGMP/PIM) or broadcast controls
(VLANs for different subnets) at a network level sound like the
solution, especially if your systems are that sensitive to so little
traffic.  I've had to build VLANs for devices that have had comparable
requirements before.  Although at such a low broadcast rate (40 pps of
undesired UDP traffic and ~142 pps of desired traffic), it might be
time to consider a more powerful hardware platform.

-- 
-Gene



reply via email to

[Prev in Thread] Current Thread [Next in Thread]