From c643e947f7edcd293f93998145a52f88699457ff Mon Sep 17 00:00:00 2001 From: "Brian F. G. Bidulock" Date: Mon, 23 Apr 2012 08:29:44 +1200 Subject: [PATCH] netdevice.7: Document some SIOC configuration ioctls This patch adds common but missing SIOC configuration ioctls to the netdevice.7 manual pages that are not documented anywhere else. SIOCSIFPFLAGS and SIOCGIFPFLAGS are linux-specific. Flag values come from Linux 2.6.25 kernel headers for sockios. The others are standard BSD ioctls that have alwasy been implemented by Linux and were verified from inspecting netdevice.c kernel code. Signed-off-by: Michael Kerrisk --- man7/netdevice.7 | 63 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/man7/netdevice.7 b/man7/netdevice.7 index d85472251..a19060cb4 100644 --- a/man7/netdevice.7 +++ b/man7/netdevice.7 @@ -9,7 +9,10 @@ .\" .\" Modified, 2004-11-25, mtk, formatting and a few wording fixes .\" -.TH NETDEVICE 7 2009-01-14 "Linux" "Linux Programmer's Manual" +.\" Modified, 2011-11-02, , added many basic +.\" but missing ioctls, such as SIOCGIFADDR. +.\" +.TH NETDEVICE 7 2011-11-02 "Linux" "Linux Programmer's Manual" .SH NAME netdevice \- Low level access to Linux network devices .SH SYNOPSIS @@ -120,6 +123,59 @@ IFF_ECHO:Echo sent packets (since Linux 2.6.25) Setting the active flag word is a privileged operation, but any process may read it. .TP +.BR SIOCGIFPFLAGS ", " SIOCSIFPFLAGS +Get or set extended (private) flags for the device. +.I ifr_flags +contains a bit mask of the following values: +.TS +tab(:); +c s +l l. +Private flags +IFF_802_1Q_VLAN:Interface is 802.1Q VLAN device. +IFF_EBRIDGE:Interface is Ethernet bridging device. +IFF_SLAVE_INACTIVE:Interface is inactive bonding slave. +IFF_MASTER_8023AD:Interface is 802.3ad bonding master. +IFF_MASTER_ALB:Interface is balanced-alb bonding master. +IFF_BONDING:Interface is a bonding master or slave. +IFF_SLAVE_NEEDARP:Interface needs ARPs for validation. +IFF_ISATAP:Interface is RFC4214 ISATAP interface. +.TE +.sp +Setting the extended (private) interface flags is a privileged operation. +.TP +.BR SIOCGIFADDR ", " SIOCSIFADDR +Get or set the address of the device using +.IR ifr_addr . +Setting the interface address is a privileged operation. +For compatibility, only +.B AF_INET +addresses are accepted or returned. +.TP +.BR SIOCGIFDSTADDR ", " SIOCSIFDSTADDR +Get or set the destination address of a point-to-point device using +.IR ifr_dstaddr . +For compatibility, only +.B AF_INET +addresses are accepted or returned. +Setting the destination address is a privileged operation. +.TP +.BR SIOCGIFBRDADDR ", " SIOCSIFBRDADDR +Get or set the broadcast address for a device using +.IR ifr_brdaddr . +For compatibility, only +.B AF_INET +addresses are accepted or returned. +Setting the broadcast address is a privileged operation. +.TP +.BR SIOCGIFNETMASK ", " SIOCSIFNETMASK +Get or set the network mask for a device using +.IR ifr_netmask . +For compatibility, only +.B AF_INET +addresses are accepted or returned. +Setting the network mask is a privileged operation. +.TP .BR SIOCGIFMETRIC ", " SIOCSIFMETRIC Get or set the metric of the device using .IR ifr_metric . @@ -247,7 +303,10 @@ These are not described here. .SH NOTES Strictly speaking, .B SIOCGIFCONF -is IP specific and belongs in +and the other ioctls that only accept or return +.B AF_INET +socket addresses, +are IP specific and belong in .BR ip (7). .LP The names of interfaces with no addresses or that don't have the