[ECOS] raw socket at link layer

Andrew Lunn andrew.lunn@ascom.ch
Wed Jul 18 06:22:00 GMT 2001


On Wed, Jul 18, 2001 at 01:51:40AM -0700, Weilong Li wrote:
> I am trying to do sniff under ecos.
> However, in linux, it eithers give me choice to
> use SOCK_PACKET, or use PF_PACKET to make socket
> at link layer level,
> 
> int fd=socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP));
> or
> int fd=socket(AF_INET, SOCK_PACKET, htons(ETH_P_IP));
> 
> but under ecos's tcp/ip stack,
> it neither gives SOCK_PACKET, or PF_PACKET, or
> ETH_P_IP, so how to do the sniff?

In OpenBSD this is done using the BPF, the Berkley Packet Filter. The
eCos port of the OpenBSD stack does not include the BPF code. So you
first need to add in the BPF code into the eCos stack. Goto
www.openbsd.org for the code you need to intergrate.

        Andrew



More information about the Ecos-discuss mailing list