public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: netdev@vger.kernel.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH iproute2-next] man: remove libnetlink man page
Date: Mon, 27 Apr 2026 10:28:27 -0700	[thread overview]
Message-ID: <20260427172827.300214-1-stephen@networkplumber.org> (raw)

The iproute2 libnetlink is not a public and stable API.
Having a man page encourages users to think it is available.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 man/Makefile          |   2 +-
 man/man3/Makefile     |  18 ----
 man/man3/libnetlink.3 | 200 ------------------------------------------
 3 files changed, 1 insertion(+), 219 deletions(-)
 delete mode 100644 man/man3/Makefile
 delete mode 100644 man/man3/libnetlink.3

diff --git a/man/Makefile b/man/Makefile
index c0b0d416..91dd8f3d 100644
--- a/man/Makefile
+++ b/man/Makefile
@@ -8,7 +8,7 @@ MAN_CHECK=LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=100 man --warnings \
 # Hide man output, count and print errors.
 MAN_REDIRECT=2>&1 >/dev/null | tee /dev/fd/2 | wc -l
 
-SUBDIRS = man3 man7 man8
+SUBDIRS = man7 man8
 
 all clean install check:
 	@for subdir in $(SUBDIRS); do $(MAKE) -C $$subdir $@ || exit $$?; done
diff --git a/man/man3/Makefile b/man/man3/Makefile
deleted file mode 100644
index 1732be26..00000000
--- a/man/man3/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-MAN3PAGES = $(wildcard *.3)
-
-all:
-
-distclean: clean
-
-clean:
-
-install:
-	$(INSTALLDIR) $(DESTDIR)$(MANDIR)/man3
-	$(INSTALLMAN) $(MAN3PAGES) $(DESTDIR)$(MANDIR)/man3
-
-check:
-	@for page in $(MAN3PAGES); do test 0 -eq $$($(MAN_CHECK) $$page \
-		$(MAN_REDIRECT)) || { echo "Error in $$page"; exit 1; }; done
-
-.PHONY: install clean distclean check
diff --git a/man/man3/libnetlink.3 b/man/man3/libnetlink.3
deleted file mode 100644
index 9a2c801c..00000000
--- a/man/man3/libnetlink.3
+++ /dev/null
@@ -1,200 +0,0 @@
-.TH libnetlink 3
-.SH NAME
-libnetlink \- A library for accessing the netlink service
-.SH SYNOPSIS
-.nf
-#include <asm/types.h>
-.br
-#include <libnetlink.h>
-.br
-#include <linux/netlink.h>
-.br
-#include <linux/rtnetlink.h>
-.sp
-int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions)
-.sp
-int rtnl_wilddump_request(struct rtnl_handle *rth, int family, int type)
-.sp
-int rtnl_send(struct rtnl_handle *rth, char *buf, int len)
-.sp
-int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len)
-.sp
-int rtnl_dump_filter(struct rtnl_handle *rth,
-		     int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *),
-		     void *arg1,
-		     int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-		     void *arg2)
-.sp
-int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
-	      unsigned groups, struct nlmsghdr *answer,
-.br
-	      int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-.br
-	      void *jarg)
-.sp
-int rtnl_listen(struct rtnl_handle *rtnl,
-	      int (*handler)(struct sockaddr_nl *, struct rtnl_ctrl_data *,
-			     struct nlmsghdr *n, void *),
-	      void *jarg)
-.sp
-int rtnl_from_file(FILE *rtnl,
-	      int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-	      void *jarg)
-.sp
-int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data)
-.sp
-int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen)
-.sp
-int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data)
-.sp
-int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen)
-.SH DESCRIPTION
-libnetlink provides a higher level interface to
-.BR rtnetlink (7).
-The read functions return 0 on success and a negative errno on failure.
-The send functions return the amount of data sent, or -1 on error.
-.TP
-rtnl_open
-Open a rtnetlink socket and save the state into the
-.B rth
-handle. This handle is passed to all subsequent calls.
-.B subscriptions
-is a bitmap of the rtnetlink multicast groups the socket will be
-a member of.
-
-.TP
-rtnl_wilddump_request
-Request a full dump of the
-.B type
-database for
-.B family
-addresses.
-.B type
-is a rtnetlink message type.
-.\" XXX
-
-.TP
-rtnl_dump_request
-Request a full dump of the
-.B type
-data buffer into
-.B buf
-with maximum length of
-.B len.
-.B type
-is a rtnetlink message type.
-
-.TP
-rtnl_dump_filter
-Receive netlink data after a request and filter it.
-The
-.B filter
-callback checks if the received message is wanted. It gets the source
-address of the message, the message itself and
-.B arg1
-as arguments. 0 as return means that the filter passed, a negative
-value is returned
-by
-.I rtnl_dump_filter
-in case of error. NULL for
-.I filter
-means to not use a filter.
-.B junk
-is used to filter messages not destined to the local socket.
-Only one message bundle is received. If there is a message
-pending, this function does not block.
-
-.TP
-rtnl_listen
-Receive netlink data after a request and pass it to
-.I handler.
-.B handler
-is a callback that gets the message source address, anscillary data, the message
-itself, and the
-.B jarg
-cookie as arguments. It will get called for all received messages.
-Only one message bundle is received. If there is a message
-pending this function does not block.
-
-.TP
-rtnl_from_file
-Works like
-.I rtnl_listen,
-but reads a netlink message bundle from the file
-.B file
-and passes the messages to
-.B handler
-for parsing. The file should contain raw data as received from a rtnetlink socket.
-.PP
-The following functions are useful to construct custom rtnetlink messages. For
-simple database dumping with filtering it is better to use the higher level
-functions above. See
-.BR rtnetlink (3)
-and
-.BR netlink (3)
-on how to generate a rtnetlink message. The following utility functions
-require a continuous buffer that already contains a netlink message header
-and a rtnetlink request.
-
-.TP
-rtnl_send
-Send the rtnetlink message in
-.B buf
-of length
-.B len
-to handle
-.B rth.
-
-.TP
-addattr32
-Add a __u32 attribute of type
-.B type
-and with value
-.B data
-to netlink message
-.B n,
-which is part of a buffer of length
-.B maxlen.
-
-.TP
-addattr_l
-Add a variable length attribute of type
-.B type
-and with value
-.B data
-and
-.B alen
-length to netlink message
-.B n,
-which is part of a buffer of length
-.B maxlen.
-.B data
-is copied.
-
-.TP
-rta_addattr32
-Initialize the rtnetlink attribute
-.B rta
-with a __u32 data value.
-
-.TP
-rta_addattr32
-Initialize the rtnetlink attribute
-.B rta
-with a variable length data value.
-
-.SH BUGS
-This library is meant for internal use, use libmnl for new programs.
-
-The functions sometimes use fprintf and exit when a fatal error occurs.
-This library should be named librtnetlink.
-
-.SH AUTHORS
-netlink/rtnetlink was designed and written by Alexey Kuznetsov.
-Andi Kleen wrote the man page.
-
-.SH SEE ALSO
-.BR netlink (7),
-.BR rtnetlink (7)
-.br
-/usr/include/linux/rtnetlink.h
-- 
2.53.0


                 reply	other threads:[~2026-04-27 17:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260427172827.300214-1-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox