Hello Pali, Thanks for the patych! On 1/10/21 5:38 PM, Pali Rohár wrote: > On Saturday 02 January 2021 19:39:52 Pali Rohár wrote: >> Also add description for struct in6_ifreq which is used for IPv6 addresses. >> >> SIOCSIFADDR and SIOCDIFADDR can be used to add or delete IPv6 address and >> pppd is using these ioctls for a long time. Surprisingly SIOCDIFADDR cannot >> be used for deleting IPv4 address but only for IPv6 addresses. >> >> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx> I think I have no further comments to add beyond those that Alex made. But, are any tweaks need in the light of Dmitry's comments? Thanks, Michael >> --- >> man7/netdevice.7 | 50 +++++++++++++++++++++++++++++++++++++++++------- >> 1 file changed, 43 insertions(+), 7 deletions(-) > > Hello! Is something else needed for this patch? > >> diff --git a/man7/netdevice.7 b/man7/netdevice.7 >> index 488e83d9a..12f94bfd7 100644 >> --- a/man7/netdevice.7 >> +++ b/man7/netdevice.7 >> @@ -55,9 +55,26 @@ struct ifreq { >> .EE >> .in >> .PP >> +AF_INET6 is an exception. >> +It passes an >> +.I in6_ifreq >> +structure: >> +.PP >> +.in +4n >> +.EX >> +struct in6_ifreq { >> + struct in6_addr ifr6_addr; >> + u32 ifr6_prefixlen; >> + int ifr6_ifindex; /* Interface index */ >> +}; >> +.EE >> +.in >> +.PP >> Normally, the user specifies which device to affect by setting >> .I ifr_name >> -to the name of the interface. >> +to the name of the interface or >> +.I ifr6_ifindex >> +to the index of the interface. >> All other members of the structure may >> share memory. >> .SS Ioctls >> @@ -142,13 +159,32 @@ IFF_ISATAP:Interface is RFC4214 ISATAP interface. >> .PP >> 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 >> +.BR SIOCGIFADDR ", " SIOCSIFADDR ", " SIOCDIFADDR >> +Get, set or delete the address of the device using >> +.IR ifr_addr , >> +or >> +.I ifr6_addr >> +with >> +.IR ifr6_prefixlen . >> +Setting or deleting the interface address is a privileged operation. >> +For compatibility, >> +.B SIOCGIFADDR >> +returns only >> .B AF_INET >> -addresses are accepted or returned. >> +addresses, >> +.B SIOCSIFADDR >> +accepts >> +.B AF_INET >> +and >> +.B AF_INET6 >> +addresses and >> +.B SIOCDIFADDR >> +deletes only >> +.B AF_INET6 >> +addresses. >> +.B AF_INET >> +address can be deleted by setting zero address via >> +.BR SIOCSIFADDR . >> .TP >> .BR SIOCGIFDSTADDR ", " SIOCSIFDSTADDR >> Get or set the destination address of a point-to-point device using >> -- >> 2.20.1 >> -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/