]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Remove kernel handling of ICMP_SOURCEQUENCH.
authormelifaro <melifaro@FreeBSD.org>
Mon, 10 Nov 2014 23:10:01 +0000 (23:10 +0000)
committermelifaro <melifaro@FreeBSD.org>
Mon, 10 Nov 2014 23:10:01 +0000 (23:10 +0000)
It hasn't been used for a very long time.
Additionally, it was deprecated by RFC 6633.

sys/netinet/ip_fastfwd.c
sys/netinet/ip_icmp.c
sys/netinet/ip_input.c
sys/netinet/tcp_subr.c
sys/sys/protosw.h
tools/tools/sysdoc/tunables.mdoc

index 36d9985ea593554fac3ac8cfd06eba662c239ec2..e9196cc05921dea1144a9e21d970c0d8e99ceaae 100644 (file)
@@ -502,7 +502,6 @@ passout:
        if ((ifp->if_snd.ifq_len + ip_len / ifp->if_mtu + 1) >=
            ifp->if_snd.ifq_maxlen) {
                IPSTAT_INC(ips_odropped);
-               /* would send source quench here but that is depreciated */
                goto drop;
        }
 #endif
index 23f7a567c74ed8939d8d2ed2a83585ddf502f33f..25ccb4f71b9fdc155f72e3dd6e728916664254c3 100644 (file)
@@ -486,12 +486,6 @@ icmp_input(struct mbuf **mp, int *offp, int proto)
                if (code > 1)
                        goto badcode;
                code = PRC_PARAMPROB;
-               goto deliver;
-
-       case ICMP_SOURCEQUENCH:
-               if (code)
-                       goto badcode;
-               code = PRC_QUENCH;
        deliver:
                /*
                 * Problem with datagram; advise higher level routines.
@@ -670,6 +664,7 @@ reflect:
        case ICMP_TSTAMPREPLY:
        case ICMP_IREQREPLY:
        case ICMP_MASKREPLY:
+       case ICMP_SOURCEQUENCH:
        default:
                break;
        }
index 1ad020a2114660e9b28763210d86d8188c1852dc..6f48d935cbcb6c0c72ffd8550170b6804ec12d7f 100644 (file)
@@ -104,12 +104,6 @@ SYSCTL_INT(_net_inet_ip, IPCTL_SENDREDIRECTS, redirect, CTLFLAG_VNET | CTLFLAG_R
     &VNET_NAME(ipsendredirects), 0,
     "Enable sending IP redirects");
 
-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,
-    &VNET_NAME(ip_sendsourcequench), 0,
-    "Enable the transmission of source quench packets");
-
 VNET_DEFINE(int, ip_do_randomid);
 SYSCTL_INT(_net_inet_ip, OID_AUTO, random_id, CTLFLAG_VNET | CTLFLAG_RW,
     &VNET_NAME(ip_do_randomid), 0,
@@ -1647,25 +1641,6 @@ ip_forward(struct mbuf *m, int srcrt)
                break;
 
        case ENOBUFS:
-               /*
-                * A router should not generate ICMP_SOURCEQUENCH as
-                * required in RFC1812 Requirements for IP Version 4 Routers.
-                * Source quench could be a big problem under DoS attacks,
-                * or if the underlying interface is rate-limited.
-                * Those who need source quench packets may re-enable them
-                * via the net.inet.ip.sendsourcequench sysctl.
-                */
-               if (V_ip_sendsourcequench == 0) {
-                       m_freem(mcopy);
-                       if (ia != NULL)
-                               ifa_free(&ia->ia_ifa);
-                       return;
-               } else {
-                       type = ICMP_SOURCEQUENCH;
-                       code = 0;
-               }
-               break;
-
        case EACCES:                    /* ipfw denied packet */
                m_freem(mcopy);
                if (ia != NULL)
index b5152d246e722ecd44def6bdab57269372bf671b..5b845f09705665d6dfbe4f0ff0fc33ac574f960f 100644 (file)
@@ -1429,11 +1429,6 @@ tcp_ctlinput(int cmd, struct sockaddr *sa, void *vip)
         */
        else if (PRC_IS_REDIRECT(cmd))
                return;
-       /*
-        * Source quench is depreciated.
-        */
-       else if (cmd == PRC_QUENCH)
-               return;
        /*
         * Hostdead is ugly because it goes linearly through all PCBs.
         * XXX: We never get this from ICMP, otherwise it makes an
@@ -1539,9 +1534,6 @@ tcp6_ctlinput(int cmd, struct sockaddr *sa, void *d)
        else if (!PRC_IS_REDIRECT(cmd) &&
                 ((unsigned)cmd >= PRC_NCMDS || inet6ctlerrmap[cmd] == 0))
                return;
-       /* Source quench is depreciated. */
-       else if (cmd == PRC_QUENCH)
-               return;
 
        /* if the parameter is from icmp6, decode it. */
        if (d != NULL) {
index ba45f946196fccfeba7e226cb9a5d957a46f1638..2d98a4c25edddadd653aba3c49b867f37c8d0d6d 100644 (file)
@@ -274,8 +274,8 @@ int pru_sopoll_notsupp(struct socket *so, int events, struct ucred *cred,
 #define        PRC_IFDOWN              0       /* interface transition */
 #define        PRC_ROUTEDEAD           1       /* select new route if possible ??? */
 #define        PRC_IFUP                2       /* interface has come back up */
-#define        PRC_QUENCH2             3       /* DEC congestion bit says slow down */
-#define        PRC_QUENCH              4       /* some one said to slow down */
+/* was PRC_QUENCH2             3       DEC congestion bit says slow down */
+/* was PRC_QUENCH              4       Deprecated by RFC 6633 */
 #define        PRC_MSGSIZE             5       /* message size forced drop */
 #define        PRC_HOSTDEAD            6       /* host appears to be down */
 #define        PRC_HOSTUNREACH         7       /* deprecated (use PRC_UNREACH_HOST) */
index 6d88856cfd00ee015d4c44bebb516c4868c5d4de..12b6f4651c80a189899bddf15d59224f03075408 100644 (file)
@@ -1346,15 +1346,6 @@ See
 .Xr inet 4
 for more information.
 
----
-net.inet.ip.sendsourcequench
-bool
-
-This 
-.Nm
-enables or disables the transmission of
-source quench packets.
-
 ---
 net.inet.ip.sourceroute
 bool