Programming interface MAC filter without enabling PROMISC on an interface from user space.

Tom Judge tom at tomjudge.com
Mon Jan 14 07:07:39 PST 2008


Hi,

I have just started experimenting with OpenLLDP and come across a little 
bit of a nasty.  When it opens the interface, it puts it into PROMISC 
mode,  which I don't really want to happen.  Is there any way to add the 
LLDP MAC address (01-80-C2-00-00-0E) to the interface mac filter from 
user space, so that the interface does not have to be set to PROMISC?

The OpenLLDP uses BPF to interface with the network stack as it has to 
send and receive RAW Ethernet frames (ether type 88-CC).


If this is not possible where would one start with moving the LLDP 
implementation into the kernel.  I was thinking of 3 options:

* Having a virtual interface (like vlan/carp) that attaches to a parent 
that processes the packages.

* A netgraph node to processes the packets and send responses.

* A core protocol handler that deals with the hole thing for any 
Ethernet capable interface.

Any help with this would be greatly appreciated.

Tom


More information about the freebsd-net mailing list