OSDN Git Service

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