2 .\" Don't change the first line, it tells man that tbl is needed.
3 .\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
4 .\" Permission is granted to distribute possibly modified copies
5 .\" of this page provided the header is included verbatim,
6 .\" and in case of nontrivial modification author and date
7 .\" of the modification is added to the header.
8 .\" $Id: netdevice.7,v 1.10 2001/08/15 18:01:06 hanataka Exp $
10 .\" Modified, 2004-11-25, mtk, formatting and a few wording fixes
12 .\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
13 .\" Translated Mon 6 Dec 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
14 .\" Updated Wed 14 Feb 2001 by Kentaro Shirakata <argrath@ub32.org>
15 .\" Updated 2009-02-12 by Kentaro Shirakata <argrath@ub32.org>
17 .\"WORD load balancing bundle Éé²Ùʬ»¶¥°¥ë¡¼¥×
18 .\"WORD file descriptor ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
19 .\"WORD capability ¸¢¸Â
21 .TH NETDEVICE 7 2009-01-14 "Linux" "Linux Programmer's Manual"
23 netdevice \- Linux ¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤Ø¤ÎÄã¥ì¥Ù¥ë¥¢¥¯¥»¥¹
25 .B "#include <sys/ioctl.h>"
27 .B "#include <net/if.h>"
29 ¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¤¿¤á¤Ë
30 ÍѤ¤¤ë¥½¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ²òÀ⤹¤ë¡£
32 Linux ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¤¿¤á¤Îɸ½àŪ¤Ê ioctl ¤ò
33 ¤¤¤¯¤Ä¤«È÷¤¨¤Æ¤¤¤ë¡£¤³¤ì¤é¤Ï¤É¤ó¤Ê¥½¥±¥Ã¥È¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤â
34 ÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤ë¡£¥Õ¥¡¥ß¥ê¡¼¤ä¥¿¥¤¥×¤Ï²¿¤Ç¤â¤è¤¤¡£
42 char ifr_name[IFNAMSIZ]; /* Interface name */
44 struct sockaddr ifr_addr;
45 struct sockaddr ifr_dstaddr;
46 struct sockaddr ifr_broadaddr;
47 struct sockaddr ifr_netmask;
48 struct sockaddr ifr_hwaddr;
54 char ifr_slave[IFNAMSIZ];
55 char ifr_newname[IFNAMSIZ];
61 int ifc_len; /* size of buffer */
63 char *ifc_buf; /* buffer address */
64 struct ifreq *ifc_req; /* array of structures */
70 Ä̾¥æ¡¼¥¶¡¼¤Ë¤è¤ëÀßÄêÂоݥǥХ¤¥¹¤Î»ØÄê¤Ï¡¢
72 ¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¦¡£
73 ¾¤Î¹½Â¤ÂΤÎÁ´¤Æ¤Î¥á¥ó¥Ð¤Ï¡¢¥á¥â¥ê¤ò¶¦Í¤¹¤ë¡£
75 ¡ÖÆø¢¤¬É¬Íספȵ½Ò¤µ¤ì¤Æ¤¤¤ë ioctl ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢
76 ¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤«¡¢
78 ¸¢¸Â¤¬É¬ÍפǤ¢¤ë¡£¤³¤ì¤¬Ëþ¤¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï
84 ¤ò¼õ¤±¼è¤ê¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
86 ¤ËÆþ¤ì¤ÆÊÖ¤¹¡£¤³¤ì¤Ï·ë²Ì¤ò
88 ¤È¤·¤ÆÊÖ¤¹Í£°ì¤Î ioctl ¤Ç¤¢¤ë¡£
91 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î interface index ¤ò¼èÆÀ¤·¡¢
95 .BR SIOCGIFFLAGS ", " SIOCSIFFLAGS
96 ¥Ç¥Ð¥¤¥¹¤Î active ¥Õ¥é¥°¥ï¡¼¥É¤ò¼èÆÀ¤Þ¤¿¤ÏÀßÄꤹ¤ë¡£
98 ¤Ë¤Ï°Ê²¼¤ÎÃͤΥӥåȥޥ¹¥¯¤¬Æþ¤ë¡£
104 IFF_UP:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÏÆ°ºîÃæ¡£
106 ͸ú¤Ê¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¡£
108 IFF_DEBUG:ÆâÉô¤Î¥Ç¥Ð¥Ã¥°¥Õ¥é¥°¡£
109 IFF_LOOPBACK:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¥ë¡¼¥×¥Ð¥Ã¥¯¤Ç¤¢¤ë¡£
111 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï point-to-point ¥ê¥ó¥¯¤Ç¤¢¤ë¡£
113 IFF_RUNNING:¥ê¥½¡¼¥¹¤¬³ä¤êÅö¤ÆºÑ¤ß¡£
114 IFF_NOARP:arp ¥×¥í¥È¥³¥ë¤¬¤Ê¤¤¡£
115 IFF_PROMISC:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï promiscuous ¥â¡¼¥É¤Ç¤¢¤ë¡£
116 IFF_NOTRAILERS:trailer ¤ÎÍøÍѤòÈò¤±¤ë¡£
117 IFF_ALLMULTI:Á´¤Æ¤Î¥Þ¥ë¥Á¥¥ã¥¹¥È¥Ñ¥±¥Ã¥È¤ò¼õ¿®¤¹¤ë¡£
118 IFF_MASTER:Éé²Ùʬ»¶¥°¥ë¡¼¥×¤Î¥Þ¥¹¥¿¡¼¤Ç¤¢¤ë¡£
119 IFF_SLAVE:Éé²Ùʬ»¶¥°¥ë¡¼¥×¤Î¥¹¥ì¡¼¥Ö¤Ç¤¢¤ë¡£
120 IFF_MULTICAST:¥Þ¥ë¥Á¥¥ã¥¹¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
121 IFF_PORTSEL:ifmap ¤Ë¤è¤Ã¤Æ¥á¥Ç¥£¥¢¥¿¥¤¥×¤òÁªÂò¤Ç¤¤ë¡£
122 IFF_AUTOMEDIA:¼«Æ°¥á¥Ç¥£¥¢ÁªÂò¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
124 ¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬ÊĤ¸¤ë¤È¡¢¥¢¥É¥ì¥¹¤Ï¼º¤ï¤ì¤ë¡£
126 IFF_LOWER_UP:¥É¥é¥¤¥Ð¤«¤é¤Î L1 ¥¢¥Ã¥×¤ÎÄÌÃÎ (Linux 2.6.17 °Ê¹ß)
127 IFF_DORMANT:¥É¥é¥¤¥Ð¤«¤é¤ÎµÙ»ß¾õÂÖ¤ÎÄÌÃÎ (Linux 2.6.17 °Ê¹ß)
128 IFF_ECHO:Á÷¤é¤ì¤¿¥Ñ¥±¥Ã¥È¤ò¥¨¥³¡¼¤¹¤ë (Linux 2.6.25 °Ê¹ß)
132 active ¥Õ¥é¥°¥ï¡¼¥É¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
133 ¤·¤«¤·Æɤ߽Ф·¤Ï¤É¤ó¤Ê¥×¥í¥»¥¹¤«¤é¤â²Äǽ¤Ç¤¢¤ë¡£
135 .BR SIOCGIFMETRIC ", " SIOCSIFMETRIC
136 ¥Ç¥Ð¥¤¥¹¤Î¥á¥È¥ê¥Ã¥¯¤ò
138 ¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
139 ¤³¤ì¤Ï¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Æɤ߽Ф½¤¦¤È¤¹¤ë¤È
141 ¤Ë 0 ¤ò¥»¥Ã¥È¤·¤ÆÊ֤ꡢÀßÄꤷ¤è¤¦¤È¤¹¤ë¤È
145 .BR SIOCGIFMTU ", " SIOCSIFMTU
146 ¥Ç¥Ð¥¤¥¹¤Î MTU (Maximum Transfer Unit) ¤ò
148 ¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£ MTU ¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
149 MTU ¤ÎÃͤò¾®¤µ¤¯¤·¤¹¤®¤ë¤È¥«¡¼¥Í¥ë¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
151 .BR SIOCGIFHWADDR ", " SIOCSIFHWADDR
152 ¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤ò
154 ¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
155 ¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤Ï
159 ¤Ë¤Ï ARPHRD_* ¥Ç¥Ð¥¤¥¹¥¿¥¤¥×¤¬Æþ¤ê¡¢
161 ¤Ë¤Ï¥Ð¥¤¥È 0 ¤«¤é»Ï¤Þ¤ë L2 ¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤¬Æþ¤ë¡£
162 ¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
164 .B SIOCSIFHWBROADCAST
165 ¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò
167 ¤ÎÃͤËÀßÄꤹ¤ë¡£¤³¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
169 .BR SIOCGIFMAP ", " SIOCSIFMAP
170 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ñ¥é¥á¡¼¥¿¤ò
172 ¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
173 ¥Ñ¥é¥á¡¼¥¿¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
178 unsigned long mem_start;
179 unsigned long mem_end;
180 unsigned short base_addr;
188 ifmap ¹½Â¤ÂΤβò¼á¤Ï¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤È¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ë°Í¸¤¹¤ë¡£
190 .BR SIOCADDMULTI ", " SIOCDELMULTI
191 ¥Ç¥Ð¥¤¥¹¤Î¥ê¥ó¥¯ÁؤΥޥë¥Á¥¥ã¥¹¥È¥Õ¥£¥ë¥¿¡¼¤«¤é¡¢
193 ¤Î¥¢¥É¥ì¥¹¤òÄɲᦺï½ü¤¹¤ë¡£¤³¤ì¤é¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
198 .BR SIOCGIFTXQLEN ", " SIOCSIFTXQLEN
199 ¥Ç¥Ð¥¤¥¹¤ÎÁ÷¿®¥¥å¡¼¤ÎŤµ¤ò
201 ¤Ë¼èÆÀ¡¦ÀßÄꤹ¤ë¡£Á÷¿®¥¥å¡¼¤ÎŤµ¤ÎÀßÄê¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
205 ¤Ç»ØÄꤷ¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
207 ¤ËÊѹ¹¤¹¤ë¡£¤³¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬ up ¤·¤Æ¤¤¤Ê¤¤
211 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹(¥È¥é¥ó¥¹¥Ý¡¼¥ÈÁØ)¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£
212 ¸½ºß¤Î¤È¤³¤í¡¢¸ß´¹À¤Î¤¿¤á¤Ë
214 (IPv4) ¥Õ¥¡¥ß¥ê¡¼¤Î¥¢¥É¥ì¥¹¤Î¤ß¤Ç¤¢¤ë¡£
217 ¹½Â¤ÂΤò ioctl ¤Î°ú¿ô¤È¤·¤ÆÅϤ¹¡£
221 ¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë
223 ¤È¡¢¥Ð¥¤¥Èñ°Ì¤ÎÇÛÎó¤ÎŤµ¤ò»ØÄꤹ¤ë
226 ¥«¡¼¥Í¥ë¤Ï ifreqs ¤ò¸½ºßÆ°ºî¤·¤Æ¤¤¤ëÁ´¤Æ¤Î L3 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¥¢¥É¥ì¥¹¤ÇËä¤á¤ë¡£
228 ¤Ë¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ì¾ (eth0:1 ¤Ê¤É) ¤¬Æþ¤ê¡¢
231 ¥«¡¼¥Í¥ë¤Ï¼ÂºÝ¤ÎŤµ¤ò
235 ¤¬¸µ¤Î¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤ÈƱ¤¸¤À¤Ã¤¿¾ì¹ç¡¢
236 ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
237 Á´¤Æ¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤è¤êÂ礤ʥХåե¡¤ÇºÆ»î¹Ô¤¹¤ë¤Ù¤¤Ç¤¢¤ë¡£
238 ¥¨¥é¡¼¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï ioctl ¤Ï 0 ¤òÊÖ¤¹¡£
239 ¥¨¥é¡¼¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹¡£
240 ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ï¥¨¥é¡¼¤È¤Ï¸«¤Ê¤µ¤ì¤Ê¤¤¡£
241 .\" Slaving isn't supported in 2.2
244 .\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
245 .\" Get or set the slave device using
247 .\" Setting the slave device is a privileged operation.
249 .\" FIXME add amateur radio stuff.
251 ¤Û¤È¤ó¤É¤Î¥×¥í¥È¥³¥ë¤Ë¤Ï¡¢ÀìÍѤΥ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¥ª¥×¥·¥ç¥ó¤ò
252 ÀßÄꤹ¤ë¤¿¤á¤ÎÆȼ«¤Î ioctl ¤¬Â¸ºß¤¹¤ë¡£
253 ÀâÌÀ¤Ï³Æ¥×¥í¥È¥³¥ë¤Î man ¥Ú¡¼¥¸¤ò¸«¤è¡£
255 ¤µ¤é¤Ë¡¢¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¤Ï¥×¥é¥¤¥Ù¡¼¥È¤Ê ioctl ¤¬¤¢¤ë¡£
256 ¤³¤ì¤é¤Ï¤³¤³¤Ç¤ÏÀâÌÀ¤·¤Ê¤¤¡£
264 ¥¢¥É¥ì¥¹¤¬¤Ê¤«¤Ã¤¿¤ê¡¢
266 ¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤Ï
270 ¥í¡¼¥«¥ë IPV6 IP ¥¢¥É¥ì¥¹¤Ï
281 ¤È¤ê¤¢¤¨¤º¤ÎÂбþºö¤È¤·¤Æ¡¢°Ê²¼¤Î¥³¡¼¥É¤òÄɲ䷤Ƥª¤¯¤³¤È¡£
286 #define ifr_newname ifr_ifru.ifru_slave
293 .BR capabilities (7),