Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Nov 2014 21:33:02 +0000 (UTC)
From:      "Alexander V. Chernikov" <melifaro@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r274331 - in head: . etc etc/defaults etc/rc.d lib/libc/net release/picobsd/bridge release/picobsd/qemu share/man/man4 share/man/man5 sys/amd64/conf sys/arm/conf sys/boot/forth sys/conf...
Message-ID:  <201411092133.sA9LX2FI021044@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: melifaro
Date: Sun Nov  9 21:33:01 2014
New Revision: 274331
URL: https://svnweb.freebsd.org/changeset/base/274331

Log:
  Renove faith(4) and faithd(8) from base. It looks like industry
  have chosen different (and more traditional) stateless/statuful
  NAT64 as translation mechanism. Last non-trivial commits to both
  faith(4) and faithd(8) happened more than 12 years ago, so I assume
  it is time to drop RFC3142 in FreeBSD.
  
  No objections from:	net@

Deleted:
  head/etc/rc.d/faith
  head/share/man/man4/faith.4
  head/sys/modules/if_faith/
  head/sys/net/if_faith.c
  head/usr.sbin/faithd/
Modified:
  head/ObsoleteFiles.inc
  head/UPDATING
  head/etc/defaults/rc.conf
  head/etc/network.subr
  head/etc/rc.d/Makefile
  head/etc/rc.d/NETWORKING
  head/etc/rc.d/bridge
  head/etc/rc.d/defaultroute
  head/etc/rc.d/routing
  head/lib/libc/net/getaddrinfo.c
  head/lib/libc/net/getnameinfo.c
  head/release/picobsd/bridge/PICOBSD
  head/release/picobsd/qemu/PICOBSD
  head/share/man/man4/Makefile
  head/share/man/man4/inet6.4
  head/share/man/man4/ip6.4
  head/share/man/man5/rc.conf.5
  head/sys/amd64/conf/GENERIC
  head/sys/arm/conf/ATMEL
  head/sys/arm/conf/DOCKSTAR
  head/sys/arm/conf/DREAMPLUG-1001
  head/sys/arm/conf/EFIKA_MX
  head/sys/arm/conf/ETHERNUT5
  head/sys/arm/conf/IMX53
  head/sys/arm/conf/IMX6
  head/sys/arm/conf/SAM9260EK
  head/sys/boot/forth/loader.conf
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/i386/conf/GENERIC
  head/sys/i386/conf/XBOX
  head/sys/i386/conf/XEN
  head/sys/mips/conf/GXEMUL
  head/sys/mips/conf/GXEMUL32
  head/sys/mips/conf/OCTEON1
  head/sys/mips/rmi/rootfs_list.txt
  head/sys/modules/Makefile
  head/sys/net/if_types.h
  head/sys/netinet/in.h
  head/sys/netinet/in_pcb.c
  head/sys/netinet/in_pcb.h
  head/sys/netinet/ip_icmp.c
  head/sys/netinet/ip_input.c
  head/sys/netinet/ip_output.c
  head/sys/netinet6/icmp6.c
  head/sys/netinet6/in6.c
  head/sys/netinet6/in6.h
  head/sys/netinet6/in6_pcb.c
  head/sys/netinet6/in6_proto.c
  head/sys/netinet6/ip6_output.c
  head/sys/netinet6/ip6_var.h
  head/sys/netinet6/raw_ip6.c
  head/sys/netinet6/sctp6_usrreq.c
  head/sys/netinet6/udp6_usrreq.c
  head/sys/pc98/conf/GENERIC
  head/sys/powerpc/conf/GENERIC
  head/sys/powerpc/conf/GENERIC64
  head/sys/powerpc/conf/WII
  head/sys/sparc64/conf/GENERIC
  head/tools/build/mk/OptionalObsoleteFiles.inc
  head/tools/tools/nanobsd/pcengines/ALIX_DSK
  head/tools/tools/nanobsd/pcengines/ALIX_NFS
  head/tools/tools/sysdoc/tunables.mdoc
  head/tools/tools/tinybsd/conf/default/TINYBSD
  head/tools/tools/tinybsd/conf/vpn/TINYBSD
  head/tools/tools/tinybsd/conf/wrap/TINYBSD
  head/usr.sbin/Makefile
  head/usr.sbin/bsdconfig/networking/share/device.subr
  head/usr.sbin/inetd/inetd.c

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/ObsoleteFiles.inc	Sun Nov  9 21:33:01 2014	(r274331)
@@ -38,6 +38,12 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20141109: faith/faithd removal
+OLD_FILES+=etc/rc.d/faith
+OLD_FILES+=usr/share/man/man4/faith.4.gz
+OLD_FILES+=usr/share/man/man4/if_faith.4.gz
+OLD_FILES+=usr/sbin/faithd
+OLD_FILES+=usr/share/man/man8/faithd.8.gz
 # 20141102: postrandom obsoleted by new /dev/random code
 OLD_FILES+=etc/rc.d/postrandom
 # 20141031: initrandom obsoleted by new /dev/random code

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/UPDATING	Sun Nov  9 21:33:01 2014	(r274331)
@@ -31,6 +31,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20141109:
+	faith(4) and faithd(8) has been removed from base system. It
+	has been obsolete for a very long time.
+
 20141104:
 	vt(4), the new console driver, is enabled by default. It brings
 	support for Unicode and double-width characters, as well as

Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/defaults/rc.conf	Sun Nov  9 21:33:01 2014	(r274331)
@@ -514,9 +514,6 @@ stf_interface_ipv4plen="0"	# Prefix leng
 stf_interface_ipv6_ifid="0:0:0:1"	# IPv6 interface id for stf0.
 				# If you like, you can set "AUTO" for this.
 stf_interface_ipv6_slaid="0000"	# IPv6 Site Level Aggregator for stf0
-ipv6_faith_prefix="NO"		# Set faith prefix to enable a FAITH
-				# IPv6-to-IPv4 TCP translator.  You also need
-				# faithd(8) setup.
 ipv6_ipv4mapping="NO"		# Set to "YES" to enable IPv4 mapped IPv6 addr
 				# communication. (like ::ffff:a.b.c.d)
 ipv6_ipfilter_rules="/etc/ipf6.rules"	# rules definition file for ipfilter,

Modified: head/etc/network.subr
==============================================================================
--- head/etc/network.subr	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/network.subr	Sun Nov  9 21:33:01 2014	(r274331)
@@ -372,7 +372,6 @@ dhcpif()
 	case $1 in
 	lo[0-9]*|\
 	stf[0-9]*|\
-	faith[0-9]*|\
 	lp[0-9]*|\
 	sl[0-9]*)
 		return 1
@@ -591,7 +590,6 @@ ipv6_autoconfif()
 	case $_if in
 	lo[0-9]*|\
 	stf[0-9]*|\
-	faith[0-9]*|\
 	lp[0-9]*|\
 	sl[0-9]*)
 		return 1

Modified: head/etc/rc.d/Makefile
==============================================================================
--- head/etc/rc.d/Makefile	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/rc.d/Makefile	Sun Nov  9 21:33:01 2014	(r274331)
@@ -42,7 +42,6 @@ FILES=	DAEMON \
 	dhclient \
 	dmesg \
 	dumpon \
-	faith \
 	fsck \
 	ftpd \
 	gbde \

Modified: head/etc/rc.d/NETWORKING
==============================================================================
--- head/etc/rc.d/NETWORKING	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/rc.d/NETWORKING	Sun Nov  9 21:33:01 2014	(r274331)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: NETWORKING NETWORK
-# REQUIRE: netif netoptions routing ppp ipfw stf faith
+# REQUIRE: netif netoptions routing ppp ipfw stf
 # REQUIRE: defaultroute routed mrouted route6d mroute6d resolv bridge
 # REQUIRE: static_arp static_ndp local_unbound
 

Modified: head/etc/rc.d/bridge
==============================================================================
--- head/etc/rc.d/bridge	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/rc.d/bridge	Sun Nov  9 21:33:01 2014	(r274331)
@@ -26,7 +26,7 @@
 #
 
 # PROVIDE: bridge
-# REQUIRE: netif faith ppp stf
+# REQUIRE: netif ppp stf
 # KEYWORD: nojail
 
 . /etc/rc.subr

Modified: head/etc/rc.d/defaultroute
==============================================================================
--- head/etc/rc.d/defaultroute	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/rc.d/defaultroute	Sun Nov  9 21:33:01 2014	(r274331)
@@ -6,7 +6,7 @@
 #
 
 # PROVIDE: defaultroute
-# REQUIRE: devd faith netif stf
+# REQUIRE: devd netif stf
 # KEYWORD: nojail
 
 . /etc/rc.subr

Modified: head/etc/rc.d/routing
==============================================================================
--- head/etc/rc.d/routing	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/etc/rc.d/routing	Sun Nov  9 21:33:01 2014	(r274331)
@@ -6,7 +6,7 @@
 #
 
 # PROVIDE: routing
-# REQUIRE: faith netif ppp stf
+# REQUIRE: netif ppp stf
 # KEYWORD: nojailvnet
 
 . /etc/rc.subr
@@ -245,7 +245,7 @@ static_inet6()
 			[Nn][Oo][Nn][Ee])
 				return
 				;;
-			lo0|faith[0-9]*)
+			lo0)
 				continue
 				;;
 			esac

Modified: head/lib/libc/net/getaddrinfo.c
==============================================================================
--- head/lib/libc/net/getaddrinfo.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/lib/libc/net/getaddrinfo.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -30,8 +30,6 @@
  */
 
 /*
- * "#ifdef FAITH" part is local hack for supporting IPv4-v6 translator.
- *
  * Issues to be discussed:
  * - Return values.  There are nonstandard return values defined and used
  *   in the source code.  This is because RFC2553 is silent about which error
@@ -101,10 +99,6 @@ __FBSDID("$FreeBSD$");
 #include "nscache.h"
 #endif
 
-#if defined(__KAME__) && defined(INET6)
-# define FAITH
-#endif
-
 #define ANY 0
 #define YES 1
 #define NO  0
@@ -1316,47 +1310,6 @@ get_ai(const struct addrinfo *pai, const
 {
 	char *p;
 	struct addrinfo *ai;
-#ifdef FAITH
-	struct in6_addr faith_prefix;
-	char *fp_str;
-	int translate = 0;
-#endif
-
-#ifdef FAITH
-	/*
-	 * Transfrom an IPv4 addr into a special IPv6 addr format for
-	 * IPv6->IPv4 translation gateway. (only TCP is supported now)
-	 *
-	 * +-----------------------------------+------------+
-	 * | faith prefix part (12 bytes)      | embedded   |
-	 * |                                   | IPv4 addr part (4 bytes)
-	 * +-----------------------------------+------------+
-	 *
-	 * faith prefix part is specified as ascii IPv6 addr format
-	 * in environmental variable GAI.
-	 * For FAITH to work correctly, routing to faith prefix must be
-	 * setup toward a machine where a FAITH daemon operates.
-	 * Also, the machine must enable some mechanizm
-	 * (e.g. faith interface hack) to divert those packet with
-	 * faith prefixed destination addr to user-land FAITH daemon.
-	 */
-	fp_str = getenv("GAI");
-	if (fp_str && inet_pton(AF_INET6, fp_str, &faith_prefix) == 1 &&
-	    afd->a_af == AF_INET && pai->ai_socktype == SOCK_STREAM) {
-		u_int32_t v4a;
-		u_int8_t v4a_top;
-
-		memcpy(&v4a, addr, sizeof v4a);
-		v4a_top = v4a >> IN_CLASSA_NSHIFT;
-		if (!IN_MULTICAST(v4a) && !IN_EXPERIMENTAL(v4a) &&
-		    v4a_top != 0 && v4a != IN_LOOPBACKNET) {
-			afd = &afdl[N_INET6];
-			memcpy(&faith_prefix.s6_addr[12], addr,
-			       sizeof(struct in_addr));
-			translate = 1;
-		}
-	}
-#endif
 
 	ai = (struct addrinfo *)malloc(sizeof(struct addrinfo)
 		+ (afd->a_socklen));
@@ -1370,11 +1323,6 @@ get_ai(const struct addrinfo *pai, const
 	ai->ai_addrlen = afd->a_socklen;
 	ai->ai_addr->sa_family = ai->ai_family = afd->a_af;
 	p = (char *)(void *)(ai->ai_addr);
-#ifdef FAITH
-	if (translate == 1)
-		memcpy(p + afd->a_off, &faith_prefix, (size_t)afd->a_addrlen);
-	else
-#endif
 	memcpy(p + afd->a_off, addr, (size_t)afd->a_addrlen);
 	return ai;
 }

Modified: head/lib/libc/net/getnameinfo.c
==============================================================================
--- head/lib/libc/net/getnameinfo.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/lib/libc/net/getnameinfo.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -414,7 +414,6 @@ getnameinfo_link(const struct sockaddr *
 	/*
 	 * The following have zero-length addresses.
 	 * IFT_ATM	(net/if_atmsubr.c)
-	 * IFT_FAITH	(net/if_faith.c)
 	 * IFT_GIF	(net/if_gif.c)
 	 * IFT_LOOP	(net/if_loop.c)
 	 * IFT_PPP	(net/if_ppp.c, net/if_spppsubr.c)

Modified: head/release/picobsd/bridge/PICOBSD
==============================================================================
--- head/release/picobsd/bridge/PICOBSD	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/release/picobsd/bridge/PICOBSD	Sun Nov  9 21:33:01 2014	(r274331)
@@ -109,7 +109,6 @@ device		tun		# Packet tunnel.
 device		pty		# Pseudo-ttys (telnet etc)
 device		md		# Memory "disks"
 #device		gif	4	# IPv6 and IPv4 tunneling
-#device		faith	1	# IPv6-to-IPv4 relaying (translation)
 device		tap
 
 #options               DEVICE_POLLING

Modified: head/release/picobsd/qemu/PICOBSD
==============================================================================
--- head/release/picobsd/qemu/PICOBSD	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/release/picobsd/qemu/PICOBSD	Sun Nov  9 21:33:01 2014	(r274331)
@@ -114,7 +114,6 @@ device		tun		# Packet tunnel.
 device		pty		# Pseudo-ttys (telnet etc)
 device		md		# Memory "disks"
 #device		gif	4	# IPv6 and IPv4 tunneling
-#device		faith	1	# IPv6-to-IPv4 relaying (translation)
 device		tap
 
 #options 	VIMAGE		# soner or later we may want to test this

Modified: head/share/man/man4/Makefile
==============================================================================
--- head/share/man/man4/Makefile	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/share/man/man4/Makefile	Sun Nov  9 21:33:01 2014	(r274331)
@@ -132,7 +132,6 @@ MAN=	aac.4 \
 	et.4 \
 	eventtimers.4 \
 	exca.4 \
-	faith.4 \
 	fatm.4 \
 	fd.4 \
 	fdc.4 \
@@ -637,7 +636,6 @@ MLINKS+=en.4 if_en.4
 MLINKS+=enc.4 if_enc.4
 MLINKS+=epair.4 if_epair.4
 MLINKS+=et.4 if_et.4
-MLINKS+=faith.4 if_faith.4
 MLINKS+=fatm.4 if_fatm.4
 MLINKS+=fd.4 stderr.4 \
 	fd.4 stdin.4 \

Modified: head/share/man/man4/inet6.4
==============================================================================
--- head/share/man/man4/inet6.4	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/share/man/man4/inet6.4	Sun Nov  9 21:33:01 2014	(r274331)
@@ -241,17 +241,6 @@ Defaults to off.
 Boolean: the default value of a per-interface flag to
 enable/disable performing automatic link-local address configuration.
 Defaults to on.
-.It Dv IPV6CTL_KEEPFAITH
-.Pq ip6.keepfaith
-Boolean: enable/disable
-.Dq FAITH
-TCP relay IPv6-to-IPv4 translator code in the kernel.
-Refer
-.Xr faith 4
-and
-.Xr faithd 8
-for detail.
-Defaults to off.
 .It Dv IPV6CTL_LOG_INTERVAL
 .Pq ip6.log_interval
 Integer: default interval between

Modified: head/share/man/man4/ip6.4
==============================================================================
--- head/share/man/man4/ip6.4	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/share/man/man4/ip6.4	Sun Nov  9 21:33:01 2014	(r274331)
@@ -393,10 +393,6 @@ For wildcard sockets, this can restrict 
 .\".Ox
 .\"IPv6 sockets are always IPv6-only, so the socket option is read-only
 .\"(not modifiable).
-.It Dv IPV6_FAITH Fa "int *"
-Get or set the status of whether
-.Xr faith 4
-connections can be made to this socket.
 .It Dv IPV6_USE_MIN_MTU Fa "int *"
 Get or set whether the minimal IPv6 maximum transmission unit (MTU) size
 will be used to avoid fragmentation from occurring for subsequent

Modified: head/share/man/man5/rc.conf.5
==============================================================================
--- head/share/man/man5/rc.conf.5	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/share/man/man5/rc.conf.5	Sun Nov  9 21:33:01 2014	(r274331)
@@ -2948,15 +2948,6 @@ This can be set to
 .Pq Vt str
 IPv6 Site Level Aggregator for
 .Xr stf 4 .
-.It Va ipv6_faith_prefix
-.Pq Vt str
-If not set to
-.Dq Li NO ,
-this is the faith prefix to enable a FAITH IPv6-to-IPv4 TCP
-translator.
-You also need
-.Xr faithd 8
-setup.
 .It Va ipv6_ipv4mapping
 .Pq Vt bool
 If set to

Modified: head/sys/amd64/conf/GENERIC
==============================================================================
--- head/sys/amd64/conf/GENERIC	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/amd64/conf/GENERIC	Sun Nov  9 21:33:01 2014	(r274331)
@@ -310,7 +310,6 @@ device		vlan			# 802.1Q VLAN support
 device		tun			# Packet tunnel.
 device		md			# Memory "disks"
 device		gif			# IPv6 and IPv4 tunneling
-device		faith			# IPv6-to-IPv4 relaying (translation)
 device		firmware		# firmware assist module
 
 # The `bpf' device enables the Berkeley Packet Filter.

Modified: head/sys/arm/conf/ATMEL
==============================================================================
--- head/sys/arm/conf/ATMEL	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/ATMEL	Sun Nov  9 21:33:01 2014	(r274331)
@@ -143,7 +143,6 @@ device		vlan			# 802.1Q VLAN support
 device		tun			# Packet tunnel.
 device		md			# Memory "disks"
 device		gif			# IPv6 and IPv4 tunneling
-device		faith			# IPv6-to-IPv4 relaying (translation)
 #device		firmware		# firmware assist module
 
 # SCSI peripherals

Modified: head/sys/arm/conf/DOCKSTAR
==============================================================================
--- head/sys/arm/conf/DOCKSTAR	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/DOCKSTAR	Sun Nov  9 21:33:01 2014	(r274331)
@@ -54,7 +54,6 @@ options 	FDT_DTB_STATIC
 
 # Misc pseudo devices
 device		bpf			# Required for DHCP
-device  	faith			# IPv6-to-IPv4 relaying (translation)
 device  	firmware		# firmware(9) required for USB wlan
 device  	gif			# IPv6 and IPv4 tunneling
 device		loop			# Network loopback

Modified: head/sys/arm/conf/DREAMPLUG-1001
==============================================================================
--- head/sys/arm/conf/DREAMPLUG-1001	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/DREAMPLUG-1001	Sun Nov  9 21:33:01 2014	(r274331)
@@ -57,7 +57,6 @@ options 	FDT_DTB_STATIC
 
 # Misc pseudo devices
 device		bpf			# Required for DHCP
-device  	faith			# IPv6-to-IPv4 relaying (translation)
 device  	firmware		# firmware(9) required for USB wlan
 device  	gif			# IPv6 and IPv4 tunneling
 device		loop			# Network loopback

Modified: head/sys/arm/conf/EFIKA_MX
==============================================================================
--- head/sys/arm/conf/EFIKA_MX	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/EFIKA_MX	Sun Nov  9 21:33:01 2014	(r274331)
@@ -104,7 +104,6 @@ device		ether			# Ethernet support
 #device		tun			# Packet tunnel.
 #device		md			# Memory "disks"
 #device		gif			# IPv6 and IPv4 tunneling
-#device		faith			# IPv6-to-IPv4 relaying (translation)
 #device		firmware		# firmware assist module
 
 # Serial (COM) ports

Modified: head/sys/arm/conf/ETHERNUT5
==============================================================================
--- head/sys/arm/conf/ETHERNUT5	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/ETHERNUT5	Sun Nov  9 21:33:01 2014	(r274331)
@@ -136,7 +136,6 @@ device		ether			# Ethernet support
 #device		tun			# Packet tunnel.
 #device		md			# Memory "disks"
 #device		gif			# IPv6 and IPv4 tunneling
-#device		faith			# IPv6-to-IPv4 relaying (translation)
 #device		firmware		# firmware assist module
 
 # SCSI peripherals

Modified: head/sys/arm/conf/IMX53
==============================================================================
--- head/sys/arm/conf/IMX53	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/IMX53	Sun Nov  9 21:33:01 2014	(r274331)
@@ -92,7 +92,6 @@ device		ether			# Ethernet support
 #device		tun			# Packet tunnel.
 device		md			# Memory "disks"
 #device		gif			# IPv6 and IPv4 tunneling
-#device		faith			# IPv6-to-IPv4 relaying (translation)
 #device		firmware		# firmware assist module
 
 # Ethernet

Modified: head/sys/arm/conf/IMX6
==============================================================================
--- head/sys/arm/conf/IMX6	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/IMX6	Sun Nov  9 21:33:01 2014	(r274331)
@@ -75,7 +75,6 @@ device  	vlan			# 802.1Q VLAN support
 device  	tun			# Packet tunnel.
 device  	md			# Memory "disks"
 #device  	gif			# IPv6 and IPv4 tunneling
-#device  	faith			# IPv6-to-IPv4 relaying (translation)
 #device  	firmware		# firmware assist module
 device  	ether			# Ethernet support
 device  	miibus			# Required for ethernet

Modified: head/sys/arm/conf/SAM9260EK
==============================================================================
--- head/sys/arm/conf/SAM9260EK	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/arm/conf/SAM9260EK	Sun Nov  9 21:33:01 2014	(r274331)
@@ -146,7 +146,6 @@ device		ether			# Ethernet support
 #device		tun			# Packet tunnel.
 #device		md			# Memory "disks"
 #device		gif			# IPv6 and IPv4 tunneling
-#device		faith			# IPv6-to-IPv4 relaying (translation)
 #device		firmware		# firmware assist module
 
 # SCSI peripherals

Modified: head/sys/boot/forth/loader.conf
==============================================================================
--- head/sys/boot/forth/loader.conf	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/boot/forth/loader.conf	Sun Nov  9 21:33:01 2014	(r274331)
@@ -254,7 +254,6 @@ if_disc_load="NO"		# Discard device
 if_ef_load="NO"			# pseudo-device providing support for multiple
 				# ethernet frame types
 if_epair_load="NO"		# Virtual b-t-b Ethernet-like interface pair
-if_faith_load="NO"		# IPv6-to-IPv4 TCP relay capturing interface
 if_gif_load="NO"		# generic tunnel interface
 if_gre_load="NO"		# encapsulating network device
 if_stf_load="NO"		# 6to4 tunnel interface

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/conf/NOTES	Sun Nov  9 21:33:01 2014	(r274331)
@@ -890,10 +890,7 @@ device		gre
 device		me
 options 	XBONEHACK
 
-#  The `faith' device captures packets sent to it and diverts them
-#  to the IPv4/IPv6 translation daemon.
 #  The `stf' device implements 6to4 encapsulation.
-device		faith
 device		stf
 
 # The pf packet filter consists of three devices:

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/conf/files	Sun Nov  9 21:33:01 2014	(r274331)
@@ -3229,7 +3229,6 @@ net/if_edsc.c			optional edsc
 net/if_enc.c			optional enc ipsec inet | enc ipsec inet6
 net/if_epair.c			optional epair
 net/if_ethersubr.c		optional ether
-net/if_faith.c			optional faith
 net/if_fddisubr.c		optional fddi
 net/if_fwsubr.c			optional fwip
 net/if_gif.c			optional gif inet | gif inet6 | \

Modified: head/sys/i386/conf/GENERIC
==============================================================================
--- head/sys/i386/conf/GENERIC	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/i386/conf/GENERIC	Sun Nov  9 21:33:01 2014	(r274331)
@@ -318,7 +318,6 @@ device		vlan			# 802.1Q VLAN support
 device		tun			# Packet tunnel.
 device		md			# Memory "disks"
 device		gif			# IPv6 and IPv4 tunneling
-device		faith			# IPv6-to-IPv4 relaying (translation)
 device		firmware		# firmware assist module
 
 # The `bpf' device enables the Berkeley Packet Filter.

Modified: head/sys/i386/conf/XBOX
==============================================================================
--- head/sys/i386/conf/XBOX	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/i386/conf/XBOX	Sun Nov  9 21:33:01 2014	(r274331)
@@ -66,7 +66,6 @@ device		ether		# Ethernet support
 #device		tun		# Packet tunnel.
 #device		md		# Memory "disks"
 #device		gif		# IPv6 and IPv4 tunneling
-#device		faith		# IPv6-to-IPv4 relaying (translation)
 
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!

Modified: head/sys/i386/conf/XEN
==============================================================================
--- head/sys/i386/conf/XEN	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/i386/conf/XEN	Sun Nov  9 21:33:01 2014	(r274331)
@@ -82,7 +82,6 @@ device		ether		# Ethernet support
 device		tun		# Packet tunnel.
 device		md		# Memory "disks"
 device		gif		# IPv6 and IPv4 tunneling
-device		faith		# IPv6-to-IPv4 relaying (translation)
 
 # Wireless cards
 options 	IEEE80211_SUPPORT_MESH

Modified: head/sys/mips/conf/GXEMUL
==============================================================================
--- head/sys/mips/conf/GXEMUL	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/mips/conf/GXEMUL	Sun Nov  9 21:33:01 2014	(r274331)
@@ -55,7 +55,6 @@ device		ether		# Ethernet support
 device		tun		# Packet tunnel.
 device		md		# Memory "disks"
 device		gif		# IPv6 and IPv4 tunneling
-device		faith		# IPv6-to-IPv4 relaying (translation)
 
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!

Modified: head/sys/mips/conf/GXEMUL32
==============================================================================
--- head/sys/mips/conf/GXEMUL32	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/mips/conf/GXEMUL32	Sun Nov  9 21:33:01 2014	(r274331)
@@ -53,7 +53,6 @@ device		ether		# Ethernet support
 device		tun		# Packet tunnel.
 device		md		# Memory "disks"
 device		gif		# IPv6 and IPv4 tunneling
-device		faith		# IPv6-to-IPv4 relaying (translation)
 
 # The `bpf' device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!

Modified: head/sys/mips/conf/OCTEON1
==============================================================================
--- head/sys/mips/conf/OCTEON1	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/mips/conf/OCTEON1	Sun Nov  9 21:33:01 2014	(r274331)
@@ -261,7 +261,6 @@ device		vlan		# 802.1Q VLAN support
 device		tun		# Packet tunnel.
 device		md		# Memory "disks"
 device		gif		# IPv6 and IPv4 tunneling
-device		faith		# IPv6-to-IPv4 relaying (translation)
 device		firmware	# firmware assist module
 
 # The `bpf' device enables the Berkeley Packet Filter.

Modified: head/sys/mips/rmi/rootfs_list.txt
==============================================================================
--- head/sys/mips/rmi/rootfs_list.txt	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/mips/rmi/rootfs_list.txt	Sun Nov  9 21:33:01 2014	(r274331)
@@ -197,7 +197,6 @@
 ./etc/rc.d/dmesg
 ./etc/rc.d/dumpon
 ./etc/rc.d/encswap
-./etc/rc.d/faith
 ./etc/rc.d/fsck
 ./etc/rc.d/ftp-proxy
 ./etc/rc.d/ftpd

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/modules/Makefile	Sun Nov  9 21:33:01 2014	(r274331)
@@ -145,7 +145,6 @@ SUBDIR=	\
 	if_disc \
 	if_edsc \
 	if_epair \
-	if_faith \
 	${_if_gif} \
 	${_if_gre} \
 	${_if_me} \

Modified: head/sys/net/if_types.h
==============================================================================
--- head/sys/net/if_types.h	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/net/if_types.h	Sun Nov  9 21:33:01 2014	(r274331)
@@ -246,7 +246,6 @@
 /* not based on IANA assignments */
 #define	IFT_GIF		0xf0
 #define	IFT_PVC		0xf1
-#define	IFT_FAITH	0xf2
 #define	IFT_ENC		0xf4
 #define	IFT_PFLOG	0xf6
 #define	IFT_PFSYNC	0xf7

Modified: head/sys/netinet/in.h
==============================================================================
--- head/sys/netinet/in.h	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/in.h	Sun Nov  9 21:33:01 2014	(r274331)
@@ -428,8 +428,7 @@ __END_DECLS
 #define	IP_RECVIF		20   /* bool; receive reception if w/dgram */
 /* for IPSEC */
 #define	IP_IPSEC_POLICY		21   /* int; set/get security policy */
-#define	IP_FAITH		22   /* bool; accept FAITH'ed connections */
-
+				     /* unused; was IP_FAITH */
 #define	IP_ONESBCAST		23   /* bool: send all-ones broadcast */
 #define	IP_BINDANY		24   /* bool: allow bind to any address */
 #define	IP_BINDMULTI		25   /* bool: allow multiple listeners on a tuple */
@@ -630,7 +629,7 @@ int	getsourcefilter(int, uint32_t, struc
 #define	IPCTL_STATS		12	/* ipstat structure */
 #define	IPCTL_ACCEPTSOURCEROUTE	13	/* may accept source routed packets */
 #define	IPCTL_FASTFORWARDING	14	/* use fast IP forwarding code */
-#define	IPCTL_KEEPFAITH		15	/* FAITH IPv4->IPv6 translater ctl */
+					/* 15, unused, was: IPCTL_KEEPFAITH  */
 #define	IPCTL_GIF_TTL		16	/* default TTL for gif encap packet */
 
 #endif /* __BSD_VISIBLE */

Modified: head/sys/netinet/in_pcb.c
==============================================================================
--- head/sys/netinet/in_pcb.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/in_pcb.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -1645,11 +1645,6 @@ in_pcblookup_group(struct inpcbinfo *pcb
 			    inp->inp_lport != lport)
 				continue;
 
-			/* XXX inp locking */
-			if (ifp && ifp->if_type == IFT_FAITH &&
-			    (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP4);
 			if (injail) {
 				if (prison_check_ip4(inp->inp_cred,
@@ -1724,11 +1719,6 @@ in_pcblookup_group(struct inpcbinfo *pcb
 			    inp->inp_lport != lport)
 				continue;
 
-			/* XXX inp locking */
-			if (ifp && ifp->if_type == IFT_FAITH &&
-			    (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP4);
 			if (injail) {
 				if (prison_check_ip4(inp->inp_cred,
@@ -1869,11 +1859,6 @@ in_pcblookup_hash_locked(struct inpcbinf
 			    inp->inp_lport != lport)
 				continue;
 
-			/* XXX inp locking */
-			if (ifp && ifp->if_type == IFT_FAITH &&
-			    (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP4);
 			if (injail) {
 				if (prison_check_ip4(inp->inp_cred,
@@ -2468,10 +2453,6 @@ db_print_inpflags(int inp_flags)
 		db_printf("%sINP_MTUDISC", comma ? ", " : "");
 		comma = 1;
 	}
-	if (inp_flags & INP_FAITH) {
-		db_printf("%sINP_FAITH", comma ? ", " : "");
-		comma = 1;
-	}
 	if (inp_flags & INP_RECVTTL) {
 		db_printf("%sINP_RECVTTL", comma ? ", " : "");
 		comma = 1;

Modified: head/sys/netinet/in_pcb.h
==============================================================================
--- head/sys/netinet/in_pcb.h	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/in_pcb.h	Sun Nov  9 21:33:01 2014	(r274331)
@@ -511,7 +511,7 @@ short	inp_so_options(const struct inpcb 
 #define	INP_ANONPORT		0x00000040 /* port chosen for user */
 #define	INP_RECVIF		0x00000080 /* receive incoming interface */
 #define	INP_MTUDISC		0x00000100 /* user can do MTU discovery */
-#define	INP_FAITH		0x00000200 /* accept FAITH'ed connections */
+				   	   /* 0x000200 unused: was INP_FAITH */
 #define	INP_RECVTTL		0x00000400 /* receive incoming IP TTL */
 #define	INP_DONTFRAG		0x00000800 /* don't fragment packet */
 #define	INP_BINDANY		0x00001000 /* allow bind to any address */

Modified: head/sys/netinet/ip_icmp.c
==============================================================================
--- head/sys/netinet/ip_icmp.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/ip_icmp.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -410,19 +410,6 @@ icmp_input(struct mbuf **mp, int *offp, 
 	m->m_len += hlen;
 	m->m_data -= hlen;
 
-	if (m->m_pkthdr.rcvif && m->m_pkthdr.rcvif->if_type == IFT_FAITH) {
-		/*
-		 * Deliver very specific ICMP type only.
-		 */
-		switch (icp->icmp_type) {
-		case ICMP_UNREACH:
-		case ICMP_TIMXCEED:
-			break;
-		default:
-			goto freeit;
-		}
-	}
-
 #ifdef ICMPPRINTFS
 	if (icmpprintfs)
 		printf("icmp_input, type %d code %d\n", icp->icmp_type,

Modified: head/sys/netinet/ip_input.c
==============================================================================
--- head/sys/netinet/ip_input.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/ip_input.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -104,12 +104,6 @@ SYSCTL_INT(_net_inet_ip, IPCTL_SENDREDIR
     &VNET_NAME(ipsendredirects), 0,
     "Enable sending IP redirects");
 
-static VNET_DEFINE(int, ip_keepfaith);
-#define	V_ip_keepfaith		VNET(ip_keepfaith)
-SYSCTL_INT(_net_inet_ip, IPCTL_KEEPFAITH, keepfaith, CTLFLAG_VNET | CTLFLAG_RW,
-    &VNET_NAME(ip_keepfaith), 0,
-    "Enable packet capture for FAITH IPv4->IPv6 translater daemon");
-
 static VNET_DEFINE(int, ip_sendsourcequench);
 #define	V_ip_sendsourcequench	VNET(ip_sendsourcequench)
 SYSCTL_INT(_net_inet_ip, OID_AUTO, sendsourcequench, CTLFLAG_VNET | CTLFLAG_RW,
@@ -753,18 +747,6 @@ passin:
 		goto ours;
 
 	/*
-	 * FAITH(Firewall Aided Internet Translator)
-	 */
-	if (ifp && ifp->if_type == IFT_FAITH) {
-		if (V_ip_keepfaith) {
-			if (ip->ip_p == IPPROTO_TCP || ip->ip_p == IPPROTO_ICMP) 
-				goto ours;
-		}
-		m_freem(m);
-		return;
-	}
-
-	/*
 	 * Not for us; forward if possible and desirable.
 	 */
 	if (V_ipforwarding == 0) {

Modified: head/sys/netinet/ip_output.c
==============================================================================
--- head/sys/netinet/ip_output.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet/ip_output.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -991,7 +991,6 @@ ip_ctloutput(struct socket *so, struct s
 		case IP_RECVDSTADDR:
 		case IP_RECVTTL:
 		case IP_RECVIF:
-		case IP_FAITH:
 		case IP_ONESBCAST:
 		case IP_DONTFRAG:
 		case IP_RECVTOS:
@@ -1058,10 +1057,6 @@ ip_ctloutput(struct socket *so, struct s
 				OPTSET(INP_RECVIF);
 				break;
 
-			case IP_FAITH:
-				OPTSET(INP_FAITH);
-				break;
-
 			case IP_ONESBCAST:
 				OPTSET(INP_ONESBCAST);
 				break;
@@ -1200,7 +1195,6 @@ ip_ctloutput(struct socket *so, struct s
 		case IP_RECVTTL:
 		case IP_RECVIF:
 		case IP_PORTRANGE:
-		case IP_FAITH:
 		case IP_ONESBCAST:
 		case IP_DONTFRAG:
 		case IP_BINDANY:
@@ -1259,10 +1253,6 @@ ip_ctloutput(struct socket *so, struct s
 					optval = 0;
 				break;
 
-			case IP_FAITH:
-				optval = OPTBIT(INP_FAITH);
-				break;
-
 			case IP_ONESBCAST:
 				optval = OPTBIT(INP_ONESBCAST);
 				break;

Modified: head/sys/netinet6/icmp6.c
==============================================================================
--- head/sys/netinet6/icmp6.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/icmp6.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -482,22 +482,6 @@ icmp6_input(struct mbuf **mp, int *offp,
 		goto freeit;
 	}
 
-	if (faithprefix_p != NULL && (*faithprefix_p)(&ip6->ip6_dst)) {
-		/*
-		 * Deliver very specific ICMP6 type only.
-		 * This is important to deliver TOOBIG.  Otherwise PMTUD
-		 * will not work.
-		 */
-		switch (icmp6->icmp6_type) {
-		case ICMP6_DST_UNREACH:
-		case ICMP6_PACKET_TOO_BIG:
-		case ICMP6_TIME_EXCEEDED:
-			break;
-		default:
-			goto freeit;
-		}
-	}
-
 	ICMP6STAT_INC(icp6s_inhist[icmp6->icmp6_type]);
 	icmp6_ifstat_inc(ifp, ifs6_in_msg);
 	if (icmp6->icmp6_type < ICMP6_INFOMSG_MASK)

Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/in6.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -137,8 +137,6 @@ static int in6_notify_ifa(struct ifnet *
 	struct in6_aliasreq *, int);
 static void in6_unlink_ifa(struct in6_ifaddr *, struct ifnet *);
 
-int	(*faithprefix_p)(struct in6_addr *);
-
 static int in6_validate_ifra(struct ifnet *, struct in6_aliasreq *,
     struct in6_ifaddr *, int);
 static struct in6_ifaddr *in6_alloc_ifa(struct ifnet *,
@@ -1948,34 +1946,20 @@ in6if_do_dad(struct ifnet *ifp)
 	if (ND_IFINFO(ifp)->flags & ND6_IFF_IFDISABLED)
 		return (0);
 
-	switch (ifp->if_type) {
-#ifdef IFT_DUMMY
-	case IFT_DUMMY:
-#endif
-	case IFT_FAITH:
-		/*
-		 * These interfaces do not have the IFF_LOOPBACK flag,
-		 * but loop packets back.  We do not have to do DAD on such
-		 * interfaces.  We should even omit it, because loop-backed
-		 * NS would confuse the DAD procedure.
-		 */
+	/*
+	 * Our DAD routine requires the interface up and running.
+	 * However, some interfaces can be up before the RUNNING
+	 * status.  Additionaly, users may try to assign addresses
+	 * before the interface becomes up (or running).
+	 * We simply skip DAD in such a case as a work around.
+	 * XXX: we should rather mark "tentative" on such addresses,
+	 * and do DAD after the interface becomes ready.
+	 */
+	if (!((ifp->if_flags & IFF_UP) &&
+	    (ifp->if_drv_flags & IFF_DRV_RUNNING)))
 		return (0);
-	default:
-		/*
-		 * Our DAD routine requires the interface up and running.
-		 * However, some interfaces can be up before the RUNNING
-		 * status.  Additionaly, users may try to assign addresses
-		 * before the interface becomes up (or running).
-		 * We simply skip DAD in such a case as a work around.
-		 * XXX: we should rather mark "tentative" on such addresses,
-		 * and do DAD after the interface becomes ready.
-		 */
-		if (!((ifp->if_flags & IFF_UP) &&
-		    (ifp->if_drv_flags & IFF_DRV_RUNNING)))
-			return (0);
 
-		return (1);
-	}
+	return (1);
 }
 
 /*

Modified: head/sys/netinet6/in6.h
==============================================================================
--- head/sys/netinet6/in6.h	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/in6.h	Sun Nov  9 21:33:01 2014	(r274331)
@@ -424,8 +424,7 @@ struct route_in6 {
 #define IPV6_IPSEC_POLICY	28 /* struct; get/set security policy */
 #endif /* IPSEC */
 
-#define IPV6_FAITH		29 /* bool; accept FAITH'ed connections */
-
+				   /* 29; unused; was IPV6_FAITH */
 #if 1 /* IPV6FIREWALL */
 #define IPV6_FW_ADD		30 /* add a firewall rule to chain */
 #define IPV6_FW_DEL		31 /* delete a firewall rule from chain */
@@ -580,7 +579,7 @@ struct ip6_mtuinfo {
 #define IPV6CTL_SOURCECHECK	10	/* verify source route and intf */
 #define IPV6CTL_SOURCECHECK_LOGINT 11	/* minimume logging interval */
 #define IPV6CTL_ACCEPT_RTADV	12
-#define IPV6CTL_KEEPFAITH	13
+					/* 13; unused; was: IPV6CTL_KEEPFAITH */
 #define IPV6CTL_LOG_INTERVAL	14
 #define IPV6CTL_HDRNESTLIMIT	15
 #define IPV6CTL_DAD_COUNT	16
@@ -669,7 +668,6 @@ extern void addrsel_policy_init(void);
 #define	sin6tosa(sin6)	((struct sockaddr *)(sin6))
 #define	ifatoia6(ifa)	((struct in6_ifaddr *)(ifa))
 
-extern int	(*faithprefix_p)(struct in6_addr *);
 #endif /* _KERNEL */
 
 #ifndef _SIZE_T_DECLARED

Modified: head/sys/netinet6/in6_pcb.c
==============================================================================
--- head/sys/netinet6/in6_pcb.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/in6_pcb.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -870,12 +870,6 @@ in6_pcblookup_group(struct inpcbinfo *pc
 	struct inpcbhead *head;
 	struct inpcb *inp, *tmpinp;
 	u_short fport = fport_arg, lport = lport_arg;
-	int faith;
-
-	if (faithprefix_p != NULL)
-		faith = (*faithprefix_p)(laddr);
-	else
-		faith = 0;
 
 	/*
 	 * First look for an exact match.
@@ -935,10 +929,6 @@ in6_pcblookup_group(struct inpcbinfo *pc
 				continue;
 			}
 
-			/* XXX inp locking */
-			if (faith && (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP6);
 			if (injail) {
 				if (prison_check_ip6(inp->inp_cred,
@@ -1001,10 +991,6 @@ in6_pcblookup_group(struct inpcbinfo *pc
 				continue;
 			}
 
-			/* XXX inp locking */
-			if (faith && (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP6);
 			if (injail) {
 				if (prison_check_ip6(inp->inp_cred,
@@ -1069,18 +1055,12 @@ in6_pcblookup_hash_locked(struct inpcbin
 	struct inpcbhead *head;
 	struct inpcb *inp, *tmpinp;
 	u_short fport = fport_arg, lport = lport_arg;
-	int faith;
 
 	KASSERT((lookupflags & ~(INPLOOKUP_WILDCARD)) == 0,
 	    ("%s: invalid lookup flags %d", __func__, lookupflags));
 
 	INP_HASH_LOCK_ASSERT(pcbinfo);
 
-	if (faithprefix_p != NULL)
-		faith = (*faithprefix_p)(laddr);
-	else
-		faith = 0;
-
 	/*
 	 * First look for an exact match.
 	 */
@@ -1137,10 +1117,6 @@ in6_pcblookup_hash_locked(struct inpcbin
 				continue;
 			}
 
-			/* XXX inp locking */
-			if (faith && (inp->inp_flags & INP_FAITH) == 0)
-				continue;
-
 			injail = prison_flag(inp->inp_cred, PR_IP6);
 			if (injail) {
 				if (prison_check_ip6(inp->inp_cred,

Modified: head/sys/netinet6/in6_proto.c
==============================================================================
--- head/sys/netinet6/in6_proto.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/in6_proto.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -434,7 +434,6 @@ VNET_DEFINE(int, ip6_rr_prune) = 5;	/* r
 VNET_DEFINE(int, ip6_mcast_pmtu) = 0;	/* enable pMTU discovery for multicast? */
 VNET_DEFINE(int, ip6_v6only) = 1;
 
-VNET_DEFINE(int, ip6_keepfaith) = 0;
 VNET_DEFINE(time_t, ip6_log_time) = (time_t)0L;
 #ifdef IPSTEALTH
 VNET_DEFINE(int, ip6stealth) = 0;
@@ -543,8 +542,6 @@ SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RFC62
 	CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_rfc6204w3), 0,
 	"Accept the default router list from ICMPv6 RA messages even "
 	"when packet forwarding enabled.");
-SYSCTL_INT(_net_inet6_ip6, IPV6CTL_KEEPFAITH, keepfaith,
-	CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_keepfaith), 0, "");
 SYSCTL_INT(_net_inet6_ip6, IPV6CTL_LOG_INTERVAL, log_interval,
 	CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_log_interval), 0, "");
 SYSCTL_INT(_net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, hdrnestlimit,

Modified: head/sys/netinet6/ip6_output.c
==============================================================================
--- head/sys/netinet6/ip6_output.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/ip6_output.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -1408,7 +1408,6 @@ ip6_ctloutput(struct socket *so, struct 
 				/* FALLTHROUGH */
 			case IPV6_UNICAST_HOPS:
 			case IPV6_HOPLIMIT:
-			case IPV6_FAITH:
 
 			case IPV6_RECVPKTINFO:
 			case IPV6_RECVHOPLIMIT:
@@ -1552,10 +1551,6 @@ do { \
 					OPTSET(IN6P_RTHDR);
 					break;
 
-				case IPV6_FAITH:
-					OPTSET(INP_FAITH);
-					break;
-
 				case IPV6_RECVPATHMTU:
 					/*
 					 * We ignore this option for TCP
@@ -1823,7 +1818,6 @@ do { \
 			case IPV6_RECVRTHDR:
 			case IPV6_RECVPATHMTU:
 
-			case IPV6_FAITH:
 			case IPV6_V6ONLY:
 			case IPV6_PORTRANGE:
 			case IPV6_RECVTCLASS:
@@ -1868,10 +1862,6 @@ do { \
 					optval = OPTBIT(IN6P_MTU);
 					break;
 
-				case IPV6_FAITH:
-					optval = OPTBIT(INP_FAITH);
-					break;
-
 				case IPV6_V6ONLY:
 					optval = OPTBIT(IN6P_IPV6_V6ONLY);
 					break;

Modified: head/sys/netinet6/ip6_var.h
==============================================================================
--- head/sys/netinet6/ip6_var.h	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/ip6_var.h	Sun Nov  9 21:33:01 2014	(r274331)
@@ -296,7 +296,6 @@ VNET_DECLARE(int, ip6_norbit_raif);	/* D
 					 * receiving IF. */
 VNET_DECLARE(int, ip6_rfc6204w3);	/* Accept defroute from RA even when
 					   forwarding enabled */
-VNET_DECLARE(int, ip6_keepfaith);	/* Firewall Aided Internet Translator */
 VNET_DECLARE(int, ip6_log_interval);
 VNET_DECLARE(time_t, ip6_log_time);
 VNET_DECLARE(int, ip6_hdrnestlimit);	/* upper limit of # of extension
@@ -310,7 +309,6 @@ VNET_DECLARE(int, ip6_dad_count);	/* Dup
 #define	V_ip6_no_radr			VNET(ip6_no_radr)
 #define	V_ip6_norbit_raif		VNET(ip6_norbit_raif)
 #define	V_ip6_rfc6204w3			VNET(ip6_rfc6204w3)
-#define	V_ip6_keepfaith			VNET(ip6_keepfaith)
 #define	V_ip6_log_interval		VNET(ip6_log_interval)
 #define	V_ip6_log_time			VNET(ip6_log_time)
 #define	V_ip6_hdrnestlimit		VNET(ip6_hdrnestlimit)

Modified: head/sys/netinet6/raw_ip6.c
==============================================================================
--- head/sys/netinet6/raw_ip6.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/raw_ip6.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -169,12 +169,6 @@ rip6_input(struct mbuf **mp, int *offp, 
 
 	RIP6STAT_INC(rip6s_ipackets);
 
-	if (faithprefix_p != NULL && (*faithprefix_p)(&ip6->ip6_dst)) {
-		/* XXX Send icmp6 host/port unreach? */
-		m_freem(m);
-		return (IPPROTO_DONE);
-	}
-
 	init_sin6(&fromsa, m); /* general init */
 
 	ifp = m->m_pkthdr.rcvif;

Modified: head/sys/netinet6/sctp6_usrreq.c
==============================================================================
--- head/sys/netinet6/sctp6_usrreq.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/sctp6_usrreq.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -149,10 +149,6 @@ sctp6_input_with_port(struct mbuf **i_pa
 	if (in6_setscope(&dst.sin6_addr, m->m_pkthdr.rcvif, NULL) != 0) {
 		goto out;
 	}
-	if (faithprefix_p != NULL && (*faithprefix_p) (&dst.sin6_addr)) {
-		/* XXX send icmp6 host/port unreach? */
-		goto out;
-	}
 	length = ntohs(ip6->ip6_plen) + iphlen;
 	/* Validate mbuf chain length with IP payload length. */
 	if (SCTP_HEADER_LEN(m) != length) {

Modified: head/sys/netinet6/udp6_usrreq.c
==============================================================================
--- head/sys/netinet6/udp6_usrreq.c	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/netinet6/udp6_usrreq.c	Sun Nov  9 21:33:01 2014	(r274331)
@@ -208,12 +208,6 @@ udp6_input(struct mbuf **mp, int *offp, 
 	ifp = m->m_pkthdr.rcvif;
 	ip6 = mtod(m, struct ip6_hdr *);
 
-	if (faithprefix_p != NULL && (*faithprefix_p)(&ip6->ip6_dst)) {
-		/* XXX send icmp6 host/port unreach? */
-		m_freem(m);
-		return (IPPROTO_DONE);
-	}
-
 #ifndef PULLDOWN_TEST
 	IP6_EXTHDR_CHECK(m, off, sizeof(struct udphdr), IPPROTO_DONE);
 	ip6 = mtod(m, struct ip6_hdr *);

Modified: head/sys/pc98/conf/GENERIC
==============================================================================
--- head/sys/pc98/conf/GENERIC	Sun Nov  9 21:08:52 2014	(r274330)
+++ head/sys/pc98/conf/GENERIC	Sun Nov  9 21:33:01 2014	(r274331)
@@ -231,7 +231,6 @@ device		vlan			# 802.1Q VLAN support
 device		tun			# Packet tunnel.
 device		md			# Memory "disks"
 device		gif			# IPv6 and IPv4 tunneling
-device		faith			# IPv6-to-IPv4 relaying (translation)
 device		firmware		# firmware assist module
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411092133.sA9LX2FI021044>