OSDN Git Service

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