OSDN Git Service

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