OSDN Git Service

LDP: Update POT and ja.po to LDP v3.68
[linuxjm/LDP_man-pages.git] / po4a / netlink / po / netlink.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2014-06-08 01:30+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man3/netlink.3:10 build/C/man7/netlink.7:11
21 #, no-wrap
22 msgid "NETLINK"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man3/netlink.3:10
27 #, no-wrap
28 msgid "2014-03-20"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man3/netlink.3:10 build/C/man3/rtnetlink.3:12
33 #, no-wrap
34 msgid "GNU"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man3/netlink.3:10 build/C/man7/netlink.7:11 build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:15
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man3/netlink.3:11 build/C/man7/netlink.7:12 build/C/man3/rtnetlink.3:13 build/C/man7/rtnetlink.7:16
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man3/netlink.3:13
51 msgid "netlink - Netlink macros"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man3/netlink.3:13 build/C/man7/netlink.7:14 build/C/man3/rtnetlink.3:15 build/C/man7/rtnetlink.7:18
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man3/netlink.3:16
62 #, no-wrap
63 msgid "B<#include E<lt>asm/types.hE<gt>>\n"
64 msgstr ""
65
66 #. type: Plain text
67 #: build/C/man3/netlink.3:18
68 #, no-wrap
69 msgid "B<#include E<lt>linux/netlink.hE<gt>>\n"
70 msgstr ""
71
72 #. type: Plain text
73 #: build/C/man3/netlink.3:20
74 #, no-wrap
75 msgid "B<int NLMSG_ALIGN(size_t >I<len>B<);>\n"
76 msgstr ""
77
78 #. type: Plain text
79 #: build/C/man3/netlink.3:22
80 #, no-wrap
81 msgid "B<int NLMSG_LENGTH(size_t >I<len>B<);>\n"
82 msgstr ""
83
84 #. type: Plain text
85 #: build/C/man3/netlink.3:24
86 #, no-wrap
87 msgid "B<int NLMSG_SPACE(size_t >I<len>B<);>\n"
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man3/netlink.3:26
92 #, no-wrap
93 msgid "B<void *NLMSG_DATA(struct nlmsghdr *>I<nlh>B<);>\n"
94 msgstr ""
95
96 #. type: Plain text
97 #: build/C/man3/netlink.3:28
98 #, no-wrap
99 msgid "B<struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
100 msgstr ""
101
102 #. type: Plain text
103 #: build/C/man3/netlink.3:30
104 #, no-wrap
105 msgid "B<int NLMSG_OK(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
106 msgstr ""
107
108 #. type: Plain text
109 #: build/C/man3/netlink.3:32
110 #, no-wrap
111 msgid "B<int NLMSG_PAYLOAD(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
112 msgstr ""
113
114 #. type: SH
115 #: build/C/man3/netlink.3:33 build/C/man7/netlink.7:22 build/C/man3/rtnetlink.3:39 build/C/man7/rtnetlink.7:28
116 #, no-wrap
117 msgid "DESCRIPTION"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man3/netlink.3:41
122 msgid ""
123 "I<E<lt>linux/netlink.hE<gt>> defines several standard macros to access or "
124 "create a netlink datagram.  They are similar in spirit to the macros defined "
125 "in B<cmsg>(3)  for auxiliary data.  The buffer passed to and from a netlink "
126 "socket should be accessed using only these macros."
127 msgstr ""
128
129 #. type: TP
130 #: build/C/man3/netlink.3:41
131 #, no-wrap
132 msgid "B<NLMSG_ALIGN>()"
133 msgstr ""
134
135 #. type: Plain text
136 #: build/C/man3/netlink.3:44
137 msgid "Round the length of a netlink message up to align it properly."
138 msgstr ""
139
140 #. type: TP
141 #: build/C/man3/netlink.3:44
142 #, no-wrap
143 msgid "B<NLMSG_LENGTH>()"
144 msgstr ""
145
146 #. type: Plain text
147 #: build/C/man3/netlink.3:52
148 msgid ""
149 "Given the payload length, I<len>, this macro returns the aligned length to "
150 "store in the I<nlmsg_len> field of the I<nlmsghdr>."
151 msgstr ""
152
153 #. type: TP
154 #: build/C/man3/netlink.3:52
155 #, no-wrap
156 msgid "B<NLMSG_SPACE>()"
157 msgstr ""
158
159 #. type: Plain text
160 #: build/C/man3/netlink.3:57
161 msgid ""
162 "Return the number of bytes that a netlink message with payload of I<len> "
163 "would occupy."
164 msgstr ""
165
166 #. type: TP
167 #: build/C/man3/netlink.3:57
168 #, no-wrap
169 msgid "B<NLMSG_DATA>()"
170 msgstr ""
171
172 #. type: Plain text
173 #: build/C/man3/netlink.3:61
174 msgid "Return a pointer to the payload associated with the passed I<nlmsghdr>."
175 msgstr ""
176
177 #.  this is bizarre, maybe the interface should be fixed.
178 #. type: TP
179 #: build/C/man3/netlink.3:61
180 #, no-wrap
181 msgid "B<NLMSG_NEXT>()"
182 msgstr ""
183
184 #. type: Plain text
185 #: build/C/man3/netlink.3:77
186 msgid ""
187 "Get the next I<nlmsghdr> in a multipart message.  The caller must check if "
188 "the current I<nlmsghdr> didn't have the B<NLMSG_DONE> set\\(emthis function "
189 "doesn't return NULL on end.  The I<len> argument is an lvalue containing the "
190 "remaining length of the message buffer.  This macro decrements it by the "
191 "length of the message header."
192 msgstr ""
193
194 #. type: TP
195 #: build/C/man3/netlink.3:77
196 #, no-wrap
197 msgid "B<NLMSG_OK>()"
198 msgstr ""
199
200 #. type: Plain text
201 #: build/C/man3/netlink.3:81
202 msgid ""
203 "Return true if the netlink message is not truncated and is in a form "
204 "suitable for parsing."
205 msgstr ""
206
207 #. type: TP
208 #: build/C/man3/netlink.3:81
209 #, no-wrap
210 msgid "B<NLMSG_PAYLOAD>()"
211 msgstr ""
212
213 #. type: Plain text
214 #: build/C/man3/netlink.3:85
215 msgid "Return the length of the payload associated with the I<nlmsghdr>."
216 msgstr ""
217
218 #. type: SH
219 #: build/C/man3/netlink.3:85 build/C/man3/rtnetlink.3:82
220 #, no-wrap
221 msgid "CONFORMING TO"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man3/netlink.3:87 build/C/man3/rtnetlink.3:84
226 msgid "These macros are nonstandard Linux extensions."
227 msgstr ""
228
229 #. type: SH
230 #: build/C/man3/netlink.3:87 build/C/man7/netlink.7:384
231 #, no-wrap
232 msgid "NOTES"
233 msgstr ""
234
235 #. type: Plain text
236 #: build/C/man3/netlink.3:91
237 msgid ""
238 "It is often better to use netlink via I<libnetlink> than via the low-level "
239 "kernel interface."
240 msgstr ""
241
242 #. type: SH
243 #: build/C/man3/netlink.3:91 build/C/man7/netlink.7:467 build/C/man3/rtnetlink.3:122 build/C/man7/rtnetlink.7:460
244 #, no-wrap
245 msgid "SEE ALSO"
246 msgstr ""
247
248 #. type: Plain text
249 #: build/C/man3/netlink.3:94
250 msgid "B<libnetlink>(3), B<netlink>(7)"
251 msgstr ""
252
253 #. type: SH
254 #: build/C/man3/netlink.3:94 build/C/man7/netlink.7:482 build/C/man3/rtnetlink.3:126 build/C/man7/rtnetlink.7:465
255 #, no-wrap
256 msgid "COLOPHON"
257 msgstr ""
258
259 #. type: Plain text
260 #: build/C/man3/netlink.3:102 build/C/man7/netlink.7:490 build/C/man3/rtnetlink.3:134 build/C/man7/rtnetlink.7:473
261 msgid ""
262 "This page is part of release 3.68 of the Linux I<man-pages> project.  A "
263 "description of the project, information about reporting bugs, and the latest "
264 "version of this page, can be found at "
265 "\\%http://www.kernel.org/doc/man-pages/."
266 msgstr ""
267
268 #. type: TH
269 #: build/C/man7/netlink.7:11
270 #, no-wrap
271 msgid "2013-03-15"
272 msgstr ""
273
274 #. type: TH
275 #: build/C/man7/netlink.7:11 build/C/man7/rtnetlink.7:15
276 #, no-wrap
277 msgid "Linux"
278 msgstr ""
279
280 #. type: Plain text
281 #: build/C/man7/netlink.7:14
282 msgid "netlink - communication between kernel and user space (AF_NETLINK)"
283 msgstr ""
284
285 #. type: Plain text
286 #: build/C/man7/netlink.7:19
287 #, no-wrap
288 msgid ""
289 "B<#include E<lt>asm/types.hE<gt>>\n"
290 "B<#include E<lt>sys/socket.hE<gt>>\n"
291 "B<#include E<lt>linux/netlink.hE<gt>>\n"
292 msgstr ""
293
294 #. type: Plain text
295 #: build/C/man7/netlink.7:21
296 #, no-wrap
297 msgid ""
298 "B<netlink_socket = socket(AF_NETLINK, >I<socket_type>B<, "
299 ">I<netlink_family>B<);>\n"
300 msgstr ""
301
302 #. type: Plain text
303 #: build/C/man7/netlink.7:31
304 msgid ""
305 "Netlink is used to transfer information between kernel and user-space "
306 "processes.  It consists of a standard sockets-based interface for user space "
307 "processes and an internal kernel API for kernel modules.  The internal "
308 "kernel interface is not documented in this manual page.  There is also an "
309 "obsolete netlink interface via netlink character devices; this interface is "
310 "not documented here and is provided only for backward compatibility."
311 msgstr ""
312
313 #. type: Plain text
314 #: build/C/man7/netlink.7:41
315 msgid ""
316 "Netlink is a datagram-oriented service.  Both B<SOCK_RAW> and B<SOCK_DGRAM> "
317 "are valid values for I<socket_type>.  However, the netlink protocol does not "
318 "distinguish between datagram and raw sockets."
319 msgstr ""
320
321 #. type: Plain text
322 #: build/C/man7/netlink.7:45
323 msgid ""
324 "I<netlink_family> selects the kernel module or netlink group to communicate "
325 "with.  The currently assigned netlink families are:"
326 msgstr ""
327
328 #. type: TP
329 #: build/C/man7/netlink.7:45
330 #, no-wrap
331 msgid "B<NETLINK_ROUTE>"
332 msgstr ""
333
334 #. type: Plain text
335 #: build/C/man7/netlink.7:52
336 msgid ""
337 "Receives routing and link updates and may be used to modify the routing "
338 "tables (both IPv4 and IPv6), IP addresses, link parameters, neighbor setups, "
339 "queueing disciplines, traffic classes and packet classifiers (see "
340 "B<rtnetlink>(7))."
341 msgstr ""
342
343 #. type: TP
344 #: build/C/man7/netlink.7:52
345 #, no-wrap
346 msgid "B<NETLINK_W1>"
347 msgstr ""
348
349 #. type: Plain text
350 #: build/C/man7/netlink.7:55
351 msgid "Messages from 1-wire subsystem."
352 msgstr ""
353
354 #. type: TP
355 #: build/C/man7/netlink.7:55
356 #, no-wrap
357 msgid "B<NETLINK_USERSOCK>"
358 msgstr ""
359
360 #. type: Plain text
361 #: build/C/man7/netlink.7:58
362 msgid "Reserved for user-mode socket protocols."
363 msgstr ""
364
365 #. type: TP
366 #: build/C/man7/netlink.7:58
367 #, no-wrap
368 msgid "B<NETLINK_FIREWALL>"
369 msgstr ""
370
371 #. type: Plain text
372 #: build/C/man7/netlink.7:64
373 msgid ""
374 "Transport IPv4 packets from netfilter to user space.  Used by I<ip_queue> "
375 "kernel module."
376 msgstr ""
377
378 #. type: TP
379 #: build/C/man7/netlink.7:64
380 #, no-wrap
381 msgid "B<NETLINK_INET_DIAG>"
382 msgstr ""
383
384 #.  FIXME More details on NETLINK_INET_DIAG needed.
385 #. type: Plain text
386 #: build/C/man7/netlink.7:68
387 msgid "INET socket monitoring."
388 msgstr ""
389
390 #. type: TP
391 #: build/C/man7/netlink.7:68
392 #, no-wrap
393 msgid "B<NETLINK_NFLOG>"
394 msgstr ""
395
396 #. type: Plain text
397 #: build/C/man7/netlink.7:71
398 msgid "Netfilter/iptables ULOG."
399 msgstr ""
400
401 #. type: TP
402 #: build/C/man7/netlink.7:71
403 #, no-wrap
404 msgid "B<NETLINK_XFRM>"
405 msgstr ""
406
407 #.  FIXME More details on NETLINK_XFRM needed.
408 #. type: Plain text
409 #: build/C/man7/netlink.7:75
410 msgid "IPsec."
411 msgstr ""
412
413 #. type: TP
414 #: build/C/man7/netlink.7:75
415 #, no-wrap
416 msgid "B<NETLINK_SELINUX>"
417 msgstr ""
418
419 #. type: Plain text
420 #: build/C/man7/netlink.7:78
421 msgid "SELinux event notifications."
422 msgstr ""
423
424 #. type: TP
425 #: build/C/man7/netlink.7:78
426 #, no-wrap
427 msgid "B<NETLINK_ISCSI>"
428 msgstr ""
429
430 #.  FIXME More details on NETLINK_ISCSI needed.
431 #. type: Plain text
432 #: build/C/man7/netlink.7:82
433 msgid "Open-iSCSI."
434 msgstr ""
435
436 #. type: TP
437 #: build/C/man7/netlink.7:82
438 #, no-wrap
439 msgid "B<NETLINK_AUDIT>"
440 msgstr ""
441
442 #.  FIXME More details on NETLINK_AUDIT needed.
443 #. type: Plain text
444 #: build/C/man7/netlink.7:86
445 msgid "Auditing."
446 msgstr ""
447
448 #. type: TP
449 #: build/C/man7/netlink.7:86
450 #, no-wrap
451 msgid "B<NETLINK_FIB_LOOKUP>"
452 msgstr ""
453
454 #.  FIXME More details on NETLINK_FIB_LOOKUP needed.
455 #. type: Plain text
456 #: build/C/man7/netlink.7:90
457 msgid "Access to FIB lookup from user space."
458 msgstr ""
459
460 #. type: TP
461 #: build/C/man7/netlink.7:90
462 #, no-wrap
463 msgid "B<NETLINK_CONNECTOR>"
464 msgstr ""
465
466 #. type: Plain text
467 #: build/C/man7/netlink.7:96
468 msgid ""
469 "Kernel connector.  See I<Documentation/connector/*> in the Linux kernel "
470 "source tree for further information."
471 msgstr ""
472
473 #. type: TP
474 #: build/C/man7/netlink.7:96
475 #, no-wrap
476 msgid "B<NETLINK_NETFILTER>"
477 msgstr ""
478
479 #.  FIXME More details on NETLINK_NETFILTER needed.
480 #. type: Plain text
481 #: build/C/man7/netlink.7:100
482 msgid "Netfilter subsystem."
483 msgstr ""
484
485 #. type: TP
486 #: build/C/man7/netlink.7:100
487 #, no-wrap
488 msgid "B<NETLINK_IP6_FW>"
489 msgstr ""
490
491 #. type: Plain text
492 #: build/C/man7/netlink.7:106
493 msgid ""
494 "Transport IPv6 packets from netfilter to user space.  Used by I<ip6_queue> "
495 "kernel module."
496 msgstr ""
497
498 #. type: TP
499 #: build/C/man7/netlink.7:106
500 #, no-wrap
501 msgid "B<NETLINK_DNRTMSG>"
502 msgstr ""
503
504 #. type: Plain text
505 #: build/C/man7/netlink.7:109
506 msgid "DECnet routing messages."
507 msgstr ""
508
509 #. type: TP
510 #: build/C/man7/netlink.7:109
511 #, no-wrap
512 msgid "B<NETLINK_KOBJECT_UEVENT>"
513 msgstr ""
514
515 #.  FIXME More details on NETLINK_KOBJECT_UEVENT needed.
516 #. type: Plain text
517 #: build/C/man7/netlink.7:113
518 msgid "Kernel messages to user space."
519 msgstr ""
520
521 #. type: TP
522 #: build/C/man7/netlink.7:113
523 #, no-wrap
524 msgid "B<NETLINK_GENERIC>"
525 msgstr ""
526
527 #. type: Plain text
528 #: build/C/man7/netlink.7:116
529 msgid "Generic netlink family for simplified netlink usage."
530 msgstr ""
531
532 #. type: Plain text
533 #: build/C/man7/netlink.7:126
534 msgid ""
535 "Netlink messages consist of a byte stream with one or multiple I<nlmsghdr> "
536 "headers and associated payload.  The byte stream should be accessed only "
537 "with the standard B<NLMSG_*> macros.  See B<netlink>(3)  for further "
538 "information."
539 msgstr ""
540
541 #. type: Plain text
542 #: build/C/man7/netlink.7:134
543 msgid ""
544 "In multipart messages (multiple I<nlmsghdr> headers with associated payload "
545 "in one byte stream) the first and all following headers have the "
546 "B<NLM_F_MULTI> flag set, except for the last header which has the type "
547 "B<NLMSG_DONE>."
548 msgstr ""
549
550 #. type: Plain text
551 #: build/C/man7/netlink.7:138
552 msgid "After each I<nlmsghdr> the payload follows."
553 msgstr ""
554
555 #. type: Plain text
556 #: build/C/man7/netlink.7:148
557 #, no-wrap
558 msgid ""
559 "struct nlmsghdr {\n"
560 "    __u32 nlmsg_len;    /* Length of message including header. */\n"
561 "    __u16 nlmsg_type;   /* Type of message content. */\n"
562 "    __u16 nlmsg_flags;  /* Additional flags. */\n"
563 "    __u32 nlmsg_seq;    /* Sequence number. */\n"
564 "    __u32 nlmsg_pid;    /* Sender port ID. */\n"
565 "};\n"
566 msgstr ""
567
568 #. type: Plain text
569 #: build/C/man7/netlink.7:161
570 msgid ""
571 "I<nlmsg_type> can be one of the standard message types: B<NLMSG_NOOP> "
572 "message is to be ignored, B<NLMSG_ERROR> message signals an error and the "
573 "payload contains an I<nlmsgerr> structure, B<NLMSG_DONE> message terminates "
574 "a multipart message."
575 msgstr ""
576
577 #. type: Plain text
578 #: build/C/man7/netlink.7:168
579 #, no-wrap
580 msgid ""
581 "struct nlmsgerr {\n"
582 "    int error;        /* Negative errno or 0 for acknowledgements */\n"
583 "    struct nlmsghdr msg;  /* Message header that caused the error */\n"
584 "};\n"
585 msgstr ""
586
587 #. type: Plain text
588 #: build/C/man7/netlink.7:176
589 msgid ""
590 "A netlink family usually specifies more message types, see the appropriate "
591 "manual pages for that, for example, B<rtnetlink>(7)  for B<NETLINK_ROUTE>."
592 msgstr ""
593
594 #. type: tbl table
595 #: build/C/man7/netlink.7:180
596 #, no-wrap
597 msgid "Standard flag bits in I<nlmsg_flags>\n"
598 msgstr ""
599
600 #. type: tbl table
601 #: build/C/man7/netlink.7:181 build/C/man7/netlink.7:197 build/C/man7/netlink.7:222 build/C/man7/rtnetlink.7:98 build/C/man7/rtnetlink.7:165 build/C/man7/rtnetlink.7:215 build/C/man7/rtnetlink.7:239 build/C/man7/rtnetlink.7:314 build/C/man7/rtnetlink.7:432
602 #, no-wrap
603 msgid "_\n"
604 msgstr ""
605
606 #. type: tbl table
607 #: build/C/man7/netlink.7:182
608 #, no-wrap
609 msgid "NLM_F_REQUEST:Must be set on all request messages.\n"
610 msgstr ""
611
612 #. type: tbl table
613 #: build/C/man7/netlink.7:183
614 #, no-wrap
615 msgid "NLM_F_MULTI:T{\n"
616 msgstr ""
617
618 #. type: tbl table
619 #: build/C/man7/netlink.7:184
620 #, no-wrap
621 msgid "The message is part of a multipart message terminated by\n"
622 msgstr ""
623
624 #. type: tbl table
625 #: build/C/man7/netlink.7:185
626 #, no-wrap
627 msgid "B<NLMSG_DONE>.\n"
628 msgstr ""
629
630 #. type: tbl table
631 #: build/C/man7/netlink.7:186 build/C/man7/netlink.7:202 build/C/man7/netlink.7:209 build/C/man7/rtnetlink.7:221 build/C/man7/rtnetlink.7:224 build/C/man7/rtnetlink.7:233 build/C/man7/rtnetlink.7:243 build/C/man7/rtnetlink.7:266 build/C/man7/rtnetlink.7:286
632 #, no-wrap
633 msgid "T}\n"
634 msgstr ""
635
636 #. type: tbl table
637 #: build/C/man7/netlink.7:187
638 #, no-wrap
639 msgid "NLM_F_ACK:Request for an acknowledgment on success.\n"
640 msgstr ""
641
642 #. type: tbl table
643 #: build/C/man7/netlink.7:188
644 #, no-wrap
645 msgid "NLM_F_ECHO:Echo this request.\n"
646 msgstr ""
647
648 #. type: tbl table
649 #: build/C/man7/netlink.7:196
650 #, no-wrap
651 msgid "Additional flag bits for GET requests\n"
652 msgstr ""
653
654 #. type: tbl table
655 #: build/C/man7/netlink.7:198
656 #, no-wrap
657 msgid "NLM_F_ROOT:Return the complete table instead of a single entry.\n"
658 msgstr ""
659
660 #. type: tbl table
661 #: build/C/man7/netlink.7:199
662 #, no-wrap
663 msgid "NLM_F_MATCH:T{\n"
664 msgstr ""
665
666 #. type: tbl table
667 #: build/C/man7/netlink.7:200
668 #, no-wrap
669 msgid "Return all entries matching criteria passed in message content.\n"
670 msgstr ""
671
672 #. type: tbl table
673 #: build/C/man7/netlink.7:201
674 #, no-wrap
675 msgid "Not implemented yet.\n"
676 msgstr ""
677
678 #.  FIXME NLM_F_ATOMIC is not used any more?
679 #. type: tbl table
680 #: build/C/man7/netlink.7:204
681 #, no-wrap
682 msgid "NLM_F_ATOMIC:Return an atomic snapshot of the table.\n"
683 msgstr ""
684
685 #. type: tbl table
686 #: build/C/man7/netlink.7:205
687 #, no-wrap
688 msgid "NLM_F_DUMP:T{\n"
689 msgstr ""
690
691 #. type: tbl table
692 #: build/C/man7/netlink.7:206
693 #, no-wrap
694 msgid "Convenience macro; equivalent to\n"
695 msgstr ""
696
697 #. type: tbl table
698 #: build/C/man7/netlink.7:207
699 #, no-wrap
700 msgid ".br\n"
701 msgstr ""
702
703 #. type: tbl table
704 #: build/C/man7/netlink.7:208
705 #, no-wrap
706 msgid "(NLM_F_ROOT|NLM_F_MATCH).\n"
707 msgstr ""
708
709 #. type: Plain text
710 #: build/C/man7/netlink.7:217
711 msgid ""
712 "Note that B<NLM_F_ATOMIC> requires the B<CAP_NET_ADMIN> capability or an "
713 "effective UID of 0."
714 msgstr ""
715
716 #. type: tbl table
717 #: build/C/man7/netlink.7:221
718 #, no-wrap
719 msgid "Additional flag bits for NEW requests\n"
720 msgstr ""
721
722 #. type: tbl table
723 #: build/C/man7/netlink.7:223
724 #, no-wrap
725 msgid "NLM_F_REPLACE:Replace existing matching object.\n"
726 msgstr ""
727
728 #. type: tbl table
729 #: build/C/man7/netlink.7:224
730 #, no-wrap
731 msgid "NLM_F_EXCL:Don't replace if the object already exists.\n"
732 msgstr ""
733
734 #. type: tbl table
735 #: build/C/man7/netlink.7:225
736 #, no-wrap
737 msgid "NLM_F_CREATE:Create object if it doesn't already exist.\n"
738 msgstr ""
739
740 #. type: tbl table
741 #: build/C/man7/netlink.7:226
742 #, no-wrap
743 msgid "NLM_F_APPEND:Add to the end of the object list.\n"
744 msgstr ""
745
746 #. type: Plain text
747 #: build/C/man7/netlink.7:242
748 msgid ""
749 "I<nlmsg_seq> and I<nlmsg_pid> are used to track messages.  I<nlmsg_pid> "
750 "shows the origin of the message.  Note that there isn't a 1:1 relationship "
751 "between I<nlmsg_pid> and the PID of the process if the message originated "
752 "from a netlink socket.  See the B<ADDRESS FORMATS> section for further "
753 "information."
754 msgstr ""
755
756 #.  FIXME Explain more about nlmsg_seq and nlmsg_pid.
757 #. type: Plain text
758 #: build/C/man7/netlink.7:249
759 msgid "Both I<nlmsg_seq> and I<nlmsg_pid> are opaque to netlink core."
760 msgstr ""
761
762 #. type: Plain text
763 #: build/C/man7/netlink.7:267
764 msgid ""
765 "Netlink is not a reliable protocol.  It tries its best to deliver a message "
766 "to its destination(s), but may drop messages when an out-of-memory condition "
767 "or other error occurs.  For reliable transfer the sender can request an "
768 "acknowledgement from the receiver by setting the B<NLM_F_ACK> flag.  An "
769 "acknowledgment is an B<NLMSG_ERROR> packet with the error field set to 0.  "
770 "The application must generate acknowledgements for received messages "
771 "itself.  The kernel tries to send an B<NLMSG_ERROR> message for every failed "
772 "packet.  A user process should follow this convention too."
773 msgstr ""
774
775 #. type: Plain text
776 #: build/C/man7/netlink.7:278
777 msgid ""
778 "However, reliable transmissions from kernel to user are impossible in any "
779 "case.  The kernel can't send a netlink message if the socket buffer is full: "
780 "the message will be dropped and the kernel and the user-space process will "
781 "no longer have the same view of kernel state.  It is up to the application "
782 "to detect when this happens (via the B<ENOBUFS> error returned by "
783 "B<recvmsg>(2))  and resynchronize."
784 msgstr ""
785
786 #. type: SS
787 #: build/C/man7/netlink.7:278
788 #, no-wrap
789 msgid "Address formats"
790 msgstr ""
791
792 #. type: Plain text
793 #: build/C/man7/netlink.7:288
794 msgid ""
795 "The I<sockaddr_nl> structure describes a netlink client in user space or in "
796 "the kernel.  A I<sockaddr_nl> can be either unicast (only sent to one peer) "
797 "or sent to netlink multicast groups (I<nl_groups> not equal 0)."
798 msgstr ""
799
800 #. type: Plain text
801 #: build/C/man7/netlink.7:297
802 #, no-wrap
803 msgid ""
804 "struct sockaddr_nl {\n"
805 "    sa_family_t     nl_family;  /* AF_NETLINK */\n"
806 "    unsigned short  nl_pad;     /* Zero. */\n"
807 "    pid_t           nl_pid;     /* Port ID. */\n"
808 "    __u32           nl_groups;  /* Multicast groups mask. */\n"
809 "};\n"
810 msgstr ""
811
812 #. type: Plain text
813 #: build/C/man7/netlink.7:328
814 msgid ""
815 "I<nl_pid> is the unicast address of netlink socket.  It's always 0 if the "
816 "destination is in the kernel.  For a user-space process, I<nl_pid> is "
817 "usually the PID of the process owning the destination socket.  However, "
818 "I<nl_pid> identifies a netlink socket, not a process.  If a process owns "
819 "several netlink sockets, then I<nl_pid> can be equal to the process ID only "
820 "for at most one socket.  There are two ways to assign I<nl_pid> to a netlink "
821 "socket.  If the application sets I<nl_pid> before calling B<bind>(2), then "
822 "it is up to the application to make sure that I<nl_pid> is unique.  If the "
823 "application sets it to 0, the kernel takes care of assigning it.  The kernel "
824 "assigns the process ID to the first netlink socket the process opens and "
825 "assigns a unique I<nl_pid> to every netlink socket that the process "
826 "subsequently creates."
827 msgstr ""
828
829 #.  commit d629b836d151d43332492651dd841d32e57ebe3b
830 #. type: Plain text
831 #: build/C/man7/netlink.7:365
832 msgid ""
833 "I<nl_groups> is a bit mask with every bit representing a netlink group "
834 "number.  Each netlink family has a set of 32 multicast groups.  When "
835 "B<bind>(2)  is called on the socket, the I<nl_groups> field in the "
836 "I<sockaddr_nl> should be set to a bit mask of the groups which it wishes to "
837 "listen to.  The default value for this field is zero which means that no "
838 "multicasts will be received.  A socket may multicast messages to any of the "
839 "multicast groups by setting I<nl_groups> to a bit mask of the groups it "
840 "wishes to send to when it calls B<sendmsg>(2)  or does a B<connect>(2).  "
841 "Only processes with an effective UID of 0 or the B<CAP_NET_ADMIN> capability "
842 "may send or listen to a netlink multicast group.  Since Linux 2.6.13, "
843 "messages can't be broadcast to multiple groups.  Any replies to a message "
844 "received for a multicast group should be sent back to the sending PID and "
845 "the multicast group.  Some Linux kernel subsystems may additionally allow "
846 "other users to send and/or receive messages.  As at Linux 3.0, the "
847 "B<NETLINK_KOBJECT_UEVENT>, B<NETLINK_GENERIC>, B<NETLINK_ROUTE>, and "
848 "B<NETLINK_SELINUX> groups allow other users to receive messages.  No groups "
849 "allow other users to send messages."
850 msgstr ""
851
852 #. type: SH
853 #: build/C/man7/netlink.7:365 build/C/man7/rtnetlink.7:455
854 #, no-wrap
855 msgid "VERSIONS"
856 msgstr ""
857
858 #. type: Plain text
859 #: build/C/man7/netlink.7:367
860 msgid "The socket interface to netlink is a new feature of Linux 2.2."
861 msgstr ""
862
863 #. type: Plain text
864 #: build/C/man7/netlink.7:371
865 msgid ""
866 "Linux 2.0 supported a more primitive device-based netlink interface (which "
867 "is still available as a compatibility option).  This obsolete interface is "
868 "not described here."
869 msgstr ""
870
871 #. type: Plain text
872 #: build/C/man7/netlink.7:373
873 msgid "NETLINK_SELINUX appeared in Linux 2.6.4."
874 msgstr ""
875
876 #. type: Plain text
877 #: build/C/man7/netlink.7:375
878 msgid "NETLINK_AUDIT appeared in Linux 2.6.6."
879 msgstr ""
880
881 #. type: Plain text
882 #: build/C/man7/netlink.7:377
883 msgid "NETLINK_KOBJECT_UEVENT appeared in Linux 2.6.10."
884 msgstr ""
885
886 #. type: Plain text
887 #: build/C/man7/netlink.7:379
888 msgid "NETLINK_W1 and NETLINK_FIB_LOOKUP appeared in Linux 2.6.13."
889 msgstr ""
890
891 #. type: Plain text
892 #: build/C/man7/netlink.7:382
893 msgid ""
894 "NETLINK_INET_DIAG, NETLINK_CONNECTOR and NETLINK_NETFILTER appeared in Linux "
895 "2.6.14."
896 msgstr ""
897
898 #. type: Plain text
899 #: build/C/man7/netlink.7:384
900 msgid "NETLINK_GENERIC and NETLINK_ISCSI appeared in Linux 2.6.15."
901 msgstr ""
902
903 #. type: Plain text
904 #: build/C/man7/netlink.7:390
905 msgid ""
906 "It is often better to use netlink via I<libnetlink> or I<libnl> than via the "
907 "low-level kernel interface."
908 msgstr ""
909
910 #. type: SH
911 #: build/C/man7/netlink.7:390 build/C/man3/rtnetlink.3:84 build/C/man7/rtnetlink.7:458
912 #, no-wrap
913 msgid "BUGS"
914 msgstr ""
915
916 #. type: Plain text
917 #: build/C/man7/netlink.7:392
918 msgid "This manual page is not complete."
919 msgstr ""
920
921 #. type: SH
922 #: build/C/man7/netlink.7:392 build/C/man3/rtnetlink.3:86
923 #, no-wrap
924 msgid "EXAMPLE"
925 msgstr ""
926
927 #. type: Plain text
928 #: build/C/man7/netlink.7:400
929 msgid ""
930 "The following example creates a B<NETLINK_ROUTE> netlink socket which will "
931 "listen to the B<RTMGRP_LINK> (network interface create/delete/up/down "
932 "events) and B<RTMGRP_IPV4_IFADDR> (IPv4 addresses add/delete events) "
933 "multicast groups."
934 msgstr ""
935
936 #. type: Plain text
937 #: build/C/man7/netlink.7:404
938 #, no-wrap
939 msgid "struct sockaddr_nl sa;\n"
940 msgstr ""
941
942 #. type: Plain text
943 #: build/C/man7/netlink.7:408
944 #, no-wrap
945 msgid ""
946 "memset(&sa, 0, sizeof(sa));\n"
947 "sa.nl_family = AF_NETLINK;\n"
948 "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n"
949 msgstr ""
950
951 #. type: Plain text
952 #: build/C/man7/netlink.7:411
953 #, no-wrap
954 msgid ""
955 "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n"
956 "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n"
957 msgstr ""
958
959 #. type: Plain text
960 #: build/C/man7/netlink.7:418
961 msgid ""
962 "The next example demonstrates how to send a netlink message to the kernel "
963 "(pid 0).  Note that the application must take care of message sequence "
964 "numbers in order to reliably track acknowledgements."
965 msgstr ""
966
967 #. type: Plain text
968 #: build/C/man7/netlink.7:425
969 #, no-wrap
970 msgid ""
971 "struct nlmsghdr *nh;    /* The nlmsghdr with payload to send. */\n"
972 "struct sockaddr_nl sa;\n"
973 "struct iovec iov = { nh, nh-E<gt>nlmsg_len };\n"
974 "struct msghdr msg;\n"
975 msgstr ""
976
977 #. type: Plain text
978 #: build/C/man7/netlink.7:433
979 #, no-wrap
980 msgid ""
981 "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
982 "memset(&sa, 0, sizeof(sa));\n"
983 "sa.nl_family = AF_NETLINK;\n"
984 "nh-E<gt>nlmsg_pid = 0;\n"
985 "nh-E<gt>nlmsg_seq = ++sequence_number;\n"
986 "/* Request an ack from kernel by setting NLM_F_ACK. */\n"
987 "nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
988 msgstr ""
989
990 #. type: Plain text
991 #: build/C/man7/netlink.7:435
992 #, no-wrap
993 msgid "sendmsg(fd, &msg, 0);\n"
994 msgstr ""
995
996 #. type: Plain text
997 #: build/C/man7/netlink.7:439
998 msgid "And the last example is about reading netlink message."
999 msgstr ""
1000
1001 #. type: Plain text
1002 #: build/C/man7/netlink.7:448
1003 #, no-wrap
1004 msgid ""
1005 "int len;\n"
1006 "char buf[4096];\n"
1007 "struct iovec iov = { buf, sizeof(buf) };\n"
1008 "struct sockaddr_nl sa;\n"
1009 "struct msghdr msg;\n"
1010 "struct nlmsghdr *nh;\n"
1011 msgstr ""
1012
1013 #. type: Plain text
1014 #: build/C/man7/netlink.7:451
1015 #, no-wrap
1016 msgid ""
1017 "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
1018 "len = recvmsg(fd, &msg, 0);\n"
1019 msgstr ""
1020
1021 #. type: Plain text
1022 #: build/C/man7/netlink.7:457
1023 #, no-wrap
1024 msgid ""
1025 "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n"
1026 "     nh = NLMSG_NEXT (nh, len)) {\n"
1027 "    /* The end of multipart message. */\n"
1028 "    if (nh-E<gt>nlmsg_type == NLMSG_DONE)\n"
1029 "        return;\n"
1030 msgstr ""
1031
1032 #. type: Plain text
1033 #: build/C/man7/netlink.7:461
1034 #, no-wrap
1035 msgid ""
1036 "    if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
1037 "        /* Do some error handling. */\n"
1038 "    ...\n"
1039 msgstr ""
1040
1041 #. type: Plain text
1042 #: build/C/man7/netlink.7:465
1043 #, no-wrap
1044 msgid ""
1045 "    /* Continue with parsing payload. */\n"
1046 "    ...\n"
1047 "}\n"
1048 msgstr ""
1049
1050 #. type: Plain text
1051 #: build/C/man7/netlink.7:472
1052 msgid "B<cmsg>(3), B<netlink>(3), B<capabilities>(7), B<rtnetlink>(7)"
1053 msgstr ""
1054
1055 #. type: Plain text
1056 #: build/C/man7/netlink.7:476
1057 msgid ""
1058 "E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> information about "
1059 "libnetlink E<.UE>"
1060 msgstr ""
1061
1062 #. type: Plain text
1063 #: build/C/man7/netlink.7:480
1064 msgid ""
1065 "E<.UR http://people.suug.ch\\:/~tgr\\:/libnl/> information about libnl "
1066 "E<.UE>"
1067 msgstr ""
1068
1069 #. type: Plain text
1070 #: build/C/man7/netlink.7:482
1071 msgid "RFC 3549 \"Linux Netlink as an IP Services Protocol\""
1072 msgstr ""
1073
1074 #. type: TH
1075 #: build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:15
1076 #, no-wrap
1077 msgid "RTNETLINK"
1078 msgstr ""
1079
1080 #. type: TH
1081 #: build/C/man3/rtnetlink.3:12
1082 #, no-wrap
1083 msgid "2012-03-24"
1084 msgstr ""
1085
1086 #. type: Plain text
1087 #: build/C/man3/rtnetlink.3:15
1088 msgid "rtnetlink - macros to manipulate rtnetlink messages"
1089 msgstr ""
1090
1091 #. type: Plain text
1092 #: build/C/man3/rtnetlink.3:17 build/C/man7/rtnetlink.7:20
1093 msgid "B<#include E<lt>asm/types.hE<gt>>"
1094 msgstr ""
1095
1096 #. type: Plain text
1097 #: build/C/man3/rtnetlink.3:19 build/C/man7/rtnetlink.7:22
1098 msgid "B<#include E<lt>linux/netlink.hE<gt>>"
1099 msgstr ""
1100
1101 #. type: Plain text
1102 #: build/C/man3/rtnetlink.3:21 build/C/man7/rtnetlink.7:24
1103 msgid "B<#include E<lt>linux/rtnetlink.hE<gt>>"
1104 msgstr ""
1105
1106 #. type: Plain text
1107 #: build/C/man3/rtnetlink.3:23 build/C/man7/rtnetlink.7:26
1108 msgid "B<#include E<lt>sys/socket.hE<gt>>"
1109 msgstr ""
1110
1111 #. type: Plain text
1112 #: build/C/man3/rtnetlink.3:26 build/C/man7/rtnetlink.7:28
1113 msgid ""
1114 "B<rtnetlink_socket = socket(AF_NETLINK, int >I<socket_type>B<, "
1115 "NETLINK_ROUTE);>"
1116 msgstr ""
1117
1118 #. type: Plain text
1119 #: build/C/man3/rtnetlink.3:28
1120 msgid "B<int RTA_OK(struct rtattr *>I<rta>B<, int >I<rtabuflen>B<);>"
1121 msgstr ""
1122
1123 #. type: Plain text
1124 #: build/C/man3/rtnetlink.3:30
1125 msgid "B<void *RTA_DATA(struct rtattr *>I<rta>B<);>"
1126 msgstr ""
1127
1128 #. type: Plain text
1129 #: build/C/man3/rtnetlink.3:32
1130 msgid "B<unsigned int RTA_PAYLOAD(struct rtattr *>I<rta>B<);>"
1131 msgstr ""
1132
1133 #. type: Plain text
1134 #: build/C/man3/rtnetlink.3:35
1135 msgid ""
1136 "B<struct rtattr *RTA_NEXT(struct rtattr *>I<rta>B<, unsigned int "
1137 ">I<rtabuflen>B<);>"
1138 msgstr ""
1139
1140 #. type: Plain text
1141 #: build/C/man3/rtnetlink.3:37
1142 msgid "B<unsigned int RTA_LENGTH(unsigned int >I<length>B<);>"
1143 msgstr ""
1144
1145 #. type: Plain text
1146 #: build/C/man3/rtnetlink.3:39
1147 msgid "B<unsigned int RTA_SPACE(unsigned int >I<length>B<);>"
1148 msgstr ""
1149
1150 #. type: Plain text
1151 #: build/C/man3/rtnetlink.3:46
1152 msgid ""
1153 "All B<rtnetlink>(7)  messages consist of a B<netlink>(7)  message header and "
1154 "appended attributes.  The attributes should be manipulated only using the "
1155 "macros provided here."
1156 msgstr ""
1157
1158 #. type: Plain text
1159 #: build/C/man3/rtnetlink.3:57
1160 msgid ""
1161 "B<RTA_OK(>I<rta>B<, >I<attrlen>B<)> returns true if I<rta> points to a valid "
1162 "routing attribute; I<attrlen> is the running length of the attribute "
1163 "buffer.  When not true then you must assume there are no more attributes in "
1164 "the message, even if I<attrlen> is nonzero."
1165 msgstr ""
1166
1167 #. type: Plain text
1168 #: build/C/man3/rtnetlink.3:60
1169 msgid ""
1170 "B<RTA_DATA(>I<rta>B<)> returns a pointer to the start of this attribute's "
1171 "data."
1172 msgstr ""
1173
1174 #. type: Plain text
1175 #: build/C/man3/rtnetlink.3:63
1176 msgid "B<RTA_PAYLOAD(>I<rta>B<)> returns the length of this attribute's data."
1177 msgstr ""
1178
1179 #. type: Plain text
1180 #: build/C/man3/rtnetlink.3:72
1181 msgid ""
1182 "B<RTA_NEXT(>I<rta>B<, >I<attrlen>B<)> gets the next attribute after I<rta>.  "
1183 "Calling this macro will update I<attrlen>.  You should use B<RTA_OK> to "
1184 "check the validity of the returned pointer."
1185 msgstr ""
1186
1187 #. type: Plain text
1188 #: build/C/man3/rtnetlink.3:77
1189 msgid ""
1190 "B<RTA_LENGTH(>I<len>B<)> returns the length which is required for I<len> "
1191 "bytes of data plus the header."
1192 msgstr ""
1193
1194 #. type: Plain text
1195 #: build/C/man3/rtnetlink.3:82
1196 msgid ""
1197 "B<RTA_SPACE(>I<len>B<)> returns the amount of space which will be needed in "
1198 "a message with I<len> bytes of data."
1199 msgstr ""
1200
1201 #. type: Plain text
1202 #: build/C/man3/rtnetlink.3:86 build/C/man7/rtnetlink.7:460
1203 msgid "This manual page is incomplete."
1204 msgstr ""
1205
1206 #.  FIXME ? would be better to use libnetlink in the EXAMPLE code here
1207 #. type: Plain text
1208 #: build/C/man3/rtnetlink.3:90
1209 msgid "Creating a rtnetlink message to set the MTU of a device:"
1210 msgstr ""
1211
1212 #. type: Plain text
1213 #: build/C/man3/rtnetlink.3:92
1214 #, no-wrap
1215 msgid "    #include E<lt>linux/rtnetlink.hE<gt>\n"
1216 msgstr ""
1217
1218 #. type: Plain text
1219 #: build/C/man3/rtnetlink.3:94
1220 #, no-wrap
1221 msgid "    ...\n"
1222 msgstr ""
1223
1224 #. type: Plain text
1225 #: build/C/man3/rtnetlink.3:100
1226 #, no-wrap
1227 msgid ""
1228 "    struct {\n"
1229 "        struct nlmsghdr  nh;\n"
1230 "        struct ifinfomsg if;\n"
1231 "        char             attrbuf[512];\n"
1232 "    } req;\n"
1233 msgstr ""
1234
1235 #. type: Plain text
1236 #: build/C/man3/rtnetlink.3:103
1237 #, no-wrap
1238 msgid ""
1239 "    struct rtattr *rta;\n"
1240 "    unsigned int mtu = 1000;\n"
1241 msgstr ""
1242
1243 #. type: Plain text
1244 #: build/C/man3/rtnetlink.3:105
1245 #, no-wrap
1246 msgid "    int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);\n"
1247 msgstr ""
1248
1249 #. type: Plain text
1250 #: build/C/man3/rtnetlink.3:121
1251 #, no-wrap
1252 msgid ""
1253 "    memset(&req, 0, sizeof(req));\n"
1254 "    req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));\n"
1255 "    req.nh.nlmsg_flags = NLM_F_REQUEST;\n"
1256 "    req.nh.nlmsg_type = RTM_NEWLINK;\n"
1257 "    req.if.ifi_family = AF_UNSPEC;\n"
1258 "    req.if.ifi_index = INTERFACE_INDEX;\n"
1259 "    req.if.ifi_change = 0xffffffff; /* ??? */\n"
1260 "    rta = (struct rtattr *)(((char *) &req) +\n"
1261 "                             NLMSG_ALIGN(req.nh.nlmsg_len));\n"
1262 "    rta-E<gt>rta_type = IFLA_MTU;\n"
1263 "    rta-E<gt>rta_len = RTA_LENGTH(sizeof(unsigned int));\n"
1264 "    req.n.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +\n"
1265 "                                  RTA_LENGTH(sizeof(mtu));\n"
1266 "    memcpy(RTA_DATA(rta), &mtu, sizeof(mtu));\n"
1267 "    send(rtnetlink_sk, &req, req.nh.nlmsg_len);\n"
1268 msgstr ""
1269
1270 #. type: Plain text
1271 #: build/C/man3/rtnetlink.3:126
1272 msgid "B<netlink>(3), B<netlink>(7), B<rtnetlink>(7)"
1273 msgstr ""
1274
1275 #. type: TH
1276 #: build/C/man7/rtnetlink.7:15
1277 #, no-wrap
1278 msgid "2013-03-05"
1279 msgstr ""
1280
1281 #. type: Plain text
1282 #: build/C/man7/rtnetlink.7:18
1283 msgid "rtnetlink - Linux IPv4 routing socket"
1284 msgstr ""
1285
1286 #.  FIXME ? all these macros could be moved to rtnetlink(3)
1287 #. type: Plain text
1288 #: build/C/man7/rtnetlink.7:42
1289 msgid ""
1290 "Rtnetlink allows the kernel's routing tables to be read and altered.  It is "
1291 "used within the kernel to communicate between various subsystems, though "
1292 "this usage is not documented here, and for communication with user-space "
1293 "programs.  Network routes, IP addresses, link parameters, neighbor setups, "
1294 "queueing disciplines, traffic classes and packet classifiers may all be "
1295 "controlled through B<NETLINK_ROUTE> sockets.  It is based on netlink "
1296 "messages; see B<netlink>(7)  for more information."
1297 msgstr ""
1298
1299 #. type: SS
1300 #: build/C/man7/rtnetlink.7:42
1301 #, no-wrap
1302 msgid "Routing attributes"
1303 msgstr ""
1304
1305 #. type: Plain text
1306 #: build/C/man7/rtnetlink.7:44
1307 msgid "Some rtnetlink messages have optional attributes after the initial header:"
1308 msgstr ""
1309
1310 #. type: Plain text
1311 #: build/C/man7/rtnetlink.7:52
1312 #, no-wrap
1313 msgid ""
1314 "struct rtattr {\n"
1315 "    unsigned short rta_len;    /* Length of option */\n"
1316 "    unsigned short rta_type;   /* Type of option */\n"
1317 "    /* Data follows */\n"
1318 "};\n"
1319 msgstr ""
1320
1321 #. type: Plain text
1322 #: build/C/man7/rtnetlink.7:58
1323 msgid ""
1324 "These attributes should be manipulated using only the RTA_* macros or "
1325 "libnetlink, see B<rtnetlink>(3)."
1326 msgstr ""
1327
1328 #. type: SS
1329 #: build/C/man7/rtnetlink.7:58
1330 #, no-wrap
1331 msgid "Messages"
1332 msgstr ""
1333
1334 #. type: Plain text
1335 #: build/C/man7/rtnetlink.7:61
1336 msgid ""
1337 "Rtnetlink consists of these message types (in addition to standard netlink "
1338 "messages):"
1339 msgstr ""
1340
1341 #. type: TP
1342 #: build/C/man7/rtnetlink.7:61
1343 #, no-wrap
1344 msgid "B<RTM_NEWLINK>, B<RTM_DELLINK>, B<RTM_GETLINK>"
1345 msgstr ""
1346
1347 #. type: Plain text
1348 #: build/C/man7/rtnetlink.7:69
1349 msgid ""
1350 "Create, remove or get information about a specific network interface.  These "
1351 "messages contain an I<ifinfomsg> structure followed by a series of I<rtattr> "
1352 "structures."
1353 msgstr ""
1354
1355 #. type: Plain text
1356 #: build/C/man7/rtnetlink.7:78
1357 #, no-wrap
1358 msgid ""
1359 "struct ifinfomsg {\n"
1360 "    unsigned char  ifi_family; /* AF_UNSPEC */\n"
1361 "    unsigned short ifi_type;   /* Device type */\n"
1362 "    int            ifi_index;  /* Interface index */\n"
1363 "    unsigned int   ifi_flags;  /* Device flags  */\n"
1364 "    unsigned int   ifi_change; /* change mask */\n"
1365 "};\n"
1366 msgstr ""
1367
1368 #.  FIXME ifi_type
1369 #. type: Plain text
1370 #: build/C/man7/rtnetlink.7:92
1371 msgid ""
1372 "I<ifi_flags> contains the device flags, see B<netdevice>(7); I<ifi_index> is "
1373 "the unique interface index (since Linux 3.7, it is possible to feed a "
1374 "nonzero value with the B<RTM_NEWLINK> message, thus creating a link with the "
1375 "given I<ifindex>); I<ifi_change> is reserved for future use and should be "
1376 "always set to 0xFFFFFFFF."
1377 msgstr ""
1378
1379 #. type: tbl table
1380 #: build/C/man7/rtnetlink.7:96
1381 #, no-wrap
1382 msgid "Routing attributes\n"
1383 msgstr ""
1384
1385 #. type: tbl table
1386 #: build/C/man7/rtnetlink.7:97 build/C/man7/rtnetlink.7:164 build/C/man7/rtnetlink.7:313
1387 #, no-wrap
1388 msgid "rta_type:value type:description\n"
1389 msgstr ""
1390
1391 #. type: tbl table
1392 #: build/C/man7/rtnetlink.7:99
1393 #, no-wrap
1394 msgid "IFLA_UNSPEC:-:unspecified.\n"
1395 msgstr ""
1396
1397 #. type: tbl table
1398 #: build/C/man7/rtnetlink.7:100
1399 #, no-wrap
1400 msgid "IFLA_ADDRESS:hardware address:interface L2 address\n"
1401 msgstr ""
1402
1403 #. type: tbl table
1404 #: build/C/man7/rtnetlink.7:101
1405 #, no-wrap
1406 msgid "IFLA_BROADCAST:hardware address:L2 broadcast address.\n"
1407 msgstr ""
1408
1409 #. type: tbl table
1410 #: build/C/man7/rtnetlink.7:102
1411 #, no-wrap
1412 msgid "IFLA_IFNAME:asciiz string:Device name.\n"
1413 msgstr ""
1414
1415 #. type: tbl table
1416 #: build/C/man7/rtnetlink.7:103
1417 #, no-wrap
1418 msgid "IFLA_MTU:unsigned int:MTU of the device.\n"
1419 msgstr ""
1420
1421 #. type: tbl table
1422 #: build/C/man7/rtnetlink.7:104
1423 #, no-wrap
1424 msgid "IFLA_LINK:int:Link type.\n"
1425 msgstr ""
1426
1427 #. type: tbl table
1428 #: build/C/man7/rtnetlink.7:105
1429 #, no-wrap
1430 msgid "IFLA_QDISC:asciiz string:Queueing discipline.\n"
1431 msgstr ""
1432
1433 #. type: tbl table
1434 #: build/C/man7/rtnetlink.7:106
1435 #, no-wrap
1436 msgid "IFLA_STATS:T{\n"
1437 msgstr ""
1438
1439 #. type: tbl table
1440 #: build/C/man7/rtnetlink.7:107
1441 #, no-wrap
1442 msgid "see below\n"
1443 msgstr ""
1444
1445 #. type: tbl table
1446 #: build/C/man7/rtnetlink.7:108
1447 #, no-wrap
1448 msgid "T}:Interface Statistics.\n"
1449 msgstr ""
1450
1451 #. type: Plain text
1452 #: build/C/man7/rtnetlink.7:117
1453 msgid ""
1454 "The value type for B<IFLA_STATS> is I<struct rtnl_link_stats> (I<struct "
1455 "net_device_stats> in Linux 2.4 and earlier)."
1456 msgstr ""
1457
1458 #. type: TP
1459 #: build/C/man7/rtnetlink.7:117
1460 #, no-wrap
1461 msgid "B<RTM_NEWADDR>, B<RTM_DELADDR>, B<RTM_GETADDR>"
1462 msgstr ""
1463
1464 #. type: Plain text
1465 #: build/C/man7/rtnetlink.7:130
1466 msgid ""
1467 "Add, remove or receive information about an IP address associated with an "
1468 "interface.  In Linux 2.2, an interface can carry multiple IP addresses, this "
1469 "replaces the alias device concept in 2.0.  In Linux 2.2, these messages "
1470 "support IPv4 and IPv6 addresses.  They contain an I<ifaddrmsg> structure, "
1471 "optionally followed by I<rtattr> routing attributes."
1472 msgstr ""
1473
1474 #. type: Plain text
1475 #: build/C/man7/rtnetlink.7:139
1476 #, no-wrap
1477 msgid ""
1478 "struct ifaddrmsg {\n"
1479 "    unsigned char ifa_family;    /* Address type */\n"
1480 "    unsigned char ifa_prefixlen; /* Prefixlength of address */\n"
1481 "    unsigned char ifa_flags;     /* Address flags */\n"
1482 "    unsigned char ifa_scope;     /* Address scope */\n"
1483 "    int           ifa_index;     /* Interface index */\n"
1484 "};\n"
1485 msgstr ""
1486
1487 #. type: Plain text
1488 #: build/C/man7/rtnetlink.7:159
1489 msgid ""
1490 "I<ifa_family> is the address family type (currently B<AF_INET> or "
1491 "B<AF_INET6>), I<ifa_prefixlen> is the length of the address mask of the "
1492 "address if defined for the family (like for IPv4), I<ifa_scope> is the "
1493 "address scope, I<ifa_index> is the interface index of the interface the "
1494 "address is associated with.  I<ifa_flags> is a flag word of "
1495 "B<IFA_F_SECONDARY> for secondary address (old alias interface), "
1496 "B<IFA_F_PERMANENT> for a permanent address set by the user and other "
1497 "undocumented flags."
1498 msgstr ""
1499
1500 #. type: tbl table
1501 #: build/C/man7/rtnetlink.7:163 build/C/man7/rtnetlink.7:312 build/C/man7/rtnetlink.7:430
1502 #, no-wrap
1503 msgid "Attributes\n"
1504 msgstr ""
1505
1506 #. type: tbl table
1507 #: build/C/man7/rtnetlink.7:166
1508 #, no-wrap
1509 msgid "IFA_UNSPEC:-:unspecified.\n"
1510 msgstr ""
1511
1512 #. type: tbl table
1513 #: build/C/man7/rtnetlink.7:167
1514 #, no-wrap
1515 msgid "IFA_ADDRESS:raw protocol address:interface address\n"
1516 msgstr ""
1517
1518 #. type: tbl table
1519 #: build/C/man7/rtnetlink.7:168
1520 #, no-wrap
1521 msgid "IFA_LOCAL:raw protocol address:local address\n"
1522 msgstr ""
1523
1524 #. type: tbl table
1525 #: build/C/man7/rtnetlink.7:169
1526 #, no-wrap
1527 msgid "IFA_LABEL:asciiz string:name of the interface\n"
1528 msgstr ""
1529
1530 #. type: tbl table
1531 #: build/C/man7/rtnetlink.7:170
1532 #, no-wrap
1533 msgid "IFA_BROADCAST:raw protocol address:broadcast address.\n"
1534 msgstr ""
1535
1536 #. type: tbl table
1537 #: build/C/man7/rtnetlink.7:171
1538 #, no-wrap
1539 msgid "IFA_ANYCAST:raw protocol address:anycast address\n"
1540 msgstr ""
1541
1542 #. type: tbl table
1543 #: build/C/man7/rtnetlink.7:172
1544 #, no-wrap
1545 msgid "IFA_CACHEINFO:struct ifa_cacheinfo:Address information.\n"
1546 msgstr ""
1547
1548 #. type: TP
1549 #: build/C/man7/rtnetlink.7:175
1550 #, no-wrap
1551 msgid "B<RTM_NEWROUTE>, B<RTM_DELROUTE>, B<RTM_GETROUTE>"
1552 msgstr ""
1553
1554 #. type: Plain text
1555 #: build/C/man7/rtnetlink.7:195
1556 msgid ""
1557 "Create, remove or receive information about a network route.  These messages "
1558 "contain an I<rtmsg> structure with an optional sequence of I<rtattr> "
1559 "structures following.  For B<RTM_GETROUTE>, setting I<rtm_dst_len> and "
1560 "I<rtm_src_len> to 0 means you get all entries for the specified routing "
1561 "table.  For the other fields, except I<rtm_table> and I<rtm_protocol>, 0 is "
1562 "the wildcard."
1563 msgstr ""
1564
1565 #. type: Plain text
1566 #: build/C/man7/rtnetlink.7:202
1567 #, no-wrap
1568 msgid ""
1569 "struct rtmsg {\n"
1570 "    unsigned char rtm_family;   /* Address family of route */\n"
1571 "    unsigned char rtm_dst_len;  /* Length of destination */\n"
1572 "    unsigned char rtm_src_len;  /* Length of source */\n"
1573 "    unsigned char rtm_tos;      /* TOS filter */\n"
1574 msgstr ""
1575
1576 #. type: Plain text
1577 #: build/C/man7/rtnetlink.7:207
1578 #, no-wrap
1579 msgid ""
1580 "    unsigned char rtm_table;    /* Routing table ID */\n"
1581 "    unsigned char rtm_protocol; /* Routing protocol; see below */\n"
1582 "    unsigned char rtm_scope;    /* See below */\n"
1583 "    unsigned char rtm_type;     /* See below */\n"
1584 msgstr ""
1585
1586 #. type: Plain text
1587 #: build/C/man7/rtnetlink.7:210
1588 #, no-wrap
1589 msgid ""
1590 "    unsigned int  rtm_flags;\n"
1591 "};\n"
1592 msgstr ""
1593
1594 #. type: tbl table
1595 #: build/C/man7/rtnetlink.7:214
1596 #, no-wrap
1597 msgid "rtm_type:Route type\n"
1598 msgstr ""
1599
1600 #. type: tbl table
1601 #: build/C/man7/rtnetlink.7:216
1602 #, no-wrap
1603 msgid "RTN_UNSPEC:unknown route\n"
1604 msgstr ""
1605
1606 #. type: tbl table
1607 #: build/C/man7/rtnetlink.7:217
1608 #, no-wrap
1609 msgid "RTN_UNICAST:a gateway or direct route\n"
1610 msgstr ""
1611
1612 #. type: tbl table
1613 #: build/C/man7/rtnetlink.7:218
1614 #, no-wrap
1615 msgid "RTN_LOCAL:a local interface route\n"
1616 msgstr ""
1617
1618 #. type: tbl table
1619 #: build/C/man7/rtnetlink.7:219
1620 #, no-wrap
1621 msgid "RTN_BROADCAST:T{\n"
1622 msgstr ""
1623
1624 #. type: tbl table
1625 #: build/C/man7/rtnetlink.7:220
1626 #, no-wrap
1627 msgid "a local broadcast route (sent as a broadcast)\n"
1628 msgstr ""
1629
1630 #. type: tbl table
1631 #: build/C/man7/rtnetlink.7:222
1632 #, no-wrap
1633 msgid "RTN_ANYCAST:T{\n"
1634 msgstr ""
1635
1636 #. type: tbl table
1637 #: build/C/man7/rtnetlink.7:223
1638 #, no-wrap
1639 msgid "a local broadcast route (sent as a unicast)\n"
1640 msgstr ""
1641
1642 #. type: tbl table
1643 #: build/C/man7/rtnetlink.7:225
1644 #, no-wrap
1645 msgid "RTN_MULTICAST:a multicast route\n"
1646 msgstr ""
1647
1648 #. type: tbl table
1649 #: build/C/man7/rtnetlink.7:226
1650 #, no-wrap
1651 msgid "RTN_BLACKHOLE:a packet dropping route\n"
1652 msgstr ""
1653
1654 #. type: tbl table
1655 #: build/C/man7/rtnetlink.7:227
1656 #, no-wrap
1657 msgid "RTN_UNREACHABLE:an unreachable destination\n"
1658 msgstr ""
1659
1660 #. type: tbl table
1661 #: build/C/man7/rtnetlink.7:228
1662 #, no-wrap
1663 msgid "RTN_PROHIBIT:a packet rejection route\n"
1664 msgstr ""
1665
1666 #. type: tbl table
1667 #: build/C/man7/rtnetlink.7:229
1668 #, no-wrap
1669 msgid "RTN_THROW:continue routing lookup in another table\n"
1670 msgstr ""
1671
1672 #. type: tbl table
1673 #: build/C/man7/rtnetlink.7:230
1674 #, no-wrap
1675 msgid "RTN_NAT:a network address translation rule\n"
1676 msgstr ""
1677
1678 #. type: tbl table
1679 #: build/C/man7/rtnetlink.7:231
1680 #, no-wrap
1681 msgid "RTN_XRESOLVE:T{\n"
1682 msgstr ""
1683
1684 #. type: tbl table
1685 #: build/C/man7/rtnetlink.7:232
1686 #, no-wrap
1687 msgid "refer to an external resolver (not implemented)\n"
1688 msgstr ""
1689
1690 #. type: tbl table
1691 #: build/C/man7/rtnetlink.7:238
1692 #, no-wrap
1693 msgid "rtm_protocol:Route origin.\n"
1694 msgstr ""
1695
1696 #. type: tbl table
1697 #: build/C/man7/rtnetlink.7:240
1698 #, no-wrap
1699 msgid "RTPROT_UNSPEC:unknown\n"
1700 msgstr ""
1701
1702 #. type: tbl table
1703 #: build/C/man7/rtnetlink.7:241
1704 #, no-wrap
1705 msgid "RTPROT_REDIRECT:T{\n"
1706 msgstr ""
1707
1708 #. type: tbl table
1709 #: build/C/man7/rtnetlink.7:242
1710 #, no-wrap
1711 msgid "by an ICMP redirect (currently unused)\n"
1712 msgstr ""
1713
1714 #. type: tbl table
1715 #: build/C/man7/rtnetlink.7:244
1716 #, no-wrap
1717 msgid "RTPROT_KERNEL:by the kernel\n"
1718 msgstr ""
1719
1720 #. type: tbl table
1721 #: build/C/man7/rtnetlink.7:245
1722 #, no-wrap
1723 msgid "RTPROT_BOOT:during boot\n"
1724 msgstr ""
1725
1726 #. type: tbl table
1727 #: build/C/man7/rtnetlink.7:246
1728 #, no-wrap
1729 msgid "RTPROT_STATIC:by the administrator\n"
1730 msgstr ""
1731
1732 #. type: Plain text
1733 #: build/C/man7/rtnetlink.7:257
1734 msgid ""
1735 "Values larger than B<RTPROT_STATIC> are not interpreted by the kernel, they "
1736 "are just for user information.  They may be used to tag the source of a "
1737 "routing information or to distinguish between multiple routing daemons.  See "
1738 "I<E<lt>linux/rtnetlink.hE<gt>> for the routing daemon identifiers which are "
1739 "already assigned."
1740 msgstr ""
1741
1742 #. type: Plain text
1743 #: build/C/man7/rtnetlink.7:260
1744 msgid "I<rtm_scope> is the distance to the destination:"
1745 msgstr ""
1746
1747 #. type: tbl table
1748 #: build/C/man7/rtnetlink.7:263
1749 #, no-wrap
1750 msgid "RT_SCOPE_UNIVERSE:global route\n"
1751 msgstr ""
1752
1753 #. type: tbl table
1754 #: build/C/man7/rtnetlink.7:264
1755 #, no-wrap
1756 msgid "RT_SCOPE_SITE:T{\n"
1757 msgstr ""
1758
1759 #. type: tbl table
1760 #: build/C/man7/rtnetlink.7:265
1761 #, no-wrap
1762 msgid "interior route in the local autonomous system\n"
1763 msgstr ""
1764
1765 #. type: tbl table
1766 #: build/C/man7/rtnetlink.7:267
1767 #, no-wrap
1768 msgid "RT_SCOPE_LINK:route on this link\n"
1769 msgstr ""
1770
1771 #. type: tbl table
1772 #: build/C/man7/rtnetlink.7:268
1773 #, no-wrap
1774 msgid "RT_SCOPE_HOST:route on the local host\n"
1775 msgstr ""
1776
1777 #. type: tbl table
1778 #: build/C/man7/rtnetlink.7:269
1779 #, no-wrap
1780 msgid "RT_SCOPE_NOWHERE:destination doesn't exist\n"
1781 msgstr ""
1782
1783 #. type: Plain text
1784 #: build/C/man7/rtnetlink.7:277
1785 msgid ""
1786 "The values between B<RT_SCOPE_UNIVERSE> and B<RT_SCOPE_SITE> are available "
1787 "to the user."
1788 msgstr ""
1789
1790 #. type: Plain text
1791 #: build/C/man7/rtnetlink.7:281
1792 msgid "The I<rtm_flags> have the following meanings:"
1793 msgstr ""
1794
1795 #. type: tbl table
1796 #: build/C/man7/rtnetlink.7:284
1797 #, no-wrap
1798 msgid "RTM_F_NOTIFY:T{\n"
1799 msgstr ""
1800
1801 #. type: tbl table
1802 #: build/C/man7/rtnetlink.7:285
1803 #, no-wrap
1804 msgid "if the route changes, notify the user via rtnetlink\n"
1805 msgstr ""
1806
1807 #. type: tbl table
1808 #: build/C/man7/rtnetlink.7:287
1809 #, no-wrap
1810 msgid "RTM_F_CLONED:route is cloned from another route\n"
1811 msgstr ""
1812
1813 #. type: tbl table
1814 #: build/C/man7/rtnetlink.7:288
1815 #, no-wrap
1816 msgid "RTM_F_EQUALIZE:a multipath equalizer (not yet implemented)\n"
1817 msgstr ""
1818
1819 #. type: Plain text
1820 #: build/C/man7/rtnetlink.7:293
1821 msgid "I<rtm_table> specifies the routing table"
1822 msgstr ""
1823
1824 #. type: tbl table
1825 #: build/C/man7/rtnetlink.7:296
1826 #, no-wrap
1827 msgid "RT_TABLE_UNSPEC:an unspecified routing table\n"
1828 msgstr ""
1829
1830 #. type: tbl table
1831 #: build/C/man7/rtnetlink.7:297
1832 #, no-wrap
1833 msgid "RT_TABLE_DEFAULT:the default table\n"
1834 msgstr ""
1835
1836 #. type: tbl table
1837 #: build/C/man7/rtnetlink.7:298
1838 #, no-wrap
1839 msgid "RT_TABLE_MAIN:the main table\n"
1840 msgstr ""
1841
1842 #. type: tbl table
1843 #: build/C/man7/rtnetlink.7:299
1844 #, no-wrap
1845 msgid "RT_TABLE_LOCAL:the local table\n"
1846 msgstr ""
1847
1848 #.  Keep table on same page
1849 #. type: Plain text
1850 #: build/C/man7/rtnetlink.7:307
1851 msgid ""
1852 "The user may assign arbitrary values between B<RT_TABLE_UNSPEC> and "
1853 "B<RT_TABLE_DEFAULT>."
1854 msgstr ""
1855
1856 #. type: tbl table
1857 #: build/C/man7/rtnetlink.7:315
1858 #, no-wrap
1859 msgid "RTA_UNSPEC:-:ignored.\n"
1860 msgstr ""
1861
1862 #. type: tbl table
1863 #: build/C/man7/rtnetlink.7:316
1864 #, no-wrap
1865 msgid "RTA_DST:protocol address:Route destination address.\n"
1866 msgstr ""
1867
1868 #. type: tbl table
1869 #: build/C/man7/rtnetlink.7:317
1870 #, no-wrap
1871 msgid "RTA_SRC:protocol address:Route source address.\n"
1872 msgstr ""
1873
1874 #. type: tbl table
1875 #: build/C/man7/rtnetlink.7:318
1876 #, no-wrap
1877 msgid "RTA_IIF:int:Input interface index.\n"
1878 msgstr ""
1879
1880 #. type: tbl table
1881 #: build/C/man7/rtnetlink.7:319
1882 #, no-wrap
1883 msgid "RTA_OIF:int:Output interface index.\n"
1884 msgstr ""
1885
1886 #. type: tbl table
1887 #: build/C/man7/rtnetlink.7:320
1888 #, no-wrap
1889 msgid "RTA_GATEWAY:protocol address:The gateway of the route\n"
1890 msgstr ""
1891
1892 #. type: tbl table
1893 #: build/C/man7/rtnetlink.7:321
1894 #, no-wrap
1895 msgid "RTA_PRIORITY:int:Priority of route.\n"
1896 msgstr ""
1897
1898 #. type: tbl table
1899 #: build/C/man7/rtnetlink.7:322
1900 #, no-wrap
1901 msgid "RTA_PREFSRC::\n"
1902 msgstr ""
1903
1904 #. type: tbl table
1905 #: build/C/man7/rtnetlink.7:323
1906 #, no-wrap
1907 msgid "RTA_METRICS:int:Route metric\n"
1908 msgstr ""
1909
1910 #. type: tbl table
1911 #: build/C/man7/rtnetlink.7:324
1912 #, no-wrap
1913 msgid "RTA_MULTIPATH::\n"
1914 msgstr ""
1915
1916 #. type: tbl table
1917 #: build/C/man7/rtnetlink.7:325
1918 #, no-wrap
1919 msgid "RTA_PROTOINFO::\n"
1920 msgstr ""
1921
1922 #. type: tbl table
1923 #: build/C/man7/rtnetlink.7:326
1924 #, no-wrap
1925 msgid "RTA_FLOW::\n"
1926 msgstr ""
1927
1928 #. type: tbl table
1929 #: build/C/man7/rtnetlink.7:327
1930 #, no-wrap
1931 msgid "RTA_CACHEINFO::\n"
1932 msgstr ""
1933
1934 #. type: Plain text
1935 #: build/C/man7/rtnetlink.7:331
1936 msgid "B<Fill these values in!>"
1937 msgstr ""
1938
1939 #. type: TP
1940 #: build/C/man7/rtnetlink.7:331
1941 #, no-wrap
1942 msgid "B<RTM_NEWNEIGH>, B<RTM_DELNEIGH>, B<RTM_GETNEIGH>"
1943 msgstr ""
1944
1945 #. type: Plain text
1946 #: build/C/man7/rtnetlink.7:338
1947 msgid ""
1948 "Add, remove or receive information about a neighbor table entry (e.g., an "
1949 "ARP entry).  The message contains an I<ndmsg> structure."
1950 msgstr ""
1951
1952 #. type: Plain text
1953 #: build/C/man7/rtnetlink.7:347
1954 #, no-wrap
1955 msgid ""
1956 "struct ndmsg {\n"
1957 "    unsigned char ndm_family;\n"
1958 "    int           ndm_ifindex;  /* Interface index */\n"
1959 "    __u16         ndm_state;    /* State */\n"
1960 "    __u8          ndm_flags;    /* Flags */\n"
1961 "    __u8          ndm_type;\n"
1962 "};\n"
1963 msgstr ""
1964
1965 #. type: Plain text
1966 #: build/C/man7/rtnetlink.7:354
1967 #, no-wrap
1968 msgid ""
1969 "struct nda_cacheinfo {\n"
1970 "    __u32         ndm_confirmed;\n"
1971 "    __u32         ndm_used;\n"
1972 "    __u32         ndm_updated;\n"
1973 "    __u32         ndm_refcnt;\n"
1974 "};\n"
1975 msgstr ""
1976
1977 #. type: Plain text
1978 #: build/C/man7/rtnetlink.7:358
1979 msgid "I<ndm_state> is a bit mask of the following states:"
1980 msgstr ""
1981
1982 #. type: tbl table
1983 #: build/C/man7/rtnetlink.7:361
1984 #, no-wrap
1985 msgid "NUD_INCOMPLETE:a currently resolving cache entry\n"
1986 msgstr ""
1987
1988 #. type: tbl table
1989 #: build/C/man7/rtnetlink.7:362
1990 #, no-wrap
1991 msgid "NUD_REACHABLE:a confirmed working cache entry\n"
1992 msgstr ""
1993
1994 #. type: tbl table
1995 #: build/C/man7/rtnetlink.7:363
1996 #, no-wrap
1997 msgid "NUD_STALE:an expired cache entry\n"
1998 msgstr ""
1999
2000 #. type: tbl table
2001 #: build/C/man7/rtnetlink.7:364
2002 #, no-wrap
2003 msgid "NUD_DELAY:an entry waiting for a timer\n"
2004 msgstr ""
2005
2006 #. type: tbl table
2007 #: build/C/man7/rtnetlink.7:365
2008 #, no-wrap
2009 msgid "NUD_PROBE:a cache entry that is currently reprobed\n"
2010 msgstr ""
2011
2012 #. type: tbl table
2013 #: build/C/man7/rtnetlink.7:366
2014 #, no-wrap
2015 msgid "NUD_FAILED:an invalid cache entry\n"
2016 msgstr ""
2017
2018 #. type: tbl table
2019 #: build/C/man7/rtnetlink.7:367
2020 #, no-wrap
2021 msgid "NUD_NOARP:a device with no destination cache\n"
2022 msgstr ""
2023
2024 #. type: tbl table
2025 #: build/C/man7/rtnetlink.7:368
2026 #, no-wrap
2027 msgid "NUD_PERMANENT:a static entry\n"
2028 msgstr ""
2029
2030 #. type: Plain text
2031 #: build/C/man7/rtnetlink.7:374
2032 msgid "Valid I<ndm_flags> are:"
2033 msgstr ""
2034
2035 #. type: tbl table
2036 #: build/C/man7/rtnetlink.7:377
2037 #, no-wrap
2038 msgid "NTF_PROXY:a proxy arp entry\n"
2039 msgstr ""
2040
2041 #. type: tbl table
2042 #: build/C/man7/rtnetlink.7:378
2043 #, no-wrap
2044 msgid "NTF_ROUTER:an IPv6 router\n"
2045 msgstr ""
2046
2047 #.  FIXME
2048 #.  document the members of the struct better
2049 #. type: Plain text
2050 #: build/C/man7/rtnetlink.7:388
2051 msgid "The I<rtattr> struct has the following meanings for the I<rta_type> field:"
2052 msgstr ""
2053
2054 #. type: tbl table
2055 #: build/C/man7/rtnetlink.7:391
2056 #, no-wrap
2057 msgid "NDA_UNSPEC:unknown type\n"
2058 msgstr ""
2059
2060 #. type: tbl table
2061 #: build/C/man7/rtnetlink.7:392
2062 #, no-wrap
2063 msgid "NDA_DST:a neighbor cache n/w layer destination address\n"
2064 msgstr ""
2065
2066 #. type: tbl table
2067 #: build/C/man7/rtnetlink.7:393
2068 #, no-wrap
2069 msgid "NDA_LLADDR:a neighbor cache link layer address\n"
2070 msgstr ""
2071
2072 #. type: tbl table
2073 #: build/C/man7/rtnetlink.7:394
2074 #, no-wrap
2075 msgid "NDA_CACHEINFO:cache statistics.\n"
2076 msgstr ""
2077
2078 #. type: Plain text
2079 #: build/C/man7/rtnetlink.7:404
2080 msgid ""
2081 "If the I<rta_type> field is B<NDA_CACHEINFO>, then a I<struct nda_cacheinfo> "
2082 "header follows"
2083 msgstr ""
2084
2085 #. type: TP
2086 #: build/C/man7/rtnetlink.7:404
2087 #, no-wrap
2088 msgid "B<RTM_NEWRULE>, B<RTM_DELRULE>, B<RTM_GETRULE>"
2089 msgstr ""
2090
2091 #. type: Plain text
2092 #: build/C/man7/rtnetlink.7:409
2093 msgid "Add, delete or retrieve a routing rule.  Carries a I<struct rtmsg>"
2094 msgstr ""
2095
2096 #. type: TP
2097 #: build/C/man7/rtnetlink.7:409
2098 #, no-wrap
2099 msgid "B<RTM_NEWQDISC>, B<RTM_DELQDISC>, B<RTM_GETQDISC>"
2100 msgstr ""
2101
2102 #. type: Plain text
2103 #: build/C/man7/rtnetlink.7:416
2104 msgid ""
2105 "Add, remove or get a queueing discipline.  The message contains a I<struct "
2106 "tcmsg> and may be followed by a series of attributes."
2107 msgstr ""
2108
2109 #. type: Plain text
2110 #: build/C/man7/rtnetlink.7:425
2111 #, no-wrap
2112 msgid ""
2113 "struct tcmsg {\n"
2114 "    unsigned char    tcm_family;\n"
2115 "    int              tcm_ifindex;   /* interface index */\n"
2116 "    __u32            tcm_handle;    /* Qdisc handle */\n"
2117 "    __u32            tcm_parent;    /* Parent qdisc */\n"
2118 "    __u32            tcm_info;\n"
2119 "};\n"
2120 msgstr ""
2121
2122 #. type: tbl table
2123 #: build/C/man7/rtnetlink.7:431
2124 #, no-wrap
2125 msgid "rta_type:value type:Description\n"
2126 msgstr ""
2127
2128 #. type: tbl table
2129 #: build/C/man7/rtnetlink.7:433
2130 #, no-wrap
2131 msgid "TCA_UNSPEC:-:unspecified\n"
2132 msgstr ""
2133
2134 #. type: tbl table
2135 #: build/C/man7/rtnetlink.7:434
2136 #, no-wrap
2137 msgid "TCA_KIND:asciiz string:Name of queueing discipline\n"
2138 msgstr ""
2139
2140 #. type: tbl table
2141 #: build/C/man7/rtnetlink.7:435
2142 #, no-wrap
2143 msgid "TCA_OPTIONS:byte sequence:Qdisc-specific options follow\n"
2144 msgstr ""
2145
2146 #. type: tbl table
2147 #: build/C/man7/rtnetlink.7:436
2148 #, no-wrap
2149 msgid "TCA_STATS:struct tc_stats:Qdisc statistics.\n"
2150 msgstr ""
2151
2152 #. type: tbl table
2153 #: build/C/man7/rtnetlink.7:437
2154 #, no-wrap
2155 msgid "TCA_XSTATS:qdisc-specific:Module-specific statistics.\n"
2156 msgstr ""
2157
2158 #. type: tbl table
2159 #: build/C/man7/rtnetlink.7:438
2160 #, no-wrap
2161 msgid "TCA_RATE:struct tc_estimator:Rate limit.\n"
2162 msgstr ""
2163
2164 #. type: Plain text
2165 #: build/C/man7/rtnetlink.7:443
2166 msgid ""
2167 "In addition, various other qdisc-module-specific attributes are allowed.  "
2168 "For more information see the appropriate include files."
2169 msgstr ""
2170
2171 #. type: TP
2172 #: build/C/man7/rtnetlink.7:443
2173 #, no-wrap
2174 msgid "B<RTM_NEWTCLASS>, B<RTM_DELTCLASS>, B<RTM_GETTCLASS>"
2175 msgstr ""
2176
2177 #. type: Plain text
2178 #: build/C/man7/rtnetlink.7:449
2179 msgid ""
2180 "Add, remove or get a traffic class.  These messages contain a I<struct "
2181 "tcmsg> as described above."
2182 msgstr ""
2183
2184 #. type: TP
2185 #: build/C/man7/rtnetlink.7:449
2186 #, no-wrap
2187 msgid "B<RTM_NEWTFILTER>, B<RTM_DELTFILTER>, B<RTM_GETTFILTER>"
2188 msgstr ""
2189
2190 #. type: Plain text
2191 #: build/C/man7/rtnetlink.7:455
2192 msgid ""
2193 "Add, remove or receive information about a traffic filter.  These messages "
2194 "contain a I<struct tcmsg> as described above."
2195 msgstr ""
2196
2197 #. type: Plain text
2198 #: build/C/man7/rtnetlink.7:458
2199 msgid "B<rtnetlink> is a new feature of Linux 2.2."
2200 msgstr ""
2201
2202 #. type: Plain text
2203 #: build/C/man7/rtnetlink.7:465
2204 msgid "B<cmsg>(3), B<rtnetlink>(3), B<ip>(7), B<netlink>(7)"
2205 msgstr ""