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 ***
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to