OSDN Git Service

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