From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=209.85.216.54 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794166066; b=4HDZQPYzY8qssIJiWM2KaTnUUJs3bEE0wZTwT5LN4Bc3n8Hgnxo08kCEbW+R1joh/Sda kHTyel99ykJXjIWnHIELIZhGCIXXRfMMlZe9w2od6iQ8xx0MSWouo17b84om6YZls9zjc pAM7udVrbtCHpNqU5/jF5Ia2o3Cft/om+/XqqwdW0KHVoyckqALdLXube+ZQJVQWYwZFx 9NviBcQOqE5ZHxPGAoBOgrUB8JqTPcc1C9daz+skl6srK8Y9+PBkV0IpjmzEmkwRXK0xP eNkrH6xBVpor1wO9VLqkYY1ZVyggsgqbXNO9qGGUlnOvfay8DoueM3Ne3+wgLDrbTaw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794166066; h=DMARC-Filter:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Gm-Message-State:X-Gm-Gg:X-Received:Received:From:To:Cc:Subject: Date:Message-ID:X-Mailer:MIME-Version:Content-Transfer-Encoding; bh=GyXlmDFP3D+kJWlEExv7B4QAUsixeEYodOjbjRPUa1w=; b=f+5aEFePl9kBLqRs6hsG+jilTg5+Iymnm70u5nDCZQh8xU/KwBBuEWRBqVw4jZ3c/Cdj xHqBCwACkAtFrSiA+BT9YwdbB4sP/6fRU3LolhT1LoFSgvYlrU0K7M3NQtRXfZtw2tvlT qpfu0/fDmAVtrF8Mb+N+8tKd4maj2r74TqgbkeKMHhSMkEmJIeGR/J0WGgg+smLcltzZP 83mnJCh8gn8Vj8JUlWncxw6+vE151PSLFOtWQf9tmP/Rho0kYLifVE6LrlRfuCTkZSOxj 3Ay69DyM2BgcC5vBDz54UqQ9U8jJQxE0v5WP47EUGmQUEElImXO1uxAIxerjoSIgF2g== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=networkplumber.org; spf=pass smtp.mailfrom=networkplumber.org; dkim=pass header.d=networkplumber-org.20260707.gappssmtp.com header.i=@networkplumber-org.20260707.gappssmtp.com header.a=rsa-sha256 header.s=20260707 header.b="l8S/ZRg0"; arc=none smtp.remote-ip=209.85.216.54 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A19A606A323 for ; Sun, 8 Nov 2026 19:27:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 3A19A606A323 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=networkplumber.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=networkplumber.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=networkplumber-org.20260707.gappssmtp.com header.i=@networkplumber-org.20260707.gappssmtp.com header.a=rsa-sha256 header.s=20260707 header.b=l8S/ZRg0 Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-3ac91ac8924so115377a91.1 for ; Sun, 08 Nov 2026 11:27:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20260707.gappssmtp.com; s=20260707; t=1794166064; x=1794770864; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=GyXlmDFP3D+kJWlEExv7B4QAUsixeEYodOjbjRPUa1w=; b=l8S/ZRg0bgDI3x+j5UInykzAtNv7DIMoBxERXNZgkmkmIv4utyJJYZ3RvrcMTfNiIy /v2jD/FkNF2s2nBx+ozC6OHL5N3RRVZ9T6iLqqx4O6NIjzDe8Kx1b2TnJ5bIkb4lVmXb UVF4jQofl09Ml+OZYxoqfOLMxj2bkfRyoQEn9Ak2yn8vtxwwQGth+K5+ddPVf7KIvmSs vJNOUv/50ab7XOm0kliLpNWlb/qNwWYBPm6bleNhe/34fx+x6jPkH6kA+Xoj26iExiXF toZFZEBdGST985j7OlZhfmAoZ0GUZr4agrQHR9WLHL1ywmrIDqJ0Bas05UY+whaBZuF6 GfCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794166064; x=1794770864; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=GyXlmDFP3D+kJWlEExv7B4QAUsixeEYodOjbjRPUa1w=; b=GjpWRGZdpRCzOHhREFF3as/ZgkMY5gMHTSoiDsFYtu5KoBys9tkJAIqSvvmd8pF8eE ui1xS+CJWzwzGgZlUX1fN+qTGhK00elXipR3T9052TTIj/BHTpRqtO6azpk5Kh7//qBQ jGstyYQZfc8oUpw9VxLKJ1hgX0VRJOs5X4tMDAyoZUy4qFCmpjBonlqcAsWqiMMkvKop hy1aKRM2Kb4+qvXKBv+upGNVk49lPmfvYqjmJfWYbNNtvyW3X42sNonIbPzHVySixm+i zdH4BdB42Kx8PINJfxIBRAonjrzDVOgwZo1GMtdwNOmUrwKZRlGblFbBzcQqMHTVl4KC 8J4g== X-Gm-Message-State: APuU4Z9jh2fTswiwDnpt84wTFwD0OCAS6/Q061eTmOqHHrX4/4Ei+YWc Ibmi5u9FV6vUfPauA2z2gwfXPtYey27tYdKFxm/LgHnFqEg52DCEySFOqZq8Ae4EYAefOvNX17S a1Ste X-Gm-Gg: AYBFou3UU9YYkgmJl/Y/5Szj5iIDE3FvtNheV6NQexsOg/xbZXlveS4Sv19deZT7qIf UXT30gxsg/Crwcb1r3g+NUAyeoZAUOJEtSm+MyoPtO5jhP8UzI6DouS46wuSwSLKN33PQ+RZUIF 3xbxlDo3r52VNaOTmva6t5a2PbbdZh/YN83BYyrN+22EaEdL7j0vBQ7UXHb05yN8jWkgtqvhwXF H8OEQn5XmrMNprVOiw5/25JXpiEecgmcp8xzVBCYVKXFBTOu/7sezl4fXOLjjCNpK8X9ZUJ9zqx y+A2IeQOOcexTOXWh9RCgPLVWTBHRDklr8Tbiwrc+7dYZ5bGm0v4UKsBpC7eTlxj4MuDPryuBP1 dxUQ1MYEq4LSx/io31Gxfmym86a4eHpVwRi874XUmdpc95SLEsZOQGb4GObEooYUZby7Iqbk8rU m4VLW/E4neiWUFiONKqN05DUKfhLTU2yV5TCmT6L9NYoOtNPm8AVIUWOdPPjXsFPAKatxY0+ITY YxIZcsY6ag0F8PS+IrJO6HMf+VGrWTd21+sh/6MBMHyXbawDYmkspZS8EjwAYk7VhofYNMGWhhZ I2d3dSIntDtAU2x8NLrh9Ays+G5wIF3nUSiZzNjSwT27uNG2sjAdnkfVcM5ji4Pfd1HZ X-Received: by 2002:a17:90b:3dcf:b0:3ac:9e76:aa9b with SMTP id 98e67ed59e1d1-3b12d0ea196mr1953824a91.7.1794166064108; Sun, 08 Nov 2026 11:27:44 -0800 (PST) Received: from phoenix.lan (204-195-112-43.wavecable.com. [204.195.112.43]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3b105904951sm7967139a91.16.2026.11.08.11.27.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:27:43 -0800 (PST) From: Stephen Hemminger To: netdev@vger.kernel.org Cc: dsahern@kernel.org, Stephen Hemminger Subject: [PATCH iproute2-next] arpd: remove Date: Sun, 8 Nov 2026 11:27:40 -0800 Message-ID: <20261108192740.929163-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.53.0 X-Mailing-List: netdev@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit arpd, the userspace ARP daemon, passed away quietly in misc/. Born last century to Alexey Kuznetsov, it spent its youth answering kernel neighbour solicitations for networks too large for the in-kernel table, keeping its memories in a Berkeley DB file. In its final years its only visitors were tree-wide cleanups, who stopped by to add an SPDX tag and fix its whitespace. It outlived the problem it was built to solve, as neighbour tables grew up and learned to take care of themselves. arpd was predeceased by its lifelong companion libdb, which Fedora has already laid to rest; Debian is making arrangements. Unable to build without it, arpd chose to go with dignity rather than be kept alive on a bundled copy. It is survived by ip neigh, which does the job without a database. In lieu of flowers, please drop libdb from your build dependencies. Signed-off-by: Stephen Hemminger --- Makefile | 1 - README | 11 +- man/man8/arpd.8 | 69 ---- misc/.gitignore | 1 - misc/Makefile | 7 - misc/arpd.c | 841 ------------------------------------------------ 6 files changed, 2 insertions(+), 928 deletions(-) delete mode 100644 man/man8/arpd.8 delete mode 100644 misc/arpd.c diff --git a/Makefile b/Makefile index 6f5d4765..8f581a48 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,6 @@ CONF_ETC_DIR?=/etc/iproute2 CONF_USR_DIR?=$(DATADIR)/iproute2 DOCDIR?=$(DATADIR)/doc/iproute2 MANDIR?=$(DATADIR)/man -ARPDDIR?=/var/lib/arpd KERNEL_INCLUDE?=/usr/include BASH_COMPDIR?=$(DATADIR)/bash-completion/completions diff --git a/README b/README index 6ddf6015..7b612870 100644 --- a/README +++ b/README @@ -27,21 +27,14 @@ Support (LTS) kernel version. How to compile this. -------------------- -1. libdbm -arpd needs to have the berkeleydb development libraries. For Debian -users this is the package with a name like libdbX.X-dev. -DBM_INCLUDE points to the directory with db_185.h which -is the include file used by arpd to get to the old format Berkeley -database routines. Often this is in the db-devel package. - -2. make +1. make The makefile will automatically build a config.mk file which contains definitions of libraries that may or may not be available on the system such as: ATM, ELF, MNL, and SELINUX. -3. include/uapi +2. include/uapi This package includes matching sanitized kernel headers because the build environment may not have up to date versions. See Makefile diff --git a/man/man8/arpd.8 b/man/man8/arpd.8 deleted file mode 100644 index 5050a98b..00000000 --- a/man/man8/arpd.8 +++ /dev/null @@ -1,69 +0,0 @@ -.TH ARPD 8 "28 June, 2007" - -.SH NAME -arpd \- userspace arp daemon. - -.SH SYNOPSIS -Usage: arpd [ -lkh? ] [ -a N ] [ -b dbase ] [ -B number ] [ -f file ] [-p interval ] [ -n time ] [ -R rate ] [ ] - -.SH DESCRIPTION -The -.B arpd -daemon collects gratuitous ARP information, saving it on local disk and feeding it to the kernel on demand to avoid redundant broadcasting due to limited size of the kernel ARP cache. - -.SH OPTIONS -.TP --h -? -Print help -.TP --l -Dump the arpd database to stdout and exit. The output consists of three columns: the interface index, the IP address of the interface, and the MAC address of the interface. Negative entries for dead hosts are also shown, in this case the MAC address is replaced by the word FAILED followed by a colon and the most recent time when the fact that the host is dead was proven. -.TP --f -Read and load an arpd database from FILE in a text format similar to that dumped by option -l. Exit after load, possibly listing resulting database, if option -l is also given. If FILE is -, stdin is read to get the ARP table. -.TP --b -the location of the database file. The default location is /var/lib/arpd/arpd.db -.TP --a -With this option, arpd not only passively listens for ARP packets on the interface, but also sends broadcast queries itself. NUMBER is the number of such queries to make before a destination is considered dead. When arpd is started as kernel helper (i.e. with app_solicit enabled in sysctl or even with option -k) without this option and still did not learn enough information, you can observe 1 second gaps in service. Not fatal, but not good. -.TP --k -Suppress sending broadcast queries by the kernel. This option only makes sense together with option -a. -.TP --n