OSDN Git Service

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