From nobody Mon Jan 20 15:10:51 2025 X-Original-To: dev-commits-src-all@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 4YcDLM4fM6z5kDJW; Mon, 20 Jan 2025 15:10:51 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YcDLM2J7wz3Fnf; Mon, 20 Jan 2025 15:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737385851; 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=dFPuyR+W2aMdXRpkzc+PfXLoC2NHEogoryOuK69WkTM=; b=nZYFhUVniAekv5iJsBjkhj5sZIiB2yybpDB7WE+LbIcUkgCpDbz25mqkgTJoK5daiyrZH5 TLWeWjeVJMXgjO5wlNGrRvmYNc+p+GBZI4s1ce1XG6gidDefXPqDjyhlWbn3X+LnXA0siW qFyeA6jDpr+nLiOs48yhKSm3H9JmyL3d15yZb1KjGxFE1IXN1WDygZzAhr51GhgidQw4r0 p297Lexr9Lm/bIxXLUWsHCr8ydxoV3jYRWN35gr9hnLo1YSTJWr6rnhqEMF5zotkP9KPWC SljE7Q7m4xPPFrH0iEw5pxIV7HyZT9w5uBpWSDxBx7/gOWlwqtaJVvdFU7X2Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737385851; 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=dFPuyR+W2aMdXRpkzc+PfXLoC2NHEogoryOuK69WkTM=; b=fYL75yvIGgyJoDIwnT7pb1sxQUzzNva7ntSf/0biEwh0YW8lXL+sBED4aqmLPfnFAUzxrm PyUKwDlfWn41pEUVNZstbC30mIX98LFsSZbWHtFPL6Vrh2FCLg6Qx8Vq/uFvFyhZYNpDMD k9HzeAJvjODKad45oH/7JcVgnXv76SzeiFVVkECAnbQN3OwujTDG5WaCWccCT3X6NVeXvR tF/t1Hmhsz0y8jX4/42YCCdxGG2MeMVpbyD8Em8HOngCp5R6ddCS2c11/a7t1vfq+fsi8G u6WPs94WJyDZyJT/6fvmq4S6EVuClSKPEetU8GIkoKIoilFdcWbZWvelOROnBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737385851; a=rsa-sha256; cv=none; b=ETeImRDBCVsRVvAuDe9ITQlkSolnU+vdUk70CNUa5xU39TXaCc9BaiR8dNjkon7uHhdxO1 wutU3s7hAOm4lrZfdvsglP+D6jznWY3lWMxghXqPVyPf4S17u1Y0XB4frw/2vHX4vdGK9Q wWV5MshHPf+33nK3sGEawSVhfsBuFwlf95g/oAM/4H8oG4eMc6c5StzVHL7q8f2fVPrBeF y5Th8KakSNWE3w8lbu/Ok+aNKBLixmcKy3bhJkw+qjrSL3KQjP3xTChfaj9eBOdOg/XRc6 ekDwdFoaqFpLAcBvGEclnxWPrSGdM5yvktbKs4gpqNQCbZhGnJmXiycKHw532A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4YcDLM1lHdz9Jw; Mon, 20 Jan 2025 15:10:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50KFApZX073396; Mon, 20 Jan 2025 15:10:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50KFAp9H073393; Mon, 20 Jan 2025 15:10:51 GMT (envelope-from git) Date: Mon, 20 Jan 2025 15:10:51 GMT Message-Id: <202501201510.50KFAp9H073393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 013784c967f9 - main - netinet: virtualize net.link.ether.inet.garp_rexmit_count List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 013784c967f994058f701c1fd2a82a2cc0bd90b0 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=013784c967f994058f701c1fd2a82a2cc0bd90b0 commit 013784c967f994058f701c1fd2a82a2cc0bd90b0 Author: Kristof Provost AuthorDate: 2025-01-20 13:19:20 +0000 Commit: Kristof Provost CommitDate: 2025-01-20 13:28:38 +0000 netinet: virtualize net.link.ether.inet.garp_rexmit_count Turn garp_rexmit_count into a per-vnet variable. This immediate use case is to enable easier testing. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/if_ether.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 81f4b901f21b..502261f5f2d9 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -155,11 +155,12 @@ SYSCTL_INT(_net_link_ether_inet, OID_AUTO, max_log_per_second, */ #define MAX_GARP_RETRANSMITS 16 static int sysctl_garp_rexmit(SYSCTL_HANDLER_ARGS); -static int garp_rexmit_count = 0; /* GARP retransmission setting. */ +VNET_DEFINE_STATIC(int, garp_rexmit_count) = 0; /* GARP retransmission setting. */ +#define V_garp_rexmit_count VNET(garp_rexmit_count) SYSCTL_PROC(_net_link_ether_inet, OID_AUTO, garp_rexmit_count, - CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_MPSAFE, - &garp_rexmit_count, 0, sysctl_garp_rexmit, "I", + CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_MPSAFE|CTLFLAG_VNET, + &VNET_NAME(garp_rexmit_count), 0, sysctl_garp_rexmit, "I", "Number of times to retransmit GARP packets;" " 0 to disable, maximum of 16"); @@ -1377,7 +1378,7 @@ garp_rexmit(void *arg) * the callout to retransmit another GARP packet. */ ++ia->ia_garp_count; - if (ia->ia_garp_count >= garp_rexmit_count) { + if (ia->ia_garp_count >= V_garp_rexmit_count) { ifa_free(&ia->ia_ifa); } else { int rescheduled; @@ -1444,7 +1445,7 @@ arp_ifinit(struct ifnet *ifp, struct ifaddr *ifa) NET_EPOCH_ENTER(et); arp_announce_ifaddr(ifp, dst_in->sin_addr, IF_LLADDR(ifp)); NET_EPOCH_EXIT(et); - if (garp_rexmit_count > 0) { + if (V_garp_rexmit_count > 0) { garp_timer_start(ifa); }