kernel - Port TCP-MD5 (RFC 2385) implementation.
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 6 Sep 2010 18:01:49 +0000 (11:01 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 6 Sep 2010 18:01:49 +0000 (11:01 -0700)
commitb19929283b69fe2facf3900846620a3b688de8df
treeae7f2f5150bc7e4bb6cf6ac68ec575f66f2286f3
parent58b77451e1ffd6b6e986c85d85991f4f63c32f13
kernel - Port TCP-MD5 (RFC 2385) implementation.

I have imported FreeBSD commits r125680, r125681 and r183001 into the
DragonFlyBSD code, it works well for both IPv4 and IPv6 BGP sessions.

This adds TCP_SIGNATURE to IPSEC.

For the uninitiated, this is a TCP option which provides for a means of
authenticating TCP sessions which came into being before IPSEC. It is
still relevant today, however, as it is used by many commercial router
vendors, particularly with BGP, and as such has become a requirement for
interconnect at many major Internet points of presence.

Tested with a Cisco 2611XM running IOS 12.3(24), and Quagga 0.99.17

Submitted-by: David =?iso-8859-1?Q?B=C9RARD?= <david@nfrance.com>
Ported-from: FreeBSD
13 files changed:
sys/conf/options
sys/config/LINT
sys/netinet/ip.h
sys/netinet/ip_output.c
sys/netinet/tcp.h
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_syncache.c
sys/netinet/tcp_usrreq.c
sys/netinet/tcp_var.h
sys/netinet6/ipsec.h
sys/netproto/key/key.c