[RFC][RFT] overhaul if_gre(4)

From: Andrey V. Elsukov <bu7cher_at_yandex.ru>
Date: Wed, 29 Oct 2014 12:35:33 +0300
Hi All,

I prepared the patch for review
  https://reviews.freebsd.org/D1023

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.

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

-- 
WBR, Andrey V. Elsukov


Received on Wed Oct 29 2014 - 08:35:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:53 UTC