Page MenuHomeFreeBSD

Overhaul if_gre(4).
ClosedPublic

Authored by ae on Oct 29 2014, 9:27 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 16, 1:52 AM
Unknown Object (File)
Tue, Apr 16, 1:52 AM
Unknown Object (File)
Mar 14 2024, 6:28 AM
Unknown Object (File)
Mar 14 2024, 6:28 AM
Unknown Object (File)
Feb 9 2024, 1:03 AM
Unknown Object (File)
Jan 30 2024, 6:17 PM
Unknown Object (File)
Jan 27 2024, 10:38 PM
Unknown Object (File)
Jan 27 2024, 4:39 AM
Subscribers
None

Details

Reviewers
ae
hrs
adrian
Summary

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 support for having 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;

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

ae retitled this revision from to Overhaul if_gre(4)..
ae updated this object.
ae edited the test plan for this revision. (Show Details)
hrs removed a subscriber: hrs.

Update.

  • Fix me_input();
  • Add some include files to fix build.

Remove unrelated patches.

so, if there are no objections I'll just commit this :)

ae added a reviewer: ae.
This revision is now accepted and ready to land.Jan 31 2015, 3:42 PM

Committed in r274246.