OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.37.
[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-03-22 04:26+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:365
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:448 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:461 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:468 build/C/man3/rtnetlink.3:129 build/C/man7/rtnetlink.7:457
269 msgid ""
270 "This page is part of release 3.37 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 "2008-11-11"
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:346
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."
834 msgstr ""
835
836 #. type: SH
837 #: build/C/man7/netlink.7:346 build/C/man7/rtnetlink.7:440
838 #, no-wrap
839 msgid "VERSIONS"
840 msgstr ""
841
842 #. type: Plain text
843 #: build/C/man7/netlink.7:348
844 msgid "The socket interface to netlink is a new feature of Linux 2.2."
845 msgstr ""
846
847 #. type: Plain text
848 #: build/C/man7/netlink.7:352
849 msgid ""
850 "Linux 2.0 supported a more primitive device-based netlink interface (which "
851 "is still available as a compatibility option).  This obsolete interface is "
852 "not described here."
853 msgstr ""
854
855 #. type: Plain text
856 #: build/C/man7/netlink.7:354
857 msgid "NETLINK_SELINUX appeared in Linux 2.6.4."
858 msgstr ""
859
860 #. type: Plain text
861 #: build/C/man7/netlink.7:356
862 msgid "NETLINK_AUDIT appeared in Linux 2.6.6."
863 msgstr ""
864
865 #. type: Plain text
866 #: build/C/man7/netlink.7:358
867 msgid "NETLINK_KOBJECT_UEVENT appeared in Linux 2.6.10."
868 msgstr ""
869
870 #. type: Plain text
871 #: build/C/man7/netlink.7:360
872 msgid "NETLINK_W1 and NETLINK_FIB_LOOKUP appeared in Linux 2.6.13."
873 msgstr ""
874
875 #. type: Plain text
876 #: build/C/man7/netlink.7:363
877 msgid ""
878 "NETLINK_INET_DIAG, NETLINK_CONNECTOR and NETLINK_NETFILTER appeared in Linux "
879 "2.6.14."
880 msgstr ""
881
882 #. type: Plain text
883 #: build/C/man7/netlink.7:365
884 msgid "NETLINK_GENERIC and NETLINK_ISCSI appeared in Linux 2.6.15."
885 msgstr ""
886
887 #. type: Plain text
888 #: build/C/man7/netlink.7:371
889 msgid ""
890 "It is often better to use netlink via I<libnetlink> or I<libnl> than via the "
891 "low-level kernel interface."
892 msgstr ""
893
894 #. type: SH
895 #: build/C/man7/netlink.7:371 build/C/man3/rtnetlink.3:80 build/C/man7/rtnetlink.7:443
896 #, no-wrap
897 msgid "BUGS"
898 msgstr ""
899
900 #. type: Plain text
901 #: build/C/man7/netlink.7:373
902 msgid "This manual page is not complete."
903 msgstr ""
904
905 #. type: SH
906 #: build/C/man7/netlink.7:373 build/C/man3/rtnetlink.3:82
907 #, no-wrap
908 msgid "EXAMPLE"
909 msgstr ""
910
911 #. type: Plain text
912 #: build/C/man7/netlink.7:381
913 msgid ""
914 "The following example creates a B<NETLINK_ROUTE> netlink socket which will "
915 "listen to the B<RTMGRP_LINK> (network interface create/delete/up/down "
916 "events) and B<RTMGRP_IPV4_IFADDR> (IPv4 addresses add/delete events) "
917 "multicast groups."
918 msgstr ""
919
920 #. type: Plain text
921 #: build/C/man7/netlink.7:385
922 #, no-wrap
923 msgid "struct sockaddr_nl sa;\n"
924 msgstr ""
925
926 #. type: Plain text
927 #: build/C/man7/netlink.7:389
928 #, no-wrap
929 msgid ""
930 "memset(&sa, 0, sizeof(sa));\n"
931 "sa.nl_family = AF_NETLINK;\n"
932 "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n"
933 msgstr ""
934
935 #. type: Plain text
936 #: build/C/man7/netlink.7:392
937 #, no-wrap
938 msgid ""
939 "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n"
940 "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n"
941 msgstr ""
942
943 #. type: Plain text
944 #: build/C/man7/netlink.7:399
945 msgid ""
946 "The next example demonstrates how to send a netlink message to the kernel "
947 "(pid 0).  Note that application must take care of message sequence numbers "
948 "in order to reliably track acknowledgements."
949 msgstr ""
950
951 #. type: Plain text
952 #: build/C/man7/netlink.7:406
953 #, no-wrap
954 msgid ""
955 "struct nlmsghdr *nh;    /* The nlmsghdr with payload to send. */\n"
956 "struct sockaddr_nl sa;\n"
957 "struct iovec iov = { (void *) nh, nh-E<gt>nlmsg_len };\n"
958 "struct msghdr msg;\n"
959 msgstr ""
960
961 #. type: Plain text
962 #: build/C/man7/netlink.7:414
963 #, no-wrap
964 msgid ""
965 "msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
966 "memset(&sa, 0, sizeof(sa));\n"
967 "sa.nl_family = AF_NETLINK;\n"
968 "nh-E<gt>nlmsg_pid = 0;\n"
969 "nh-E<gt>nlmsg_seq = ++sequence_number;\n"
970 "/* Request an ack from kernel by setting NLM_F_ACK. */\n"
971 "nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
972 msgstr ""
973
974 #. type: Plain text
975 #: build/C/man7/netlink.7:416
976 #, no-wrap
977 msgid "sendmsg(fd, &msg, 0);\n"
978 msgstr ""
979
980 #. type: Plain text
981 #: build/C/man7/netlink.7:420
982 msgid "And the last example is about reading netlink message."
983 msgstr ""
984
985 #. type: Plain text
986 #: build/C/man7/netlink.7:429
987 #, no-wrap
988 msgid ""
989 "int len;\n"
990 "char buf[4096];\n"
991 "struct iovec iov = { buf, sizeof(buf) };\n"
992 "struct sockaddr_nl sa;\n"
993 "struct msghdr msg;\n"
994 "struct nlmsghdr *nh;\n"
995 msgstr ""
996
997 #. type: Plain text
998 #: build/C/man7/netlink.7:432
999 #, no-wrap
1000 msgid ""
1001 "msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
1002 "len = recvmsg(fd, &msg, 0);\n"
1003 msgstr ""
1004
1005 #. type: Plain text
1006 #: build/C/man7/netlink.7:438
1007 #, no-wrap
1008 msgid ""
1009 "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n"
1010 "     nh = NLMSG_NEXT (nh, len)) {\n"
1011 "    /* The end of multipart message. */\n"
1012 "    if (nh-E<gt>nlmsg_type == NLMSG_DONE)\n"
1013 "        return;\n"
1014 msgstr ""
1015
1016 #. type: Plain text
1017 #: build/C/man7/netlink.7:442
1018 #, no-wrap
1019 msgid ""
1020 "    if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
1021 "        /* Do some error handling. */\n"
1022 "    ...\n"
1023 msgstr ""
1024
1025 #. type: Plain text
1026 #: build/C/man7/netlink.7:446
1027 #, no-wrap
1028 msgid ""
1029 "    /* Continue with parsing payload. */\n"
1030 "    ...\n"
1031 "}\n"
1032 msgstr ""
1033
1034 #. type: Plain text
1035 #: build/C/man7/netlink.7:453
1036 msgid "B<cmsg>(3), B<netlink>(3), B<capabilities>(7), B<rtnetlink>(7)"
1037 msgstr ""
1038
1039 #. type: Plain text
1040 #: build/C/man7/netlink.7:456
1041 msgid "ftp://ftp.inr.ac.ru/ip-routing/iproute2* for information about libnetlink."
1042 msgstr ""
1043
1044 #. type: Plain text
1045 #: build/C/man7/netlink.7:459
1046 msgid "http://people.suug.ch/~tgr/libnl/ for information about libnl."
1047 msgstr ""
1048
1049 #. type: Plain text
1050 #: build/C/man7/netlink.7:461
1051 msgid "RFC 3549 \"Linux Netlink as an IP Services Protocol\""
1052 msgstr ""
1053
1054 #. type: TH
1055 #: build/C/man3/rtnetlink.3:7 build/C/man7/rtnetlink.7:11
1056 #, no-wrap
1057 msgid "RTNETLINK"
1058 msgstr ""
1059
1060 #. type: TH
1061 #: build/C/man3/rtnetlink.3:7
1062 #, no-wrap
1063 msgid "2010-01-11"
1064 msgstr ""
1065
1066 #. type: Plain text
1067 #: build/C/man3/rtnetlink.3:10
1068 msgid "rtnetlink - macros to manipulate rtnetlink messages"
1069 msgstr ""
1070
1071 #. type: Plain text
1072 #: build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:16
1073 msgid "B<#include E<lt>asm/types.hE<gt>>"
1074 msgstr ""
1075
1076 #. type: Plain text
1077 #: build/C/man3/rtnetlink.3:14 build/C/man7/rtnetlink.7:18
1078 msgid "B<#include E<lt>linux/netlink.hE<gt>>"
1079 msgstr ""
1080
1081 #. type: Plain text
1082 #: build/C/man3/rtnetlink.3:16 build/C/man7/rtnetlink.7:20
1083 msgid "B<#include E<lt>linux/rtnetlink.hE<gt>>"
1084 msgstr ""
1085
1086 #. type: Plain text
1087 #: build/C/man3/rtnetlink.3:18 build/C/man7/rtnetlink.7:22
1088 msgid "B<#include E<lt>sys/socket.hE<gt>>"
1089 msgstr ""
1090
1091 #. type: Plain text
1092 #: build/C/man3/rtnetlink.3:21 build/C/man7/rtnetlink.7:24
1093 msgid ""
1094 "B<rtnetlink_socket = socket(AF_NETLINK, int >I<socket_type>B<, "
1095 "NETLINK_ROUTE);>"
1096 msgstr ""
1097
1098 #. type: Plain text
1099 #: build/C/man3/rtnetlink.3:23
1100 msgid "B<int RTA_OK(struct rtattr *>I<rta>B<, int >I<rtabuflen>B<);>"
1101 msgstr ""
1102
1103 #. type: Plain text
1104 #: build/C/man3/rtnetlink.3:25
1105 msgid "B<void *RTA_DATA(struct rtattr *>I<rta>B<);>"
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man3/rtnetlink.3:27
1110 msgid "B<unsigned int RTA_PAYLOAD(struct rtattr *>I<rta>B<);>"
1111 msgstr ""
1112
1113 #. type: Plain text
1114 #: build/C/man3/rtnetlink.3:30
1115 msgid ""
1116 "B<struct rtattr *RTA_NEXT(struct rtattr *>I<rta>B<, unsigned int "
1117 ">I<rtabuflen>B<);>"
1118 msgstr ""
1119
1120 #. type: Plain text
1121 #: build/C/man3/rtnetlink.3:32
1122 msgid "B<unsigned int RTA_LENGTH(unsigned int >I<length>B<);>"
1123 msgstr ""
1124
1125 #. type: Plain text
1126 #: build/C/man3/rtnetlink.3:34
1127 msgid "B<unsigned int RTA_SPACE(unsigned int >I<length>B<);>"
1128 msgstr ""
1129
1130 #. type: Plain text
1131 #: build/C/man3/rtnetlink.3:42
1132 msgid ""
1133 "All B<rtnetlink>(7)  messages consist of a B<netlink>(7)  message header and "
1134 "appended attributes.  The attributes should be only manipulated using the "
1135 "macros provided here."
1136 msgstr ""
1137
1138 #. type: Plain text
1139 #: build/C/man3/rtnetlink.3:53
1140 msgid ""
1141 "B<RTA_OK(>I<rta>B<, >I<attrlen>B<)> returns true if I<rta> points to a valid "
1142 "routing attribute; I<attrlen> is the running length of the attribute "
1143 "buffer.  When not true then you must assume there are no more attributes in "
1144 "the message, even if I<attrlen> is nonzero."
1145 msgstr ""
1146
1147 #. type: Plain text
1148 #: build/C/man3/rtnetlink.3:56
1149 msgid ""
1150 "B<RTA_DATA(>I<rta>B<)> returns a pointer to the start of this attribute's "
1151 "data."
1152 msgstr ""
1153
1154 #. type: Plain text
1155 #: build/C/man3/rtnetlink.3:59
1156 msgid "B<RTA_PAYLOAD(>I<rta>B<)> returns the length of this attribute's data."
1157 msgstr ""
1158
1159 #. type: Plain text
1160 #: build/C/man3/rtnetlink.3:68
1161 msgid ""
1162 "B<RTA_NEXT(>I<rta>B<, >I<attrlen>B<)> gets the next attribute after I<rta>.  "
1163 "Calling this macro will update I<attrlen>.  You should use B<RTA_OK> to "
1164 "check the validity of the returned pointer."
1165 msgstr ""
1166
1167 #. type: Plain text
1168 #: build/C/man3/rtnetlink.3:73
1169 msgid ""
1170 "B<RTA_LENGTH(>I<len>B<)> returns the length which is required for I<len> "
1171 "bytes of data plus the header."
1172 msgstr ""
1173
1174 #. type: Plain text
1175 #: build/C/man3/rtnetlink.3:78
1176 msgid ""
1177 "B<RTA_SPACE(>I<len>B<)> returns the amount of space which will be needed in "
1178 "a message with I<len> bytes of data."
1179 msgstr ""
1180
1181 #. type: Plain text
1182 #: build/C/man3/rtnetlink.3:82 build/C/man7/rtnetlink.7:445
1183 msgid "This manual page is incomplete."
1184 msgstr ""
1185
1186 #.  FIXME ? would be better to use libnetlink in the EXAMPLE code here
1187 #. type: Plain text
1188 #: build/C/man3/rtnetlink.3:86
1189 msgid "Creating a rtnetlink message to set the MTU of a device:"
1190 msgstr ""
1191
1192 #. type: Plain text
1193 #: build/C/man3/rtnetlink.3:88
1194 #, no-wrap
1195 msgid "    #include E<lt>linux/rtnetlink.hE<gt>\n"
1196 msgstr ""
1197
1198 #. type: Plain text
1199 #: build/C/man3/rtnetlink.3:90
1200 #, no-wrap
1201 msgid "    ...\n"
1202 msgstr ""
1203
1204 #. type: Plain text
1205 #: build/C/man3/rtnetlink.3:96
1206 #, no-wrap
1207 msgid ""
1208 "    struct {\n"
1209 "        struct nlmsghdr  nh;\n"
1210 "        struct ifinfomsg if;\n"
1211 "        char             attrbuf[512];\n"
1212 "    } req;\n"
1213 msgstr ""
1214
1215 #. type: Plain text
1216 #: build/C/man3/rtnetlink.3:99
1217 #, no-wrap
1218 msgid ""
1219 "    struct rtattr *rta;\n"
1220 "    unsigned int mtu = 1000;\n"
1221 msgstr ""
1222
1223 #. type: Plain text
1224 #: build/C/man3/rtnetlink.3:101
1225 #, no-wrap
1226 msgid "    int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);\n"
1227 msgstr ""
1228
1229 #. type: Plain text
1230 #: build/C/man3/rtnetlink.3:117
1231 #, no-wrap
1232 msgid ""
1233 "    memset(&req, 0, sizeof(req));\n"
1234 "    req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));\n"
1235 "    req.nh.nlmsg_flags = NLM_F_REQUEST;\n"
1236 "    req.nh.nlmsg_type = RTM_NEWLINK;\n"
1237 "    req.if.ifi_family = AF_UNSPEC;\n"
1238 "    req.if.ifi_index = INTERFACE_INDEX;\n"
1239 "    req.if.ifi_change = 0xffffffff; /* ??? */\n"
1240 "    rta = (struct rtattr *)(((char *) &req) +\n"
1241 "                             NLMSG_ALIGN(req.nh.nlmsg_len));\n"
1242 "    rta-E<gt>rta_type = IFLA_MTU;\n"
1243 "    rta-E<gt>rta_len = sizeof(unsigned int);\n"
1244 "    req.n.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +\n"
1245 "                                  RTA_LENGTH(sizeof(mtu));\n"
1246 "    memcpy(RTA_DATA(rta), &mtu, sizeof(mtu));\n"
1247 "    send(rtnetlink_sk, &req, req.nh.nlmsg_len);\n"
1248 msgstr ""
1249
1250 #. type: Plain text
1251 #: build/C/man3/rtnetlink.3:122
1252 msgid "B<netlink>(3), B<netlink>(7), B<rtnetlink>(7)"
1253 msgstr ""
1254
1255 #. type: TH
1256 #: build/C/man7/rtnetlink.7:11
1257 #, no-wrap
1258 msgid "2008-08-08"
1259 msgstr ""
1260
1261 #. type: Plain text
1262 #: build/C/man7/rtnetlink.7:14
1263 msgid "rtnetlink, NETLINK_ROUTE - Linux IPv4 routing socket"
1264 msgstr ""
1265
1266 #.  FIXME ? all these macros could be moved to rtnetlink(3)
1267 #. type: Plain text
1268 #: build/C/man7/rtnetlink.7:38
1269 msgid ""
1270 "Rtnetlink allows the kernel's routing tables to be read and altered.  It is "
1271 "used within the kernel to communicate between various subsystems, though "
1272 "this usage is not documented here, and for communication with user-space "
1273 "programs.  Network routes, IP addresses, link parameters, neighbor setups, "
1274 "queueing disciplines, traffic classes and packet classifiers may all be "
1275 "controlled through B<NETLINK_ROUTE> sockets.  It is based on netlink "
1276 "messages; see B<netlink>(7)  for more information."
1277 msgstr ""
1278
1279 #. type: SS
1280 #: build/C/man7/rtnetlink.7:38
1281 #, no-wrap
1282 msgid "Routing Attributes"
1283 msgstr ""
1284
1285 #. type: Plain text
1286 #: build/C/man7/rtnetlink.7:40
1287 msgid "Some rtnetlink messages have optional attributes after the initial header:"
1288 msgstr ""
1289
1290 #. type: Plain text
1291 #: build/C/man7/rtnetlink.7:48
1292 #, no-wrap
1293 msgid ""
1294 "struct rtattr {\n"
1295 "    unsigned short rta_len;    /* Length of option */\n"
1296 "    unsigned short rta_type;   /* Type of option */\n"
1297 "    /* Data follows */\n"
1298 "};\n"
1299 msgstr ""
1300
1301 #. type: Plain text
1302 #: build/C/man7/rtnetlink.7:54
1303 msgid ""
1304 "These attributes should be only manipulated using the RTA_* macros or "
1305 "libnetlink, see B<rtnetlink>(3)."
1306 msgstr ""
1307
1308 #. type: SS
1309 #: build/C/man7/rtnetlink.7:54
1310 #, no-wrap
1311 msgid "Messages"
1312 msgstr ""
1313
1314 #. type: Plain text
1315 #: build/C/man7/rtnetlink.7:57
1316 msgid ""
1317 "Rtnetlink consists of these message types (in addition to standard netlink "
1318 "messages):"
1319 msgstr ""
1320
1321 #. type: TP
1322 #: build/C/man7/rtnetlink.7:57
1323 #, no-wrap
1324 msgid "B<RTM_NEWLINK>, B<RTM_DELLINK>, B<RTM_GETLINK>"
1325 msgstr ""
1326
1327 #. type: Plain text
1328 #: build/C/man7/rtnetlink.7:65
1329 msgid ""
1330 "Create, remove or get information about a specific network interface.  These "
1331 "messages contain an I<ifinfomsg> structure followed by a series of I<rtattr> "
1332 "structures."
1333 msgstr ""
1334
1335 #. type: Plain text
1336 #: build/C/man7/rtnetlink.7:74
1337 #, no-wrap
1338 msgid ""
1339 "struct ifinfomsg {\n"
1340 "    unsigned char  ifi_family; /* AF_UNSPEC */\n"
1341 "    unsigned short ifi_type;   /* Device type */\n"
1342 "    int            ifi_index;  /* Interface index */\n"
1343 "    unsigned int   ifi_flags;  /* Device flags  */\n"
1344 "    unsigned int   ifi_change; /* change mask */\n"
1345 "};\n"
1346 msgstr ""
1347
1348 #.  FIXME ifi_type
1349 #. type: Plain text
1350 #: build/C/man7/rtnetlink.7:84
1351 msgid ""
1352 "I<ifi_flags> contains the device flags, see B<netdevice>(7); I<ifi_index> is "
1353 "the unique interface index, I<ifi_change> is reserved for future use and "
1354 "should be always set to 0xFFFFFFFF."
1355 msgstr ""
1356
1357 #. type: tbl table
1358 #: build/C/man7/rtnetlink.7:88
1359 #, no-wrap
1360 msgid "Routing attributes\n"
1361 msgstr ""
1362
1363 #. type: tbl table
1364 #: build/C/man7/rtnetlink.7:89 build/C/man7/rtnetlink.7:151 build/C/man7/rtnetlink.7:298
1365 #, no-wrap
1366 msgid "rta_type:value type:description\n"
1367 msgstr ""
1368
1369 #. type: tbl table
1370 #: 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
1371 #, no-wrap
1372 msgid "_\n"
1373 msgstr ""
1374
1375 #. type: tbl table
1376 #: build/C/man7/rtnetlink.7:91
1377 #, no-wrap
1378 msgid "IFLA_UNSPEC:-:unspecified.\n"
1379 msgstr ""
1380
1381 #. type: tbl table
1382 #: build/C/man7/rtnetlink.7:92
1383 #, no-wrap
1384 msgid "IFLA_ADDRESS:hardware address:interface L2 address\n"
1385 msgstr ""
1386
1387 #. type: tbl table
1388 #: build/C/man7/rtnetlink.7:93
1389 #, no-wrap
1390 msgid "IFLA_BROADCAST:hardware address:L2 broadcast address.\n"
1391 msgstr ""
1392
1393 #. type: tbl table
1394 #: build/C/man7/rtnetlink.7:94
1395 #, no-wrap
1396 msgid "IFLA_IFNAME:asciiz string:Device name.\n"
1397 msgstr ""
1398
1399 #. type: tbl table
1400 #: build/C/man7/rtnetlink.7:95
1401 #, no-wrap
1402 msgid "IFLA_MTU:unsigned int:MTU of the device.\n"
1403 msgstr ""
1404
1405 #. type: tbl table
1406 #: build/C/man7/rtnetlink.7:96
1407 #, no-wrap
1408 msgid "IFLA_LINK:int:Link type.\n"
1409 msgstr ""
1410
1411 #. type: tbl table
1412 #: build/C/man7/rtnetlink.7:97
1413 #, no-wrap
1414 msgid "IFLA_QDISC:asciiz string:Queueing discipline.\n"
1415 msgstr ""
1416
1417 #. type: tbl table
1418 #: build/C/man7/rtnetlink.7:98
1419 #, no-wrap
1420 msgid "IFLA_STATS:T{\n"
1421 msgstr ""
1422
1423 #. type: tbl table
1424 #: build/C/man7/rtnetlink.7:99
1425 #, no-wrap
1426 msgid "see below\n"
1427 msgstr ""
1428
1429 #. type: tbl table
1430 #: build/C/man7/rtnetlink.7:100
1431 #, no-wrap
1432 msgid "T}:Interface Statistics.\n"
1433 msgstr ""
1434
1435 #. type: Plain text
1436 #: build/C/man7/rtnetlink.7:104
1437 msgid "The value type for IFLA_STATS is I<struct net_device_stats>."
1438 msgstr ""
1439
1440 #. type: TP
1441 #: build/C/man7/rtnetlink.7:104
1442 #, no-wrap
1443 msgid "B<RTM_NEWADDR>, B<RTM_DELADDR>, B<RTM_GETADDR>"
1444 msgstr ""
1445
1446 #. type: Plain text
1447 #: build/C/man7/rtnetlink.7:117
1448 msgid ""
1449 "Add, remove or receive information about an IP address associated with an "
1450 "interface.  In Linux 2.2, an interface can carry multiple IP addresses, this "
1451 "replaces the alias device concept in 2.0.  In Linux 2.2, these messages "
1452 "support IPv4 and IPv6 addresses.  They contain an I<ifaddrmsg> structure, "
1453 "optionally followed by I<rtattr> routing attributes."
1454 msgstr ""
1455
1456 #. type: Plain text
1457 #: build/C/man7/rtnetlink.7:126
1458 #, no-wrap
1459 msgid ""
1460 "struct ifaddrmsg {\n"
1461 "    unsigned char ifa_family;    /* Address type */\n"
1462 "    unsigned char ifa_prefixlen; /* Prefixlength of address */\n"
1463 "    unsigned char ifa_flags;     /* Address flags */\n"
1464 "    unsigned char ifa_scope;     /* Address scope */\n"
1465 "    int           ifa_index;     /* Interface index */\n"
1466 "};\n"
1467 msgstr ""
1468
1469 #. type: Plain text
1470 #: build/C/man7/rtnetlink.7:146
1471 msgid ""
1472 "I<ifa_family> is the address family type (currently B<AF_INET> or "
1473 "B<AF_INET6>), I<ifa_prefixlen> is the length of the address mask of the "
1474 "address if defined for the family (like for IPv4), I<ifa_scope> is the "
1475 "address scope, I<ifa_index> is the interface index of the interface the "
1476 "address is associated with.  I<ifa_flags> is a flag word of "
1477 "B<IFA_F_SECONDARY> for secondary address (old alias interface), "
1478 "B<IFA_F_PERMANENT> for a permanent address set by the user and other "
1479 "undocumented flags."
1480 msgstr ""
1481
1482 #. type: tbl table
1483 #: build/C/man7/rtnetlink.7:150 build/C/man7/rtnetlink.7:297 build/C/man7/rtnetlink.7:415
1484 #, no-wrap
1485 msgid "Attributes\n"
1486 msgstr ""
1487
1488 #. type: tbl table
1489 #: build/C/man7/rtnetlink.7:153
1490 #, no-wrap
1491 msgid "IFA_UNSPEC:-:unspecified.\n"
1492 msgstr ""
1493
1494 #. type: tbl table
1495 #: build/C/man7/rtnetlink.7:154
1496 #, no-wrap
1497 msgid "IFA_ADDRESS:raw protocol address:interface address\n"
1498 msgstr ""
1499
1500 #. type: tbl table
1501 #: build/C/man7/rtnetlink.7:155
1502 #, no-wrap
1503 msgid "IFA_LOCAL:raw protocol address:local address\n"
1504 msgstr ""
1505
1506 #. type: tbl table
1507 #: build/C/man7/rtnetlink.7:156
1508 #, no-wrap
1509 msgid "IFA_LABEL:asciiz string:name of the interface\n"
1510 msgstr ""
1511
1512 #. type: tbl table
1513 #: build/C/man7/rtnetlink.7:157
1514 #, no-wrap
1515 msgid "IFA_BROADCAST:raw protocol address:broadcast address.\n"
1516 msgstr ""
1517
1518 #. type: tbl table
1519 #: build/C/man7/rtnetlink.7:158
1520 #, no-wrap
1521 msgid "IFA_ANYCAST:raw protocol address:anycast address\n"
1522 msgstr ""
1523
1524 #. type: tbl table
1525 #: build/C/man7/rtnetlink.7:159
1526 #, no-wrap
1527 msgid "IFA_CACHEINFO:struct ifa_cacheinfo:Address information.\n"
1528 msgstr ""
1529
1530 #. type: TP
1531 #: build/C/man7/rtnetlink.7:162
1532 #, no-wrap
1533 msgid "B<RTM_NEWROUTE>, B<RTM_DELROUTE>, B<RTM_GETROUTE>"
1534 msgstr ""
1535
1536 #. type: Plain text
1537 #: build/C/man7/rtnetlink.7:182
1538 msgid ""
1539 "Create, remove or receive information about a network route.  These messages "
1540 "contain an I<rtmsg> structure with an optional sequence of I<rtattr> "
1541 "structures following.  For B<RTM_GETROUTE>, setting I<rtm_dst_len> and "
1542 "I<rtm_src_len> to 0 means you get all entries for the specified routing "
1543 "table.  For the other fields, except I<rtm_table> and I<rtm_protocol>, 0 is "
1544 "the wildcard."
1545 msgstr ""
1546
1547 #. type: Plain text
1548 #: build/C/man7/rtnetlink.7:189
1549 #, no-wrap
1550 msgid ""
1551 "struct rtmsg {\n"
1552 "    unsigned char rtm_family;   /* Address family of route */\n"
1553 "    unsigned char rtm_dst_len;  /* Length of destination */\n"
1554 "    unsigned char rtm_src_len;  /* Length of source */\n"
1555 "    unsigned char rtm_tos;      /* TOS filter */\n"
1556 msgstr ""
1557
1558 #. type: Plain text
1559 #: build/C/man7/rtnetlink.7:194
1560 #, no-wrap
1561 msgid ""
1562 "    unsigned char rtm_table;    /* Routing table ID */\n"
1563 "    unsigned char rtm_protocol; /* Routing protocol; see below */\n"
1564 "    unsigned char rtm_scope;    /* See below */\n"
1565 "    unsigned char rtm_type;     /* See below */\n"
1566 msgstr ""
1567
1568 #. type: Plain text
1569 #: build/C/man7/rtnetlink.7:197
1570 #, no-wrap
1571 msgid ""
1572 "    unsigned int  rtm_flags;\n"
1573 "};\n"
1574 msgstr ""
1575
1576 #. type: tbl table
1577 #: build/C/man7/rtnetlink.7:201
1578 #, no-wrap
1579 msgid "rtm_type:Route type\n"
1580 msgstr ""
1581
1582 #. type: tbl table
1583 #: build/C/man7/rtnetlink.7:203
1584 #, no-wrap
1585 msgid "RTN_UNSPEC:unknown route\n"
1586 msgstr ""
1587
1588 #. type: tbl table
1589 #: build/C/man7/rtnetlink.7:204
1590 #, no-wrap
1591 msgid "RTN_UNICAST:a gateway or direct route\n"
1592 msgstr ""
1593
1594 #. type: tbl table
1595 #: build/C/man7/rtnetlink.7:205
1596 #, no-wrap
1597 msgid "RTN_LOCAL:a local interface route\n"
1598 msgstr ""
1599
1600 #. type: tbl table
1601 #: build/C/man7/rtnetlink.7:206
1602 #, no-wrap
1603 msgid "RTN_BROADCAST:T{\n"
1604 msgstr ""
1605
1606 #. type: tbl table
1607 #: build/C/man7/rtnetlink.7:207
1608 #, no-wrap
1609 msgid "a local broadcast route (sent as a broadcast)\n"
1610 msgstr ""
1611
1612 #. type: tbl table
1613 #: build/C/man7/rtnetlink.7:209
1614 #, no-wrap
1615 msgid "RTN_ANYCAST:T{\n"
1616 msgstr ""
1617
1618 #. type: tbl table
1619 #: build/C/man7/rtnetlink.7:210
1620 #, no-wrap
1621 msgid "a local broadcast route (sent as a unicast)\n"
1622 msgstr ""
1623
1624 #. type: tbl table
1625 #: build/C/man7/rtnetlink.7:212
1626 #, no-wrap
1627 msgid "RTN_MULTICAST:a multicast route\n"
1628 msgstr ""
1629
1630 #. type: tbl table
1631 #: build/C/man7/rtnetlink.7:213
1632 #, no-wrap
1633 msgid "RTN_BLACKHOLE:a packet dropping route\n"
1634 msgstr ""
1635
1636 #. type: tbl table
1637 #: build/C/man7/rtnetlink.7:214
1638 #, no-wrap
1639 msgid "RTN_UNREACHABLE:an unreachable destination\n"
1640 msgstr ""
1641
1642 #. type: tbl table
1643 #: build/C/man7/rtnetlink.7:215
1644 #, no-wrap
1645 msgid "RTN_PROHIBIT:a packet rejection route\n"
1646 msgstr ""
1647
1648 #. type: tbl table
1649 #: build/C/man7/rtnetlink.7:216
1650 #, no-wrap
1651 msgid "RTN_THROW:continue routing lookup in another table\n"
1652 msgstr ""
1653
1654 #. type: tbl table
1655 #: build/C/man7/rtnetlink.7:217
1656 #, no-wrap
1657 msgid "RTN_NAT:a network address translation rule\n"
1658 msgstr ""
1659
1660 #. type: tbl table
1661 #: build/C/man7/rtnetlink.7:218
1662 #, no-wrap
1663 msgid "RTN_XRESOLVE:T{\n"
1664 msgstr ""
1665
1666 #. type: tbl table
1667 #: build/C/man7/rtnetlink.7:219
1668 #, no-wrap
1669 msgid "refer to an external resolver (not implemented)\n"
1670 msgstr ""
1671
1672 #. type: tbl table
1673 #: build/C/man7/rtnetlink.7:225
1674 #, no-wrap
1675 msgid "rtm_protocol:Route origin.\n"
1676 msgstr ""
1677
1678 #. type: tbl table
1679 #: build/C/man7/rtnetlink.7:227
1680 #, no-wrap
1681 msgid "RTPROT_UNSPEC:unknown\n"
1682 msgstr ""
1683
1684 #. type: tbl table
1685 #: build/C/man7/rtnetlink.7:228
1686 #, no-wrap
1687 msgid "RTPROT_REDIRECT:T{\n"
1688 msgstr ""
1689
1690 #. type: tbl table
1691 #: build/C/man7/rtnetlink.7:229
1692 #, no-wrap
1693 msgid "by an ICMP redirect (currently unused)\n"
1694 msgstr ""
1695
1696 #. type: tbl table
1697 #: build/C/man7/rtnetlink.7:231
1698 #, no-wrap
1699 msgid "RTPROT_KERNEL:by the kernel\n"
1700 msgstr ""
1701
1702 #. type: tbl table
1703 #: build/C/man7/rtnetlink.7:232
1704 #, no-wrap
1705 msgid "RTPROT_BOOT:during boot\n"
1706 msgstr ""
1707
1708 #. type: tbl table
1709 #: build/C/man7/rtnetlink.7:233
1710 #, no-wrap
1711 msgid "RTPROT_STATIC:by the administrator\n"
1712 msgstr ""
1713
1714 #. type: Plain text
1715 #: build/C/man7/rtnetlink.7:244
1716 msgid ""
1717 "Values larger than B<RTPROT_STATIC> are not interpreted by the kernel, they "
1718 "are just for user information.  They may be used to tag the source of a "
1719 "routing information or to distinguish between multiple routing daemons.  See "
1720 "I<E<lt>linux/rtnetlink.hE<gt>> for the routing daemon identifiers which are "
1721 "already assigned."
1722 msgstr ""
1723
1724 #. type: Plain text
1725 #: build/C/man7/rtnetlink.7:247
1726 msgid "I<rtm_scope> is the distance to the destination:"
1727 msgstr ""
1728
1729 #. type: tbl table
1730 #: build/C/man7/rtnetlink.7:250
1731 #, no-wrap
1732 msgid "RT_SCOPE_UNIVERSE:global route\n"
1733 msgstr ""
1734
1735 #. type: tbl table
1736 #: build/C/man7/rtnetlink.7:251
1737 #, no-wrap
1738 msgid "RT_SCOPE_SITE:T{\n"
1739 msgstr ""
1740
1741 #. type: tbl table
1742 #: build/C/man7/rtnetlink.7:252
1743 #, no-wrap
1744 msgid "interior route in the local autonomous system\n"
1745 msgstr ""
1746
1747 #. type: tbl table
1748 #: build/C/man7/rtnetlink.7:254
1749 #, no-wrap
1750 msgid "RT_SCOPE_LINK:route on this link\n"
1751 msgstr ""
1752
1753 #. type: tbl table
1754 #: build/C/man7/rtnetlink.7:255
1755 #, no-wrap
1756 msgid "RT_SCOPE_HOST:route on the local host\n"
1757 msgstr ""
1758
1759 #. type: tbl table
1760 #: build/C/man7/rtnetlink.7:256
1761 #, no-wrap
1762 msgid "RT_SCOPE_NOWHERE:destination doesn't exist\n"
1763 msgstr ""
1764
1765 #. type: Plain text
1766 #: build/C/man7/rtnetlink.7:264
1767 msgid ""
1768 "The values between B<RT_SCOPE_UNIVERSE> and B<RT_SCOPE_SITE> are available "
1769 "to the user."
1770 msgstr ""
1771
1772 #. type: Plain text
1773 #: build/C/man7/rtnetlink.7:268
1774 msgid "The I<rtm_flags> have the following meanings:"
1775 msgstr ""
1776
1777 #. type: tbl table
1778 #: build/C/man7/rtnetlink.7:271
1779 #, no-wrap
1780 msgid "RTM_F_NOTIFY:T{\n"
1781 msgstr ""
1782
1783 #. type: tbl table
1784 #: build/C/man7/rtnetlink.7:272
1785 #, no-wrap
1786 msgid "if the route changes, notify the user via rtnetlink\n"
1787 msgstr ""
1788
1789 #. type: tbl table
1790 #: build/C/man7/rtnetlink.7:274
1791 #, no-wrap
1792 msgid "RTM_F_CLONED:route is cloned from another route\n"
1793 msgstr ""
1794
1795 #. type: tbl table
1796 #: build/C/man7/rtnetlink.7:275
1797 #, no-wrap
1798 msgid "RTM_F_EQUALIZE:a multipath equalizer (not yet implemented)\n"
1799 msgstr ""
1800
1801 #. type: Plain text
1802 #: build/C/man7/rtnetlink.7:280
1803 msgid "I<rtm_table> specifies the routing table"
1804 msgstr ""
1805
1806 #. type: tbl table
1807 #: build/C/man7/rtnetlink.7:283
1808 #, no-wrap
1809 msgid "RT_TABLE_UNSPEC:an unspecified routing table\n"
1810 msgstr ""
1811
1812 #. type: tbl table
1813 #: build/C/man7/rtnetlink.7:284
1814 #, no-wrap
1815 msgid "RT_TABLE_DEFAULT:the default table\n"
1816 msgstr ""
1817
1818 #. type: tbl table
1819 #: build/C/man7/rtnetlink.7:285
1820 #, no-wrap
1821 msgid "RT_TABLE_MAIN:the main table\n"
1822 msgstr ""
1823
1824 #. type: tbl table
1825 #: build/C/man7/rtnetlink.7:286
1826 #, no-wrap
1827 msgid "RT_TABLE_LOCAL:the local table\n"
1828 msgstr ""
1829
1830 #. type: Plain text
1831 #: build/C/man7/rtnetlink.7:293
1832 msgid ""
1833 "The user may assign arbitrary values between B<RT_TABLE_UNSPEC> and "
1834 "B<RT_TABLE_DEFAULT>."
1835 msgstr ""
1836
1837 #. type: tbl table
1838 #: build/C/man7/rtnetlink.7:300
1839 #, no-wrap
1840 msgid "RTA_UNSPEC:-:ignored.\n"
1841 msgstr ""
1842
1843 #. type: tbl table
1844 #: build/C/man7/rtnetlink.7:301
1845 #, no-wrap
1846 msgid "RTA_DST:protocol address:Route destination address.\n"
1847 msgstr ""
1848
1849 #. type: tbl table
1850 #: build/C/man7/rtnetlink.7:302
1851 #, no-wrap
1852 msgid "RTA_SRC:protocol address:Route source address.\n"
1853 msgstr ""
1854
1855 #. type: tbl table
1856 #: build/C/man7/rtnetlink.7:303
1857 #, no-wrap
1858 msgid "RTA_IIF:int:Input interface index.\n"
1859 msgstr ""
1860
1861 #. type: tbl table
1862 #: build/C/man7/rtnetlink.7:304
1863 #, no-wrap
1864 msgid "RTA_OIF:int:Output interface index.\n"
1865 msgstr ""
1866
1867 #. type: tbl table
1868 #: build/C/man7/rtnetlink.7:305
1869 #, no-wrap
1870 msgid "RTA_GATEWAY:protocol address:The gateway of the route\n"
1871 msgstr ""
1872
1873 #. type: tbl table
1874 #: build/C/man7/rtnetlink.7:306
1875 #, no-wrap
1876 msgid "RTA_PRIORITY:int:Priority of route.\n"
1877 msgstr ""
1878
1879 #. type: tbl table
1880 #: build/C/man7/rtnetlink.7:307
1881 #, no-wrap
1882 msgid "RTA_PREFSRC::\n"
1883 msgstr ""
1884
1885 #. type: tbl table
1886 #: build/C/man7/rtnetlink.7:308
1887 #, no-wrap
1888 msgid "RTA_METRICS:int:Route metric\n"
1889 msgstr ""
1890
1891 #. type: tbl table
1892 #: build/C/man7/rtnetlink.7:309
1893 #, no-wrap
1894 msgid "RTA_MULTIPATH::\n"
1895 msgstr ""
1896
1897 #. type: tbl table
1898 #: build/C/man7/rtnetlink.7:310
1899 #, no-wrap
1900 msgid "RTA_PROTOINFO::\n"
1901 msgstr ""
1902
1903 #. type: tbl table
1904 #: build/C/man7/rtnetlink.7:311
1905 #, no-wrap
1906 msgid "RTA_FLOW::\n"
1907 msgstr ""
1908
1909 #. type: tbl table
1910 #: build/C/man7/rtnetlink.7:312
1911 #, no-wrap
1912 msgid "RTA_CACHEINFO::\n"
1913 msgstr ""
1914
1915 #. type: Plain text
1916 #: build/C/man7/rtnetlink.7:316
1917 msgid "B<Fill these values in!>"
1918 msgstr ""
1919
1920 #. type: TP
1921 #: build/C/man7/rtnetlink.7:316
1922 #, no-wrap
1923 msgid "B<RTM_NEWNEIGH>, B<RTM_DELNEIGH>, B<RTM_GETNEIGH>"
1924 msgstr ""
1925
1926 #. type: Plain text
1927 #: build/C/man7/rtnetlink.7:323
1928 msgid ""
1929 "Add, remove or receive information about a neighbor table entry (e.g., an "
1930 "ARP entry).  The message contains an I<ndmsg> structure."
1931 msgstr ""
1932
1933 #. type: Plain text
1934 #: build/C/man7/rtnetlink.7:332
1935 #, no-wrap
1936 msgid ""
1937 "struct ndmsg {\n"
1938 "    unsigned char ndm_family;\n"
1939 "    int           ndm_ifindex;  /* Interface index */\n"
1940 "    __u16         ndm_state;    /* State */\n"
1941 "    __u8          ndm_flags;    /* Flags */\n"
1942 "    __u8          ndm_type;\n"
1943 "};\n"
1944 msgstr ""
1945
1946 #. type: Plain text
1947 #: build/C/man7/rtnetlink.7:339
1948 #, no-wrap
1949 msgid ""
1950 "struct nda_cacheinfo {\n"
1951 "    __u32         ndm_confirmed;\n"
1952 "    __u32         ndm_used;\n"
1953 "    __u32         ndm_updated;\n"
1954 "    __u32         ndm_refcnt;\n"
1955 "};\n"
1956 msgstr ""
1957
1958 #. type: Plain text
1959 #: build/C/man7/rtnetlink.7:343
1960 msgid "I<ndm_state> is a bit mask of the following states:"
1961 msgstr ""
1962
1963 #. type: tbl table
1964 #: build/C/man7/rtnetlink.7:346
1965 #, no-wrap
1966 msgid "NUD_INCOMPLETE:a currently resolving cache entry\n"
1967 msgstr ""
1968
1969 #. type: tbl table
1970 #: build/C/man7/rtnetlink.7:347
1971 #, no-wrap
1972 msgid "NUD_REACHABLE:a confirmed working cache entry\n"
1973 msgstr ""
1974
1975 #. type: tbl table
1976 #: build/C/man7/rtnetlink.7:348
1977 #, no-wrap
1978 msgid "NUD_STALE:an expired cache entry\n"
1979 msgstr ""
1980
1981 #. type: tbl table
1982 #: build/C/man7/rtnetlink.7:349
1983 #, no-wrap
1984 msgid "NUD_DELAY:an entry waiting for a timer\n"
1985 msgstr ""
1986
1987 #. type: tbl table
1988 #: build/C/man7/rtnetlink.7:350
1989 #, no-wrap
1990 msgid "NUD_PROBE:a cache entry that is currently reprobed\n"
1991 msgstr ""
1992
1993 #. type: tbl table
1994 #: build/C/man7/rtnetlink.7:351
1995 #, no-wrap
1996 msgid "NUD_FAILED:an invalid cache entry\n"
1997 msgstr ""
1998
1999 #. type: tbl table
2000 #: build/C/man7/rtnetlink.7:352
2001 #, no-wrap
2002 msgid "NUD_NOARP:a device with no destination cache\n"
2003 msgstr ""
2004
2005 #. type: tbl table
2006 #: build/C/man7/rtnetlink.7:353
2007 #, no-wrap
2008 msgid "NUD_PERMANENT:a static entry\n"
2009 msgstr ""
2010
2011 #. type: Plain text
2012 #: build/C/man7/rtnetlink.7:359
2013 msgid "Valid I<ndm_flags> are:"
2014 msgstr ""
2015
2016 #. type: tbl table
2017 #: build/C/man7/rtnetlink.7:362
2018 #, no-wrap
2019 msgid "NTF_PROXY:a proxy arp entry\n"
2020 msgstr ""
2021
2022 #. type: tbl table
2023 #: build/C/man7/rtnetlink.7:363
2024 #, no-wrap
2025 msgid "NTF_ROUTER:an IPv6 router\n"
2026 msgstr ""
2027
2028 #.  FIXME
2029 #.  document the members of the struct better
2030 #. type: Plain text
2031 #: build/C/man7/rtnetlink.7:373
2032 msgid "The I<rtattr> struct has the following meanings for the I<rta_type> field:"
2033 msgstr ""
2034
2035 #. type: tbl table
2036 #: build/C/man7/rtnetlink.7:376
2037 #, no-wrap
2038 msgid "NDA_UNSPEC:unknown type\n"
2039 msgstr ""
2040
2041 #. type: tbl table
2042 #: build/C/man7/rtnetlink.7:377
2043 #, no-wrap
2044 msgid "NDA_DST:a neighbor cache n/w layer destination address\n"
2045 msgstr ""
2046
2047 #. type: tbl table
2048 #: build/C/man7/rtnetlink.7:378
2049 #, no-wrap
2050 msgid "NDA_LLADDR:a neighbor cache link layer address\n"
2051 msgstr ""
2052
2053 #. type: tbl table
2054 #: build/C/man7/rtnetlink.7:379
2055 #, no-wrap
2056 msgid "NDA_CACHEINFO:cache statistics.\n"
2057 msgstr ""
2058
2059 #. type: Plain text
2060 #: build/C/man7/rtnetlink.7:389
2061 msgid ""
2062 "If the I<rta_type> field is B<NDA_CACHEINFO> then a I<struct nda_cacheinfo> "
2063 "header follows"
2064 msgstr ""
2065
2066 #. type: TP
2067 #: build/C/man7/rtnetlink.7:389
2068 #, no-wrap
2069 msgid "B<RTM_NEWRULE>, B<RTM_DELRULE>, B<RTM_GETRULE>"
2070 msgstr ""
2071
2072 #. type: Plain text
2073 #: build/C/man7/rtnetlink.7:394
2074 msgid "Add, delete or retrieve a routing rule.  Carries a I<struct rtmsg>"
2075 msgstr ""
2076
2077 #. type: TP
2078 #: build/C/man7/rtnetlink.7:394
2079 #, no-wrap
2080 msgid "B<RTM_NEWQDISC>, B<RTM_DELQDISC>, B<RTM_GETQDISC>"
2081 msgstr ""
2082
2083 #. type: Plain text
2084 #: build/C/man7/rtnetlink.7:401
2085 msgid ""
2086 "Add, remove or get a queueing discipline.  The message contains a I<struct "
2087 "tcmsg> and may be followed by a series of attributes."
2088 msgstr ""
2089
2090 #. type: Plain text
2091 #: build/C/man7/rtnetlink.7:410
2092 #, no-wrap
2093 msgid ""
2094 "struct tcmsg {\n"
2095 "    unsigned char    tcm_family;\n"
2096 "    int              tcm_ifindex;   /* interface index */\n"
2097 "    __u32            tcm_handle;    /* Qdisc handle */\n"
2098 "    __u32            tcm_parent;    /* Parent qdisc */\n"
2099 "    __u32            tcm_info;\n"
2100 "};\n"
2101 msgstr ""
2102
2103 #. type: tbl table
2104 #: build/C/man7/rtnetlink.7:416
2105 #, no-wrap
2106 msgid "rta_type:value type:Description\n"
2107 msgstr ""
2108
2109 #. type: tbl table
2110 #: build/C/man7/rtnetlink.7:418
2111 #, no-wrap
2112 msgid "TCA_UNSPEC:-:unspecified\n"
2113 msgstr ""
2114
2115 #. type: tbl table
2116 #: build/C/man7/rtnetlink.7:419
2117 #, no-wrap
2118 msgid "TCA_KIND:asciiz string:Name of queueing discipline\n"
2119 msgstr ""
2120
2121 #. type: tbl table
2122 #: build/C/man7/rtnetlink.7:420
2123 #, no-wrap
2124 msgid "TCA_OPTIONS:byte sequence:Qdisc-specific options follow\n"
2125 msgstr ""
2126
2127 #. type: tbl table
2128 #: build/C/man7/rtnetlink.7:421
2129 #, no-wrap
2130 msgid "TCA_STATS:struct tc_stats:Qdisc statistics.\n"
2131 msgstr ""
2132
2133 #. type: tbl table
2134 #: build/C/man7/rtnetlink.7:422
2135 #, no-wrap
2136 msgid "TCA_XSTATS:qdisc specific:Module-specific statistics.\n"
2137 msgstr ""
2138
2139 #. type: tbl table
2140 #: build/C/man7/rtnetlink.7:423
2141 #, no-wrap
2142 msgid "TCA_RATE:struct tc_estimator:Rate limit.\n"
2143 msgstr ""
2144
2145 #. type: Plain text
2146 #: build/C/man7/rtnetlink.7:428
2147 msgid ""
2148 "In addition various other qdisc module specific attributes are allowed.  For "
2149 "more information see the appropriate include files."
2150 msgstr ""
2151
2152 #. type: TP
2153 #: build/C/man7/rtnetlink.7:428
2154 #, no-wrap
2155 msgid "B<RTM_NEWTCLASS>, B<RTM_DELTCLASS>, B<RTM_GETTCLASS>"
2156 msgstr ""
2157
2158 #. type: Plain text
2159 #: build/C/man7/rtnetlink.7:434
2160 msgid ""
2161 "Add, remove or get a traffic class.  These messages contain a I<struct "
2162 "tcmsg> as described above."
2163 msgstr ""
2164
2165 #. type: TP
2166 #: build/C/man7/rtnetlink.7:434
2167 #, no-wrap
2168 msgid "B<RTM_NEWTFILTER>, B<RTM_DELTFILTER>, B<RTM_GETTFILTER>"
2169 msgstr ""
2170
2171 #. type: Plain text
2172 #: build/C/man7/rtnetlink.7:440
2173 msgid ""
2174 "Add, remove or receive information about a traffic filter.  These messages "
2175 "contain a I<struct tcmsg> as described above."
2176 msgstr ""
2177
2178 #. type: Plain text
2179 #: build/C/man7/rtnetlink.7:443
2180 msgid "B<rtnetlink> is a new feature of Linux 2.2."
2181 msgstr ""
2182
2183 #. type: Plain text
2184 #: build/C/man7/rtnetlink.7:450
2185 msgid "B<cmsg>(3), B<rtnetlink>(3), B<ip>(7), B<netlink>(7)"
2186 msgstr ""