[RFC][RFT] overhaul if_gre(4)

Andrey V. Elsukov bu7cher at yandex.ru
Wed Oct 29 09:35:52 UTC 2014

Hi All,

I prepared the patch for review

Split if_gre(4) into two modules, if_gre(4) for GRE encapsulation
and if_me(4) for minimal encapsulation within IP.

gre(4) changes:

* convert to if_transmit;
* rework locking: protect access to softc with rmlock, protect from
concurrent ioctls with sx lock;
* make implementation conform to the RFC 2784 and partially to RFC 2890;
* correct interface accounting for outgoing datagramms (count only
payload size);
* implement generic support for using IPv6 as delivery header;
* add support for GRE checksums - calculate for outgoing datagramms and
check for inconming datagramms;
* add support for sending sequence number in GRE header;
* remove caching routes support. This fixes problem, when gre(4) doesn't
work at system startup. But this also removes ability to have tunnels
with the same addresses for inner and outer header.
* deprecate support for various GREXXX ioctls, use our standard ioctls
for tunnels.

* use the same locking model as gre(4);
* use if_transmit;
* implementation conform to RFC 2004;

WBR, Andrey V. Elsukov

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 538 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20141029/6ca7b787/attachment.sig>

More information about the freebsd-current mailing list