Subject: Re: new EtherIP driver for 4.0
To: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
From: Rui Paulo <rpaulo@fnop.net>
List: tech-net
Date: 10/31/2006 15:09:01
Hi,

On Oct 31, 2006, at 2:36 PM, Hans Rosenfeld wrote:

> Hi,
>
> I wrote a new EtherIP driver for 4.0 based on tap(4) and gif(4).
>
> I did this because the current EtherIP implementation is buggy
> (kern/34268), quite unclean (it magically works by bridging a gif
> interface) and, as I have been told, its way of hijacking a random
> ethernet interfaces input routine to insert packets into the bridge is
> at least questionable. It is also not possible to use bridge features
> like STP with the current implementation.
>
> The new driver presents itself to the system as a virtual ethernet
> interface just like tap that has to be configured for tunnelling just
> like gif.
>
> The driver can be found in http://headcrashers.org/comp/programs/ 
> etherip.tar.gz
>
> This tarball is supposed to be extracted in /usr/src. This will create
> the following files:
>
> etherip.diff
> share/man/man4/etherip.4
> sys/net/if_etherip.c
> sys/net/if_etherip.h
> sys/netinet/ip_etherip.c
> sys/netinet/ip_etherip.h
> sys/netinet6/ip6_etherip.c
> sys/netinet6/ip6_etherip.h
>
> The diff will remove the current EtherIP implementation from gif(4)  
> and
> bridge(4) and register the new files in share/man/man4/Makefile,
> sys/net/Makefile, sys/conf/files.
>
> To actually use it one has to add "pseudo-device etherip" to the
> kernel configuration file.
>
> Please try it and review the code, I would really like to get some
> feedback about this. (And I would love to see this in 4.0 :))

I took a very skim look and I couldn't find anything obviously wrong.  
There are some KNF nits but nothing important.

Thanks for doing this, I'll try to play with it when I have more  
spare time!

--
Rui Paulo