From nobody Fri Aug 12 15:32:47 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M473M4Qkpz4Yg8k; Fri, 12 Aug 2022 15:32:47 +0000 (UTC) (envelope-from git@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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4M473M3rZ1z400R; Fri, 12 Aug 2022 15:32:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660318367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K9un2e7DhNCe57a7KOGVx+XUnEOwgpJWcX1iIOwQVLo=; b=RSk4n7VHgogp4BghXxO20V6NofH1wx15+8ICnyYn9VzzytU5ejoEfz649tZUDgXXoT92ot cxhCA7NAFdhOmo9EOwm5PCiKzxbanWRAHup1DXUjGTcjUYvaZu8bTfURZzs3SIEpNTJEqL AvS+QYNloOM+kPcea7MYkWk/GG/FuiVxAl/mbCJH37F84vBwHDpwnKZz31si2JTD2FT2SS 2q5wQkKegxiHcb/2+SCMzdxzfkg8TYEKi6cURaxk1usBBCj3uqoivgE9FbjGzjSOFP5qEc gn858ZrezF6i6iI7HNlRo+LLSSWrJ72Ku7hz7yzBwgO77aDU5rRTlZrhhB/5uA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4M473M2wVjzbvf; Fri, 12 Aug 2022 15:32:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27CFWl3g042821; Fri, 12 Aug 2022 15:32:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27CFWlmr042819; Fri, 12 Aug 2022 15:32:47 GMT (envelope-from git) Date: Fri, 12 Aug 2022 15:32:47 GMT Message-Id: <202208121532.27CFWlmr042819@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 948f31d7b0ed - main - netinet: do not broadcast PRC_REDIRECT_HOST on ICMP redirect List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 948f31d7b0ed31a834b31ac63f314aecef474dfe Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1660318367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K9un2e7DhNCe57a7KOGVx+XUnEOwgpJWcX1iIOwQVLo=; b=uZw4/GgGw22tEfsJECcdFtcmanQDbZPLaxY9bfH4S0whFX2xH4+87zt91tUuLQwXQOS9Ev 4borgp0qbw+jGGcDEXWbvQBVGC+I6Qa3B+zOnbx3m42E/k9AWmAKznRasJYZDEm80XtCgg mxNB30RhV7W6OkeECKokNFJhN7NspxQd4U7ZSySKkjU17nPgf4ags9Nwqm2RDo+wld4Iiv catEMZi1JLvnBjIwCBckgmcops0inHZsik1ECt5OzTjHZvl92qGYs0gpemYpmr2nI+Zf9E DprlrWv1s1c9P1oJ1poQvYByra0UYXS4QNdJWD3lPYzZRCYHr/MI2+pKJDdncw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1660318367; a=rsa-sha256; cv=none; b=hrgaOb489xSprnrv2UqqhQZLfjTIalbiEM++w+zbNQLkO9Sm3EbnLq5kQ5fGxGg+Wo4EPf TkE9Hmq5ZFcpneWPJStEj+8RVzwms0GzNUglyzKfc37xByECfWwGWDcs0+WKWsE/HZQt3G oaRlqMd7mRg+MRdbxI7fCPn1upZT73Ij0H3LeXGu9Zg+d0HebCKLDnzAEFb7uc3QW8uIH4 E5lHMbVR31PzV5C1ALZQyjhkE5hWu96Z8DH/3Q9AKqpfTSm9PfdXKpplCRG5oqro1bx4+b umG+Pl+B8vZfiI/Am5tTHtLcX3P3F6juff2AWva9h5wCtvJF4B0earuk5L0l5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=948f31d7b0ed31a834b31ac63f314aecef474dfe commit 948f31d7b0ed31a834b31ac63f314aecef474dfe Author: Gleb Smirnoff AuthorDate: 2022-08-12 15:31:28 +0000 Commit: Gleb Smirnoff CommitDate: 2022-08-12 15:31:29 +0000 netinet: do not broadcast PRC_REDIRECT_HOST on ICMP redirect This is expensive and useless call. It has been useless since Alexander melifaro@ moved the forwarding table to nexthops with passive invalidation. What happens now is that cached route in a inpcb would get invalidated on next ip_output(). These were the last users of pfctlinput(), so garbage collect it. Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36156 --- sys/kern/uipc_domain.c | 14 -------------- sys/netinet/ip_icmp.c | 1 - sys/netinet6/icmp6.c | 10 ---------- sys/sys/protosw.h | 1 - 4 files changed, 26 deletions(-) diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 07e5f829e957..c70b3150cbf0 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -464,20 +464,6 @@ pf_proto_unregister(int family, int protocol, int type) return (0); } -void -pfctlinput(int cmd, struct sockaddr *sa) -{ - struct domain *dp; - struct protosw *pr; - - NET_EPOCH_ASSERT(); - - for (dp = domains; dp; dp = dp->dom_next) - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_ctlinput) - (*pr->pr_ctlinput)(cmd, sa, (void *)0); -} - static void pfslowtimo(void *arg) { diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index a710cc2ba8cd..2e548a539bf7 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -729,7 +729,6 @@ reflect: (struct sockaddr *)&icmpgw, m->m_pkthdr.rcvif, RTF_GATEWAY, V_redirtimeout); } - pfctlinput(PRC_REDIRECT_HOST, (struct sockaddr *)&icmpsrc); break; /* diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 832061ad9328..132b62260ab7 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2350,16 +2350,6 @@ icmp6_redirect_input(struct mbuf *m, int off) (struct sockaddr *)&ssrc, ifp, rt_flags, V_icmp6_redirtimeout); } - /* finally update cached route in each socket via pfctlinput */ - { - struct sockaddr_in6 sdst; - - bzero(&sdst, sizeof(sdst)); - sdst.sin6_family = AF_INET6; - sdst.sin6_len = sizeof(struct sockaddr_in6); - bcopy(&reddst6, &sdst.sin6_addr, sizeof(struct in6_addr)); - pfctlinput(PRC_REDIRECT_HOST, (struct sockaddr *)&sdst); - } freeit: m_freem(m); diff --git a/sys/sys/protosw.h b/sys/sys/protosw.h index 7c7eece83e78..78c25e6e77f6 100644 --- a/sys/sys/protosw.h +++ b/sys/sys/protosw.h @@ -364,7 +364,6 @@ char *prcorequests[] = { #endif #ifdef _KERNEL -void pfctlinput(int, struct sockaddr *); struct domain *pffinddomain(int family); struct protosw *pffindproto(int family, int protocol, int type); struct protosw *pffindtype(int family, int type);