From owner-svn-src-all@freebsd.org Tue Sep 3 14:08:17 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 97C8FDDA38; Tue, 3 Sep 2019 14:07:24 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46N80W6D4zz4QYW; Tue, 3 Sep 2019 14:07:23 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1452) id D57F01B564; Tue, 3 Sep 2019 14:06:37 +0000 (UTC) X-Original-To: yuripv@localmail.freebsd.org Delivered-To: yuripv@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id C6C7C15A17; Mon, 22 Apr 2019 19:36:24 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 368A6736A5; Mon, 22 Apr 2019 19:36:24 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 538) id 190DA159D9; Mon, 22 Apr 2019 19:36:24 +0000 (UTC) Delivered-To: src-committers@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [96.47.72.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id E449E159D7 for ; Mon, 22 Apr 2019 19:36:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B593F736A1; Mon, 22 Apr 2019 19:36:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 91204198E5; Mon, 22 Apr 2019 19:36:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3MJaK1Z006452; Mon, 22 Apr 2019 19:36:20 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3MJaKPC006451; Mon, 22 Apr 2019 19:36:20 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201904221936.x3MJaKPC006451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r346581 - in head/sys: netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in head/sys: netinet netinet6 X-SVN-Commit-Revision: 346581 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk X-Loop: FreeBSD.org Sender: owner-src-committers@freebsd.org X-Rspamd-Queue-Id: 368A6736A5 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.964,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Status: O X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Tue, 03 Sep 2019 14:08:17 -0000 X-Original-Date: Mon, 22 Apr 2019 19:36:20 +0000 (UTC) X-List-Received-Date: Tue, 03 Sep 2019 14:08:17 -0000 Author: hselasky Date: Mon Apr 22 19:36:19 2019 New Revision: 346581 URL: https://svnweb.freebsd.org/changeset/base/346581 Log: Revert r346530 until further. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/netinet/ip_reass.c head/sys/netinet6/frag6.c Modified: head/sys/netinet/ip_reass.c ============================================================================== --- head/sys/netinet/ip_reass.c Mon Apr 22 19:31:16 2019 (r346580) +++ head/sys/netinet/ip_reass.c Mon Apr 22 19:36:19 2019 (r346581) @@ -47,10 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include #include #include #include @@ -609,37 +606,6 @@ ipreass_drain(void) IPQ_UNLOCK(i); } } - -/* - * Drain off all datagram fragments belonging to - * the given network interface. - */ -static void -ipreass_cleanup(void *arg __unused, struct ifnet *ifp) -{ - struct ipq *fp, *temp; - struct mbuf *m; - int i; - - KASSERT(ifp != NULL, ("%s: ifp is NULL", __func__)); - - CURVNET_SET_QUIET(ifp->if_vnet); - for (i = 0; i < IPREASS_NHASH; i++) { - IPQ_LOCK(i); - /* Scan fragment list. */ - TAILQ_FOREACH_SAFE(fp, &V_ipq[i].head, ipq_list, temp) { - for (m = fp->ipq_frags; m != NULL; m = m->m_nextpkt) { - if (m->m_pkthdr.rcvif == ifp) { - ipq_drop(&V_ipq[i], fp); - break; - } - } - } - IPQ_UNLOCK(i); - } - CURVNET_RESTORE(); -} -EVENTHANDLER_DEFINE(ifnet_departure_event, ipreass_cleanup, NULL, 0); #ifdef VIMAGE /* Modified: head/sys/netinet6/frag6.c ============================================================================== --- head/sys/netinet6/frag6.c Mon Apr 22 19:31:16 2019 (r346580) +++ head/sys/netinet6/frag6.c Mon Apr 22 19:36:19 2019 (r346581) @@ -82,7 +82,7 @@ static void frag6_deq(struct ip6asfrag *, uint32_t buc static void frag6_insque_head(struct ip6q *, struct ip6q *, uint32_t bucket); static void frag6_remque(struct ip6q *, uint32_t bucket); -static void frag6_freef(struct ip6q *, uint32_t bucket, bool send_icmp); +static void frag6_freef(struct ip6q *, uint32_t bucket); struct ip6qbucket { struct ip6q ip6q; @@ -595,7 +595,7 @@ insert: if (af6->ip6af_off != next) { if (q6->ip6q_nfrag > V_ip6_maxfragsperpacket) { IP6STAT_ADD(ip6s_fragdropped, q6->ip6q_nfrag); - frag6_freef(q6, hash, true); + frag6_freef(q6, hash); } IP6Q_UNLOCK(hash); return IPPROTO_DONE; @@ -605,7 +605,7 @@ insert: if (af6->ip6af_up->ip6af_mff) { if (q6->ip6q_nfrag > V_ip6_maxfragsperpacket) { IP6STAT_ADD(ip6s_fragdropped, q6->ip6q_nfrag); - frag6_freef(q6, hash, true); + frag6_freef(q6, hash); } IP6Q_UNLOCK(hash); return IPPROTO_DONE; @@ -732,7 +732,7 @@ insert: * associated datagrams. */ static void -frag6_freef(struct ip6q *q6, uint32_t bucket, bool send_icmp) +frag6_freef(struct ip6q *q6, uint32_t bucket) { struct ip6asfrag *af6, *down6; @@ -749,7 +749,7 @@ frag6_freef(struct ip6q *q6, uint32_t bucket, bool sen * Return ICMP time exceeded error for the 1st fragment. * Just free other fragments. */ - if (af6->ip6af_off == 0 && send_icmp != false) { + if (af6->ip6af_off == 0) { struct ip6_hdr *ip6; /* adjust pointer */ @@ -865,7 +865,7 @@ frag6_slowtimo(void) IP6STAT_ADD(ip6s_fragtimeout, q6->ip6q_prev->ip6q_nfrag); /* XXX in6_ifstat_inc(ifp, ifs6_reass_fail) */ - frag6_freef(q6->ip6q_prev, i, true); + frag6_freef(q6->ip6q_prev, i); } } /* @@ -884,7 +884,7 @@ frag6_slowtimo(void) IP6STAT_ADD(ip6s_fragoverflow, q6->ip6q_prev->ip6q_nfrag); /* XXX in6_ifstat_inc(ifp, ifs6_reass_fail) */ - frag6_freef(head->ip6q_prev, i, true); + frag6_freef(head->ip6q_prev, i); } IP6Q_UNLOCK(i); } @@ -902,7 +902,7 @@ frag6_slowtimo(void) IP6STAT_ADD(ip6s_fragoverflow, q6->ip6q_prev->ip6q_nfrag); /* XXX in6_ifstat_inc(ifp, ifs6_reass_fail) */ - frag6_freef(head->ip6q_prev, i, true); + frag6_freef(head->ip6q_prev, i); } IP6Q_UNLOCK(i); i = (i + 1) % IP6REASS_NHASH; @@ -932,7 +932,7 @@ frag6_drain(void) while (head->ip6q_next != head) { IP6STAT_INC(ip6s_fragdropped); /* XXX in6_ifstat_inc(ifp, ifs6_reass_fail) */ - frag6_freef(head->ip6q_next, i, true); + frag6_freef(head->ip6q_next, i); } IP6Q_UNLOCK(i); } @@ -940,45 +940,6 @@ frag6_drain(void) } VNET_LIST_RUNLOCK_NOSLEEP(); } - -/* - * Drain off all datagram fragments belonging to - * the given network interface. - */ -static void -frag6_cleanup(void *arg __unused, struct ifnet *ifp) -{ - struct ip6q *q6, *q6n, *head; - struct ip6asfrag *af6; - struct mbuf *m; - int i; - - KASSERT(ifp != NULL, ("%s: ifp is NULL", __func__)); - - CURVNET_SET_QUIET(ifp->if_vnet); - for (i = 0; i < IP6REASS_NHASH; i++) { - IP6Q_LOCK(i); - head = IP6Q_HEAD(i); - /* Scan fragment list. */ - for (q6 = head->ip6q_next; q6 != head; q6 = q6n) { - q6n = q6->ip6q_next; - - for (af6 = q6->ip6q_down; af6 != (struct ip6asfrag *)q6; - af6 = af6->ip6af_down) { - m = IP6_REASS_MBUF(af6); - - if (m->m_pkthdr.rcvif == ifp) { - IP6STAT_INC(ip6s_fragdropped); - frag6_freef(q6, i, false); - break; - } - } - } - IP6Q_UNLOCK(i); - } - CURVNET_RESTORE(); -} -EVENTHANDLER_DEFINE(ifnet_departure_event, frag6_cleanup, NULL, 0); int ip6_deletefraghdr(struct mbuf *m, int offset, int wait)