]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r274246:
authorae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 6 Jun 2015 12:44:42 +0000 (12:44 +0000)
committerae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 6 Jun 2015 12:44:42 +0000 (12:44 +0000)
commit34baa756f43f15ce63836f170ec0ce46d6033ac6
tree81b52ad7f1c19317f43f86ddbaa0d4b249b2185d
parent2f81a69f8e66858a6622e6972fea89aa96c10b5a
MFC r274246:
  Overhaul if_gre(4).

  Split it 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;
  * correct interface accounting for outgoing datagramms (count only payload size);
  * implement generic support for using IPv6 as delivery header;
  * make implementation conform to the RFC 2784 and partially to RFC 2890;
  * add support for GRE checksums - calculate for outgoing datagramms and check
    for inconming datagramms;
  * add support for sending sequence number in GRE header;
  * remove support of cached routes. 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, that doesn't used in FreeBSD.
    Use our standard ioctls for tunnels.

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

  PR: 164475

MFC r274289 (by bz):
  gcc requires variables to be initialised in two places.  One of them
  is correctly  used only under the same conditional though.

  For module builds properly check if the kernel supports INET or INET6,
  as otherwise various mips kernels without IPv6 support would fail to build.

MFC r274964:
  Add ip_gre.h to ObsoleteFiles.inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@284066 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
18 files changed:
ObsoleteFiles.inc
sbin/ifconfig/ifgre.c
share/man/man4/Makefile
share/man/man4/gre.4
share/man/man4/me.4 [new file with mode: 0644]
sys/conf/NOTES
sys/conf/files
sys/modules/Makefile
sys/modules/if_gif/Makefile
sys/modules/if_gre/Makefile
sys/modules/if_me/Makefile [new file with mode: 0644]
sys/net/if_gre.c
sys/net/if_gre.h
sys/net/if_me.c [new file with mode: 0644]
sys/netinet/ip_gre.c
sys/netinet/ip_gre.h [deleted file]
sys/netinet6/in6_proto.c
sys/netinet6/ip6_gre.c [new file with mode: 0644]