netdevice(7) Miscellaneous Information Manual netdevice(7) netdevice - #include #include . ioctl . . ifreq: struct ifreq { char ifr_name[IFNAMSIZ]; /* Interface name */ union { struct sockaddr ifr_addr; struct sockaddr ifr_dstaddr; struct sockaddr ifr_broadaddr; struct sockaddr ifr_netmask; struct sockaddr ifr_hwaddr; short ifr_flags; int ifr_ifindex; int ifr_metric; int ifr_mtu; struct ifmap ifr_map; char ifr_slave[IFNAMSIZ]; char ifr_newname[IFNAMSIZ]; char *ifr_data; }; }; AF_INET6 . in6_ifreq: struct in6_ifreq { struct in6_addr ifr6_addr; u32 ifr6_prefixlen; int ifr6_ifindex; /* Interface index */ }; ifr_name ifr6_ifindex . . Ioctls ioctl 0 CAP_NET_ADMIN. EPERM. SIOCGIFNAME ifr_ifindex ifr_name. ioctl ifr_name. SIOCGIFINDEX ifr_ifindex. SIOCGIFFLAGS SIOCSIFFLAGS . ifr_flags : IFF_UP . IFF_BROADCAST . IFF_DEBUG . IFF_LOOPBACK . IFF_POINTOPOINT . IFF_RUNNING . IFF_NOARP ARP 2 . IFF_PROMISC . IFF_NOTRAILERS . IFF_ALLMULTI . IFF_MASTER . IFF_SLAVE . IFF_MULTICAST IFF_PORTSEL ifmap. IFF_AUTOMEDIA . IFF_DYNAMIC . L1 ( Linux 2.6.17) L1 ( Linux 2.6.17) ( Linux 2.6.17) ( Linux 2.6.17) ( Linux 2.6.25) Echo ( Linux 2.6.25) . SIOCGIFPFLAGS SIOCSIFPFLAGS () . ifr_flags : IFF_802_1Q_VLAN VLAN 802.1Q. IFF_EBRIDGE . IFF_SLAVE_INACTIVE . IFF_MASTER_8023AD 802.3ad. IFF_MASTER_ALB -alb. IFF_BONDING . IFF_SLAVE_NEEDARP ARPs . IFF_ISATAP ISATAP RFC4214. () . SIOCGIFADDR SIOCSIFADDR SIOCDIFADDR ifr_addr ifr6_addr ifr6_prefixlen. . SIOCGIFADDR AF_INET SIOCSIFADDR AF_INET AF_INET6 SIOCDIFADDR AF_INET6 . AF_INET SIOCSIFADDR. SIOCGIFDSTADDR SIOCSIFDSTADDR ifr_dstaddr. AF_INET . . SIOCGIFBRDADDR SIOCSIFBRDADDR ifr_brdaddr. AF_INET . . SIOCGIFNETMASK SIOCSIFNETMASK ifr_netmask. AF_INET . . SIOCGIFMETRIC SIOCSIFMETRIC ifr_metric. ifr_metric 0 EOPNOTSUPP . SIOCGIFMTU SIOCSIFMTU MTU ( ) ifr_mtu. MTU . MTU . SIOCGIFHWADDR SIOCSIFHWADDR ifr_hwaddr. sockaddr. sa_family ARPHRD_* sa_data 2 0. . SIOCSIFHWBROADCAST ifr_hwaddr. . SIOCGIFMAP SIOCSIFMAP ifr_map. . struct ifmap { unsigned long mem_start; unsigned long mem_end; unsigned short base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; ifmap . SIOCADDMULTI SIOCDELMULTI ifr_hwaddr. . packet(7) . SIOCGIFTXQLEN SIOCSIFTXQLEN ifr_qlen. . SIOCSIFNAME ifr_name ifr_newname. . . SIOCGIFCONF ( ). AF_INET (IPv4) . ioctl ifconf: struct ifconf { int ifc_len; /* size of buffer */ union { char *ifc_buf; /* buffer address */ struct ifreq *ifc_req; /* array of structures */ }; }; ifc_req SIOCGIFCONF ifc_len. ifc_req ifreq L3 . ifc_len . ifreq ifr_name ifr_addr . ifc_len. ifc_len . . SIOCGIFCONF ifc_req NULL ifc_len sizeof(struct ifreq) . ifconf ifreq EFAULT. ioctls . . IP ip(7). ioctls . . SIOCGIFCONF ioctls AF_INET IP ip(7). IFF_RUNNING /proc/net/dev. IPv6 /proc/net/if_inet6 rtnetlink(7). IPv6 IPv6 SIOCSIFADDR SIOCDIFADDR rtnetlink(7). IPv6 -- rtnetlink(7). glibc 2.1 ifr_newname . : #ifndef ifr_newname #define ifr_newname ifr_ifru.ifru_slave #endif proc(5) capabilities(7) ip(7) rtnetlink(7) 3 . . : . 6.18 8 2026 netdevice(7)