Subject: Ethernet Input Processing
To: None <tech-net@netbsd.org>
From: Michael Hertrick <m.hertrick@neovera.com>
List: tech-net
Date: 11/18/2003 00:45:55
I'm a little confused by the ether_input function in if_ethersubr.c.  It 
seems that no matter what I do to it, I can't get packets destined to an 
ethernet multicast address to be dropped when they match certain 
criteria.  Honestly, I'm not sure if this is specific to multicast 
addresses...that just happens to be what I'm using.  For example, the 
goal is to have a packet destined for 01:00:5e:00:01:XX dropped if the 
CARP interface is in the backup state and processed only when it's in 
the master state. 

It looks to me like ether_input isn't even being used.  True?  Half-true?

So, I started looking for where the ether_input function is called from 
the drivers I'm using (fxp and ex).  Couldn't find it.  In fact, I can 
only find ether_input called from a few drivers. 

http://www.netbsd.org/Documentation/kernel/porting-freebsd-net.html says 
"NetBSD: whole packet, indirectly through ifp->ifp_input", but I can't 
find ifp_input used anywhere either.

 From where do I need to call the CARP state checks to accomplish my goal?

Thanks,
Mike.