2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
5 .\" 1.0 of the CDDL.
6 .\"
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
10 .\"
11 .\"
12 .\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved
13 .\" Copyright (c) 2013 by Delphix. All rights reserved.
14 .\" Copyright 2018 Nexenta Systems, Inc.
15 .\" Copyright (c) 2016-2017, Chris Fraire <cfraire@me.com>.
16 .\"
17 .Dd February 6, 2018
18 .Dt IPADM 1M
19 .Os
20 .Sh NAME
21 .Nm ipadm
22 .Nd configure IP interfaces, addresses and protocols
23 .Sh SYNOPSIS
24 .Nm
25 .Ic create-if
26 .Op Fl t
27 .Ar interface
28 .Nm
29 .Ic disable-if
30 .Fl t
31 .Ar interface
32 .Nm
33 .Ic enable-if
34 .Fl t
35 .Ar interface
36 .Nm
37 .Ic delete-if
38 .Ar interface
39 .Nm
40 .Ic show-if
41 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
42 .Op Ar interface
43 .Nm
44 .Ic set-ifprop
45 .Op Fl t
46 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
47 .Fl m Ar protocol
48 .Ar interface
49 .Nm
50 .Ic reset-ifprop
51 .Op Fl t
52 .Fl p Ar prop
53 .Fl m Ar protocol
54 .Ar interface
55 .Nm
56 .Ic show-ifprop
57 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
58 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
59 .Op Fl m Ar protocol
60 .Op Ar interface
61 .Nm
62 .Ic create-addr
63 .Op Fl t
64 .Fl T Cm static
65 .Op Fl d
66 .Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
67 .Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
68 .Ar addrobj
69 .Nm
70 .Ic create-addr
71 .Op Fl t
72 .Fl T Cm dhcp
73 .Op Fl 1
74 .Op Fl h Ar hostname
75 .Op Fl w Bro Ar seconds Ns | Ns Cm forever Brc
76 .Ar addrobj
77 .Nm
78 .Ic create-addr
79 .Op Fl t
80 .Fl T Cm addrconf
81 .Op Fl i Ar interface-id
82 .Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
83 .Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
84 .Ar addrobj
85 .Nm
86 .Ic down-addr
87 .Op Fl t
88 .Ar addrobj
89 .Nm
90 .Ic up-addr
91 .Op Fl t
92 .Ar addrobj
93 .Nm
94 .Ic disable-addr
95 .Op Fl t
96 .Ar addrobj
97 .Nm
98 .Ic enable-addr
99 .Op Fl t
100 .Ar addrobj
101 .Nm
102 .Ic refresh-addr
103 .Op Fl i
104 .Ar addrobj
105 .Nm
106 .Ic delete-addr
107 .Op Fl r
108 .Ar addrobj
109 .Nm
110 .Ic show-addr
111 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
112 .Op Ar addrobj
113 .Nm
114 .Ic set-addrprop
115 .Op Fl t
116 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
117 .Ar addrobj
118 .Nm
119 .Ic reset-addrprop
120 .Op Fl t
121 .Fl p Ar prop
122 .Ar addrobj
123 .Nm
124 .Ic show-addrprop
125 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
126 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
127 .Op Ar addrobj
128 .Nm
129 .Ic set-prop
130 .Op Fl t
131 .Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
132 .Ar value Ns Oo , Ns Ar value Oc Ns ...
133 .Ar protocol
134 .Nm
135 .Ic reset-prop
136 .Op Fl t
137 .Fl p Ar prop
138 .Ar protocol
139 .Nm
140 .Ic show-prop
141 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
142 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
143 .Op Ar protocol
144 .Sh DESCRIPTION
145 The
146 .Nm
147 command is a stable replacement for the
148 .Xr ifconfig 1M
149 and
150 .Xr ndd 1M
151 commands.
152 It is used to create IP interfaces and to configure IP addresses on those
153 interfaces.
154 It is also used to get, set or reset properties on interfaces, addresses and
155 protocols.
156 .Pp
157 For subcommands that take an
158 .Em addrobj ,
159 the
160 .Em addrobj
161 specifies a unique address on the system.
162 It is made up of two parts, delimited by a
163 .Sq / .
164 The first part is the name of the interface and the second part is a string up
165 to 32 characters long.
166 For example,
167 .Qq lo0/v4
168 is a loopback interface
169 .Em addrobj
170 name.
171 .Pp
172 For subcommands that take a
173 .Em protocol ,
174 this can be one of the following values:
175 .Cm ip ,
176 .Cm ipv4 ,
177 .Cm ipv6 ,
178 .Cm icmp ,
179 .Cm tcp ,
180 .Cm sctp
181 or
182 .Cm udp .
183 .Sh SUBCOMMANDS
184 The following subcommands are supported:
185 .Bl -tag -width Ds
186 .It Xo
187 .Nm
188 .Ic create-if
189 .Op Fl t
190 .Ar interface
191 .Xc
192 Create an IP interface that will handle both IPv4 and IPv6 packets.
193 The interface will be enabled as part of the creation process.
194 The IPv4 interface will have the address 0.0.0.0.
195 The IPv6 interface will have the address ::.
196 .Bl -tag -width Ds
197 .It Fl t Ns \&, Ns Fl -temporary
198 Temporary, not persistent across reboots.
199 .El
200 .It Xo
201 .Nm
202 .Ic disable-if
203 .Fl t
204 .Ar interface
205 .Xc
206 Disable the specified IP interface.
207 .Bl -tag -width Ds
208 .It Fl t Ns \&, Ns Fl -temporary
209 Temporary, not persistent across reboots.
210 .El
211 .It Xo
212 .Nm
213 .Ic enable-if
214 .Fl t
215 .Ar interface
216 .Xc
217 Enable the specified IP interface.
218 .Bl -tag -width Ds
219 .It Fl t Ns \&, Ns Fl -temporary
220 Temporary, not persistent across reboots.
221 .El
222 .It Xo
223 .Nm
224 .Ic delete-if
225 .Ar interface
226 .Xc
227 Permanently delete the specified IP interface.
228 .It Xo
229 .Nm
230 .Ic show-if
231 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
232 .Op Ar interface
233 .Xc
234 Show the current IP interface configuration.
235 .Bl -tag -width Ds
236 .It Fl o Ns \&, Ns Fl -output
237 Select which fields will be shown.
238 The field value can be one of the following names:
239 .Bl -tag -compact -width "PERSISTENT"
240 .It Cm ALL
241 Display all fields.
242 .It Cm IFNAME
243 The name of the interface.
244 .It Cm STATE
245 The state can be one of the following values:
246 .Bl -tag -compact -width "disabled"
247 .It Sy ok
248 resources for the interface have been allocated
249 .It Sy offline
279 .It Sy a
280 VRRP accept mode
281 .It Sy 4
282 IPv4
283 .It Sy 6
284 IPv6
285 .El
286 .It Cm PERSISTENT
287 A set of single character flags showing what configuration will be used the
288 next time the interface is enabled:
289 .Bl -tag -compact -width "s"
290 .It Sy s
291 IPMP standby
292 .It Sy 4
293 IPv4
294 .It Sy 6
295 IPv6
296 .El
297 .El
298 .It Fl p Ns \&, Ns Fl -parsable
299 Print the output in a parsable format.
300 .El
301 .It Xo
302 .Nm
303 .Ic set-ifprop
304 .Op Fl t
305 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
306 .Fl m Ar protocol
307 .Ar interface
308 .Xc
309 Set a property's value(s) on the specified IP interface.
310 .Bl -tag -width Ds
311 .It Fl m Ns \&, Ns Fl -module
312 Specify which protocol the setting applies to.
313 .It Fl p Ns \&, Ns Fl -prop
314 Specify the property name and value(s).
315 The property name can be one of the following:
316 .Bl -tag -compact -width "exchange_routes"
317 .It Cm arp
318 Address resolution protocol
319 .Pq Cm on Ns / Ns Cm off .
354 Specify which protocol the setting applies to.
355 .It Fl p Ns \&, Ns Fl -prop
356 Specify the property name.
357 See the
358 .Nm ipadm Ic set-ifprop
359 subcommand for the list of property names.
360 .It Fl t Ns \&, Ns Fl -temporary
361 Temporary, not persistent across reboots.
362 .El
363 .It Xo
364 .Nm
365 .Ic show-ifprop
366 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
367 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
368 .Op Fl m Ar protocol
369 .Op Ar interface
370 .Xc
371 Display the property values for one or all of the IP interfaces.
372 .Bl -tag -width Ds
373 .It Fl c Ns \&, Ns Fl -parsable
374 Print the output in a parsable format.
375 .It Fl m Ns \&, Ns Fl -module
376 Specify which protocol to display.
377 .It Fl o Ns \&, Ns Fl -output
378 Select which fields will be shown.
379 The field value can be one of the following names:
380 .Bl -tag -compact -width "PERSISTENT"
381 .It Cm ALL
382 Display all fields.
383 .It Cm IFNAME
384 The name of the interface.
385 .It Cm PROPERTY
386 The name of the property.
387 .It Cm PROTO
388 The name of the protocol.
389 .It Cm PERM
390 If the property is readable
391 .Pq Qq r
392 and/or writable
393 .Pq Qq w .
394 .It Cm CURRENT
405 See the
406 .Nm ipadm Ic set-ifprop
407 subcommand for the list of property names.
408 .El
409 .It Xo
410 .Nm
411 .Ic create-addr
412 .Op Fl t
413 .Fl T Cm static
414 .Op Fl d
415 .Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
416 .Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
417 .Ar addrobj
418 .Xc
419 Create an address on the specified IP interface using static configuration.
420 The address will be enabled but can disabled using the
421 .Nm ipadm Ic disable-addr
422 subcommand.
423 Note that
424 .Cm addrconf
425 address configured on an interface is required to configure
426 .Cm static
427 IPv6 address on the same interface.
428 This takes the following options:
429 .Bl -tag -width Ds
430 .It Fl a Ns \&, Ns Fl -address
431 Specify the address.
432 The
433 .Cm local
434 or
435 .Cm remote
436 prefix can be used for a point-to-point interface.
437 In this case, both addresses must be given.
438 Otherwise, the equal sign
439 .Pq Qq =
440 should be omitted and the address should be provided by itself without second
441 address.
442 .It Fl d Ns \&, Ns Fl -down
443 The address is down.
444 .It Fl t Ns \&, Ns Fl -temporary
445 Temporary, not persistent across reboots.
492 .Ic create-addr
493 .Op Fl t
494 .Fl T Cm addrconf
495 .Op Fl i Ar interface-id
496 .Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
497 .Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
498 .Ar addrobj
499 .Xc
500 Create an auto-configured address on the specified IP interface.
501 This takes the following options:
502 .Bl -tag -width Ds
503 .It Fl i Ns \&, Ns Fl -interface-id
504 Specify the interface ID to be used.
505 .It Fl p Ns \&, Ns Fl -prop
506 Specify which method of auto-configuration should be used.
507 .It Fl t Ns \&, Ns Fl -temporary
508 Temporary, not persistent across reboots.
509 .El
510 .It Xo
511 .Nm
512 .Ic down-addr
513 .Op Fl t
514 .Ar addrobj
515 .Xc
516 Down the address.
517 This will stop packets from being sent or received.
518 .Bl -tag -width Ds
519 .It Fl t Ns \&, Ns Fl -temporary
520 Temporary, not persistent across reboots.
521 .El
522 .It Xo
523 .Nm
524 .Ic up-addr
525 .Op Fl t
526 .Ar addrobj
527 .Xc
528 Up the address.
529 This will enable packets to be sent and received.
530 .Bl -tag -width Ds
531 .It Fl t Ns \&, Ns Fl -temporary
532 Temporary, not persistent across reboots.
533 .El
534 .It Xo
535 .Nm
536 .Ic disable-addr
537 .Op Fl t
538 .Ar addrobj
539 .Xc
540 Disable the address.
541 .Bl -tag -width Ds
542 .It Fl t Ns \&, Ns Fl -temporary
543 Temporary, not persistent across reboots.
544 .El
545 .It Xo
546 .Nm
547 .Ic enable-addr
548 .Op Fl t
549 .Ar addrobj
550 .Xc
551 Enable the address.
552 .Bl -tag -width Ds
553 .It Fl t Ns \&, Ns Fl -temporary
554 Temporary, not persistent across reboots.
555 .El
556 .It Xo
557 .Nm
558 .Ic refresh-addr
559 .Op Fl i
560 .Ar addrobj
561 .Xc
562 Extend the lease for
563 .Sy DHCP
564 addresses.
565 It also restarts duplicate address detection for
566 .Cm static
567 addresses.
568 .Bl -tag -width Ds
569 .It Fl i Ns \&, Ns Fl -inform
570 Obtain network configuration from DHCP without taking a lease on the address.
571 .El
572 .It Xo
573 .Nm
574 .Ic delete-addr
575 .Op Fl r
576 .Ar addrobj
577 .Xc
578 Delete the given address.
579 .Bl -tag -width Ds
580 .It Fl r Ns \&, Ns Fl -release
581 Indicate that the DHCP-assigned address should be released.
582 .El
583 .It Xo
584 .Nm
585 .Ic show-addr
586 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
587 .Op Ar addrobj
588 .Xc
589 Show the current address properties.
590 .Bl -tag -width Ds
591 .It Fl o Ns \&, Ns Fl -output
592 Select which fields will be shown.
593 The field value can be one of the following names:
595 .It Cm ALL
596 Display all fields.
597 .It Cm ADDROBJ
598 The name of the address.
599 .It Cm TYPE
600 The type of the address
601 .Pq Sy static Ns / Ns Sy dhcp Ns / Ns Sy addrconf .
602 .It Cm STATE
603 The state of the address.
604 It can be one of the following values:
605 .Bl -tag -compact -width "inaccessible"
606 .It Sy disabled
607 see the
608 .Nm ipadm Ic disable-addr
609 subcommand
610 .It Sy down
611 see the
612 .Nm ipadm Ic down-addr
613 subcommand
614 .It Sy duplicate
615 the address is a duplicate
616 .It Sy inaccessible
617 the interface for this address has failed
618 .It Sy ok
619 the address is up
620 .It Sy tentative
621 duplicate address detection in progress
622 .El
623 .It Cm CURRENT
624 A set of single character flags indicating the following:
625 .Bl -tag -compact -width "U"
626 .It Sy U
627 up
628 .It Sy u
629 unnumbered
630 .Pq matches another local address
631 .It Sy p
632 private, not advertised to routing
633 .It Sy t
634 temporary IPv6 address
635 .It Sy d
636 deprecated
637 .Pq not used for outgoing packets
638 .El
639 .It Cm PERSISTENT
640 A set of single character flags showing the configuration which will be used
641 when the address is enabled.
642 .Bl -tag -compact -width "U"
643 .It Sy U
644 up
645 .It Sy p
646 private, not advertised to routing
647 .It Sy d
648 deprecated
649 .Pq not used for outgoing packets
650 .El
651 .It Cm ADDR
652 The address.
653 .El
654 .It Fl p Ns \&, Ns Fl -parsable
655 Print the output in a parsable format.
656 .El
657 .It Xo
658 .Nm
659 .Ic set-addrprop
660 .Op Fl t
661 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
662 .Ar addrobj
663 .Xc
664 Set a property's value(s) on the addrobj.
665 .Bl -tag -width Ds
666 .It Fl p Ns \&, Ns Fl -prop
667 Specify the property name and value(s).
668 The property name can be one of the following:
669 .Bl -tag -compact -width "deprecated"
670 .It Cm broadcast
671 The broadcast address (read-only).
672 .It Cm deprecated
673 The address should not be used to send packets but can still receive packets
674 .Pq Cm on Ns / Ns Cm off .
675 .It Cm prefixlen
676 The number of bits in the IPv4 netmask or IPv6 prefix.
677 .It Cm primary
678 The DHCP primary interface flag (read-only).
711 Reset the addrobj's property value to the default.
712 .Bl -tag -width Ds
713 .It Fl p Ns \&, Ns Fl -prop
714 Specify the property name.
715 See the
716 .Nm ipadm Ic set-addrprop
717 subcommand for the list of property names.
718 .It Fl t Ns \&, Ns Fl -temporary
719 Temporary, not persistent across reboots.
720 .El
721 .It Xo
722 .Nm
723 .Ic show-addrprop
724 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
725 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
726 .Op Ar addrobj
727 .Xc
728 Display the property values for one or all of the addrobjs.
729 .Bl -tag -width Ds
730 .It Fl c Ns \&, Ns Fl -parsable
731 Print the output in a parsable format.
732 .It Fl o Ns \&, Ns Fl -output
733 Select which fields will be shown.
734 The field value can be one of the following names:
735 .Bl -tag -compact -width "PERSISTENT"
736 .It Cm ALL
737 Display all fields.
738 .It Cm ADDROBJ
739 The name of the addrobj.
740 .It Cm PROPERTY
741 The name of the property.
742 .It Cm PERM
743 If the property is readable
744 .Pq Qq r
745 and/or writable
746 .Pq Qq w .
747 .It Cm CURRENT
748 The value of the property.
749 .It Cm PERSISTENT
750 The persistent value of the property.
751 .It Cm DEFAULT
752 The default value of the property.
753 .It Cm POSSIBLE
754 The possible values for the property.
755 .El
756 .It Fl p Ns \&, Ns Fl -prop
757 Specify which properties to display.
758 See the
759 .Nm ipadm Ic set-addrprop
760 subcommand for the list of property names.
761 .El
762 .It Xo
763 .Ic set-prop
764 .Op Fl t
765 .Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
766 .Ar value Ns Oo , Ns Ar value Oc Ns ...
767 .Ar protocol
768 .Xc
769 Set a property's value(s) on the protocol.
770 .Bl -tag -width Ds
771 .It Fl p Ns \&, Ns Fl -prop
772 Specify the property name and value(s).
773 The optional
774 .Sy + Ns | Ns Sy -
775 syntax can be used to add/remove values from the current list of values on the
776 property.
777 The property name can be one of the following:
778 .Bl -tag -compact -width "smallest_nonpriv_port"
779 .It Cm ecn
780 Explicit congestion control
781 .Pq Cm never Ns / Ns Cm passive Ns / Ns Cm active
782 .Pq TCP .
837 Reset a protocol's property value to the default.
838 .Bl -tag -width Ds
839 .It Fl p Ns \&, Ns Fl -prop
840 Specify the property name.
841 See the
842 .Nm ipadm Ic set-prop
843 subcommand for the list of property names.
844 .It Fl t Ns \&, Ns Fl -temporary
845 Temporary, not persistent across reboots.
846 .El
847 .It Xo
848 .Nm
849 .Ic show-prop
850 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
851 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
852 .Op Ar protocol
853 .Xc
854 Display the property values for one or all of the protocols.
855 .Bl -tag -width Ds
856 .It Fl c Ns \&, Ns Fl -parsable
857 Print the output in a parsable format.
858 .It Fl o Ns \&, Ns Fl -output
859 Select which fields will be shown.
860 The field value can be one of the following names:
861 .Bl -tag -compact -width "PERSISTENT"
862 .It Cm ALL
863 Display all fields.
864 .It Cm PROTO
865 The name of the protocol.
866 .It Cm PROPERTY
867 The name of the property.
868 .It Cm PERM
869 If the property is readable
870 .Pq Qq r
871 and/or writable
872 .Pq Qq w .
873 .It Cm CURRENT
874 The value of the property.
875 .It Cm PERSISTENT
876 The persistent value of the property.
877 .It Cm DEFAULT
|
2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
5 .\" 1.0 of the CDDL.
6 .\"
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
10 .\"
11 .\"
12 .\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved
13 .\" Copyright (c) 2013 by Delphix. All rights reserved.
14 .\" Copyright 2018 Nexenta Systems, Inc.
15 .\" Copyright (c) 2016-2017, Chris Fraire <cfraire@me.com>.
16 .\"
17 .Dd February 6, 2018
18 .Dt IPADM 1M
19 .Os
20 .Sh NAME
21 .Nm ipadm
22 .Nd configure IP and IPMP interfaces, addresses and protocols
23 .Sh SYNOPSIS
24 .Nm
25 .Ic create-ip
26 .Op Fl t
27 .Ar interface
28 .Nm
29 .Ic delete-ip
30 .Ar interface
31 .Pp
32 .Nm
33 .Ic create-ipmp
34 .Op Fl t
35 .Ar ipmp-interface
36 .Nm
37 .Ic delete-ipmp
38 .Ar ipmp-interface
39 .Nm
40 .Ic add-ipmp
41 .Op Fl t
42 .Fl i Ar interface No ...
43 .Ar ipmp-interface
44 .Nm
45 .Ic remove-ipmp
46 .Op Fl t
47 .Fl i Ar interface No ...
48 .Ar ipmp-interface
49 .Pp
50 .Nm
51 .Ic disable-if
52 .Fl t
53 .Ar interface
54 .Nm
55 .Ic enable-if
56 .Fl t
57 .Ar interface
58 .Nm
59 .Ic show-if
60 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
61 .Op Ar interface
62 .Pp
63 .Nm
64 .Ic set-ifprop
65 .Op Fl t
66 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
67 .Fl m Ar protocol
68 .Ar interface
69 .Nm
70 .Ic reset-ifprop
71 .Op Fl t
72 .Fl p Ar prop
73 .Fl m Ar protocol
74 .Ar interface
75 .Nm
76 .Ic show-ifprop
77 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
78 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
79 .Op Fl m Ar protocol
80 .Op Ar interface
81 .Pp
82 .Nm
83 .Ic create-addr
84 .Op Fl t
85 .Fl T Cm static
86 .Op Fl d
87 .Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
88 .Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
89 .Ar addrobj
90 .Nm
91 .Ic create-addr
92 .Op Fl t
93 .Fl T Cm dhcp
94 .Op Fl 1
95 .Op Fl h Ar hostname
96 .Op Fl w Bro Ar seconds Ns | Ns Cm forever Brc
97 .Ar addrobj
98 .Nm
99 .Ic create-addr
100 .Op Fl t
101 .Fl T Cm addrconf
102 .Op Fl i Ar interface-id
103 .Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
104 .Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
105 .Ar addrobj
106 .Nm
107 .Ic delete-addr
108 .Op Fl r
109 .Ar addrobj
110 .Nm
111 .Ic show-addr
112 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
113 .Op Ar addrobj
114 .Nm
115 .Ic refresh-addr
116 .Op Fl i
117 .Ar addrobj
118 .Nm
119 .Ic down-addr
120 .Op Fl t
121 .Ar addrobj
122 .Nm
123 .Ic up-addr
124 .Op Fl t
125 .Ar addrobj
126 .Nm
127 .Ic disable-addr
128 .Op Fl t
129 .Ar addrobj
130 .Nm
131 .Ic enable-addr
132 .Op Fl t
133 .Ar addrobj
134 .Pp
135 .Nm
136 .Ic set-addrprop
137 .Op Fl t
138 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
139 .Ar addrobj
140 .Nm
141 .Ic reset-addrprop
142 .Op Fl t
143 .Fl p Ar prop
144 .Ar addrobj
145 .Nm
146 .Ic show-addrprop
147 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
148 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
149 .Op Ar addrobj
150 .Pp
151 .Nm
152 .Ic set-prop
153 .Op Fl t
154 .Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
155 .Ar value Ns Oo , Ns Ar value Oc Ns ...
156 .Ar protocol
157 .Nm
158 .Ic reset-prop
159 .Op Fl t
160 .Fl p Ar prop
161 .Ar protocol
162 .Nm
163 .Ic show-prop
164 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
165 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
166 .Op Ar protocol
167 .Sh DESCRIPTION
168 The
169 .Nm
170 command is a stable replacement for the
171 .Xr ifconfig 1M
172 and
173 .Xr ndd 1M
174 commands.
175 It is used to create IP interfaces and to configure IP addresses on those
176 interfaces.
177 It is also used to get, set or reset properties on interfaces, addresses and
178 protocols.
179 .Pp
180 For subcommands that take an
181 .Em addrobj ,
182 the
183 .Em addrobj
184 specifies unique address on the system.
185 It is made up of two parts, delimited by a
186 .Sq / .
187 The first part is the name of the interface and the second part is a string up
188 to 32 characters long.
189 For example,
190 .Qq lo0/v4
191 is a loopback interface
192 .Em addrobj
193 name.
194 .Pp
195 For subcommands that take a
196 .Em protocol ,
197 this can be one of the following values:
198 .Cm ip ,
199 .Cm ipv4 ,
200 .Cm ipv6 ,
201 .Cm icmp ,
202 .Cm tcp ,
203 .Cm sctp
204 or
205 .Cm udp.
206 .Sh SUBCOMMANDS
207 The following subcommands are supported:
208 .Bl -tag -width Ds
209 .It Xo
210 .Nm
211 .Ic create-ip
212 .Op Fl t
213 .Ar interface
214 .Xc
215 Create the IP interface that will handle both IPv4 and IPv6 packets.
216 The interface will be enabled as part of the creation process.
217 The IPv4 interface will have the address 0.0.0.0.
218 The IPv6 interface will have the address ::.
219 .Bl -tag -width Ds
220 .It Fl t Ns \&, Ns Fl -temporary
221 Temporary, not persistent across reboots.
222 .El
223 .It Xo
224 .Nm
225 .Ic delete-ip
226 .Ar interface
227 .Xc
228 Permanently delete the specified IP interface.
229 .It Xo
230 .Nm
231 .Ic create-ipmp
232 .Op Fl t
233 .Ar ipmp-interface
234 .Xc
235 Create the IPMP interface that will handle both IPv4 and IPv6 packets.
236 The interface will be enabled as part of the creation process.
237 The IPv4 interface will have the address 0.0.0.0.
238 The IPv6 interface will have the adress ::.
239 .Bl -tag -width Ds
240 .It Fl t Ns \&, Ns Fl -temporary
241 Temporary, not persistent across reboots.
242 .El
243 .It Xo
244 .Nm
245 .Ic delete-ipmp
246 .Ar ipmp-interface
247 .Xc
248 Permanently delete the IPMP interface.
249 .It Xo
250 .Nm
251 .Ic add-ipmp
252 .Op Fl t
253 .Fl i Ar interface No ...
254 .Ar ipmp-interface
255 .Xc
256 Add the IP interface(s) to the IPMP interface (group).
257 .Bl -tag -width ""
258 .It Fl i Ns \&, Ns Fl -interface
259 Interface to be added to the IPMP interface (group).
260 More than one
261 .Fl i
262 option can be specified.
263 .It Fl t Ns \&, Ns Fl -temporary
264 Temporary, not persistent across reboots.
265 .El
266 .It Xo
267 .Nm
268 .Ic remove-ipmp
269 .Op Fl t
270 .Fl i Ar interface No ...
271 .Ar ipmp-interface
272 .Xc
273 Remove the IP interface(s) from the IPMP interface (group).
274 .Bl -tag -width ""
275 .It Fl i Ns \&, Ns Fl -interface
276 Interface to be removed from the IPMP interface (group).
277 More than one
278 .Fl i
279 option can be specified.
280 .It Fl t Ns \&, Ns Fl -temporary
281 Temporary, not persistent across reboots.
282 .El
283 .It Xo
284 .Nm
285 .Ic disable-if
286 .Fl t
287 .Ar interface
288 .Xc
289 Disable the specified IP interface.
290 .Bl -tag -width Ds
291 .It Fl t Ns \&, Ns Fl -temporary
292 Temporary, not persistent across reboots.
293 .El
294 .It Xo
295 .Nm
296 .Ic enable-if
297 .Fl t
298 .Ar interface
299 .Xc
300 Enable the specified IP interface.
301 .Bl -tag -width Ds
302 .It Fl t Ns \&, Ns Fl -temporary
303 Temporary, not persistent across reboots.
304 .El
305 .It Xo
306 .Nm
307 .Ic show-if
308 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
309 .Op Ar interface
310 .Xc
311 Show the current IP interface configuration.
312 .Bl -tag -width Ds
313 .It Fl o Ns \&, Ns Fl -output
314 Select which fields will be shown.
315 The field value can be one of the following names:
316 .Bl -tag -compact -width "PERSISTENT"
317 .It Cm ALL
318 Display all fields.
319 .It Cm IFNAME
320 The name of the interface.
321 .It Cm STATE
322 The state can be one of the following values:
323 .Bl -tag -compact -width "disabled"
324 .It Sy ok
325 resources for the interface have been allocated
326 .It Sy offline
356 .It Sy a
357 VRRP accept mode
358 .It Sy 4
359 IPv4
360 .It Sy 6
361 IPv6
362 .El
363 .It Cm PERSISTENT
364 A set of single character flags showing what configuration will be used the
365 next time the interface is enabled:
366 .Bl -tag -compact -width "s"
367 .It Sy s
368 IPMP standby
369 .It Sy 4
370 IPv4
371 .It Sy 6
372 IPv6
373 .El
374 .El
375 .It Fl p Ns \&, Ns Fl -parsable
376 Print the output in parsable format.
377 .El
378 .It Xo
379 .Nm
380 .Ic set-ifprop
381 .Op Fl t
382 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
383 .Fl m Ar protocol
384 .Ar interface
385 .Xc
386 Set a property's value(s) on the specified IP interface.
387 .Bl -tag -width Ds
388 .It Fl m Ns \&, Ns Fl -module
389 Specify which protocol the setting applies to.
390 .It Fl p Ns \&, Ns Fl -prop
391 Specify the property name and value(s).
392 The property name can be one of the following:
393 .Bl -tag -compact -width "exchange_routes"
394 .It Cm arp
395 Address resolution protocol
396 .Pq Cm on Ns / Ns Cm off .
431 Specify which protocol the setting applies to.
432 .It Fl p Ns \&, Ns Fl -prop
433 Specify the property name.
434 See the
435 .Nm ipadm Ic set-ifprop
436 subcommand for the list of property names.
437 .It Fl t Ns \&, Ns Fl -temporary
438 Temporary, not persistent across reboots.
439 .El
440 .It Xo
441 .Nm
442 .Ic show-ifprop
443 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
444 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
445 .Op Fl m Ar protocol
446 .Op Ar interface
447 .Xc
448 Display the property values for one or all of the IP interfaces.
449 .Bl -tag -width Ds
450 .It Fl c Ns \&, Ns Fl -parsable
451 Print the output in parsable format.
452 .It Fl m Ns \&, Ns Fl -module
453 Specify which protocol to display.
454 .It Fl o Ns \&, Ns Fl -output
455 Select which fields will be shown.
456 The field value can be one of the following names:
457 .Bl -tag -compact -width "PERSISTENT"
458 .It Cm ALL
459 Display all fields.
460 .It Cm IFNAME
461 The name of the interface.
462 .It Cm PROPERTY
463 The name of the property.
464 .It Cm PROTO
465 The name of the protocol.
466 .It Cm PERM
467 If the property is readable
468 .Pq Qq r
469 and/or writable
470 .Pq Qq w .
471 .It Cm CURRENT
482 See the
483 .Nm ipadm Ic set-ifprop
484 subcommand for the list of property names.
485 .El
486 .It Xo
487 .Nm
488 .Ic create-addr
489 .Op Fl t
490 .Fl T Cm static
491 .Op Fl d
492 .Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
493 .Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
494 .Ar addrobj
495 .Xc
496 Create an address on the specified IP interface using static configuration.
497 The address will be enabled but can disabled using the
498 .Nm ipadm Ic disable-addr
499 subcommand.
500 Note that
501 .Cm addrconf
502 address configured on the interface is required to configure
503 .Cm static
504 IPv6 address on the same interface.
505 This takes the following options:
506 .Bl -tag -width Ds
507 .It Fl a Ns \&, Ns Fl -address
508 Specify the address.
509 The
510 .Cm local
511 or
512 .Cm remote
513 prefix can be used for a point-to-point interface.
514 In this case, both addresses must be given.
515 Otherwise, the equal sign
516 .Pq Qq =
517 should be omitted and the address should be provided by itself without second
518 address.
519 .It Fl d Ns \&, Ns Fl -down
520 The address is down.
521 .It Fl t Ns \&, Ns Fl -temporary
522 Temporary, not persistent across reboots.
569 .Ic create-addr
570 .Op Fl t
571 .Fl T Cm addrconf
572 .Op Fl i Ar interface-id
573 .Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
574 .Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
575 .Ar addrobj
576 .Xc
577 Create an auto-configured address on the specified IP interface.
578 This takes the following options:
579 .Bl -tag -width Ds
580 .It Fl i Ns \&, Ns Fl -interface-id
581 Specify the interface ID to be used.
582 .It Fl p Ns \&, Ns Fl -prop
583 Specify which method of auto-configuration should be used.
584 .It Fl t Ns \&, Ns Fl -temporary
585 Temporary, not persistent across reboots.
586 .El
587 .It Xo
588 .Nm
589 .Ic delete-addr
590 .Op Fl r
591 .Ar addrobj
592 .Xc
593 Delete the given address.
594 .Bl -tag -width Ds
595 .It Fl r Ns \&, Ns Fl -release
596 Indicate that the DHCP-assigned address should be released.
597 .El
598 .It Xo
599 .Nm
600 .Ic show-addr
601 .Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
602 .Op Ar addrobj
603 .Xc
604 Show the current address properties.
605 .Bl -tag -width Ds
606 .It Fl o Ns \&, Ns Fl -output
607 Select which fields will be shown.
608 The field value can be one of the following names:
610 .It Cm ALL
611 Display all fields.
612 .It Cm ADDROBJ
613 The name of the address.
614 .It Cm TYPE
615 The type of the address
616 .Pq Sy static Ns / Ns Sy dhcp Ns / Ns Sy addrconf .
617 .It Cm STATE
618 The state of the address.
619 It can be one of the following values:
620 .Bl -tag -compact -width "inaccessible"
621 .It Sy disabled
622 see the
623 .Nm ipadm Ic disable-addr
624 subcommand
625 .It Sy down
626 see the
627 .Nm ipadm Ic down-addr
628 subcommand
629 .It Sy duplicate
630 the address is duplicate
631 .It Sy inaccessible
632 the interface for this address has failed
633 .It Sy ok
634 the address is up
635 .It Sy tentative
636 duplicate address detection in progress
637 .El
638 .It Cm CURRENT
639 A set of single character flags indicating the following:
640 .Bl -tag -compact -width "U"
641 .It Sy U
642 up
643 .It Sy u
644 unnumbered
645 .Pq matches another local address
646 .It Sy p
647 private, not advertised to routing
648 .It Sy t
649 temporary IPv6 address
650 .It Sy d
651 deprecated
652 .Pq not used for outgoing packets
653 .El
654 .It Cm PERSISTENT
655 A set of single character flags showing the configuration which will be used
656 when the address is enabled.
657 .Bl -tag -compact -width "U"
658 .It Sy U
659 up
660 .It Sy p
661 private, not advertised to routing
662 .It Sy d
663 deprecated
664 .Pq not used for outgoing packets
665 .El
666 .It Cm ADDR
667 The address.
668 .El
669 .It Fl p Ns \&, Ns Fl -parsable
670 Print the output in parsable format.
671 .El
672 .It Xo
673 .Nm
674 .Ic refresh-addr
675 .Op Fl i
676 .Ar addrobj
677 .Xc
678 Extend the lease for
679 .Sy DHCP
680 addresses.
681 It also restarts duplicate address detection for
682 .Cm static
683 addresses.
684 .Bl -tag -width ""
685 .It Fl i Ns \&, Ns Fl -inform
686 Obtain network configuration from DHCP without taking a lease on the address.
687 .El
688 .It Xo
689 .Nm
690 .Ic down-addr
691 .Op Fl t
692 .Ar addrobj
693 .Xc
694 Down the address.
695 This will stop packets from being sent or received.
696 .Bl -tag -width ""
697 .It Fl t Ns \&, Ns Fl -temporary
698 Temporary, not persistent across reboots.
699 .El
700 .It Xo
701 .Nm
702 .Ic up-addr
703 .Op Fl t
704 .Ar addrobj
705 .Xc
706 Up the address.
707 This will enable packets to be sent and received.
708 .Bl -tag -width ""
709 .It Fl t Ns \&, Ns Fl -temporary
710 Temporary, not persistent across reboots.
711 .El
712 .It Xo
713 .Nm
714 .Ic disable-addr
715 .Op Fl t
716 .Ar addrobj
717 .Xc
718 Disable the address.
719 .Bl -tag -width ""
720 .It Fl t Ns \&, Ns Fl -temporary
721 Temporary, not persistent across reboots.
722 .El
723 .It Xo
724 .Nm
725 .Ic enable-addr
726 .Op Fl t
727 .Ar addrobj
728 .Xc
729 Enable the address.
730 .Bl -tag -width ""
731 .It Fl t Ns \&, Ns Fl -temporary
732 Temporary, not persistent across reboots.
733 .El
734 .It Xo
735 .Nm
736 .Ic set-addrprop
737 .Op Fl t
738 .Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
739 .Ar addrobj
740 .Xc
741 Set a property's value(s) on the addrobj.
742 .Bl -tag -width Ds
743 .It Fl p Ns \&, Ns Fl -prop
744 Specify the property name and value(s).
745 The property name can be one of the following:
746 .Bl -tag -compact -width "deprecated"
747 .It Cm broadcast
748 The broadcast address (read-only).
749 .It Cm deprecated
750 The address should not be used to send packets but can still receive packets
751 .Pq Cm on Ns / Ns Cm off .
752 .It Cm prefixlen
753 The number of bits in the IPv4 netmask or IPv6 prefix.
754 .It Cm primary
755 The DHCP primary interface flag (read-only).
788 Reset the addrobj's property value to the default.
789 .Bl -tag -width Ds
790 .It Fl p Ns \&, Ns Fl -prop
791 Specify the property name.
792 See the
793 .Nm ipadm Ic set-addrprop
794 subcommand for the list of property names.
795 .It Fl t Ns \&, Ns Fl -temporary
796 Temporary, not persistent across reboots.
797 .El
798 .It Xo
799 .Nm
800 .Ic show-addrprop
801 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
802 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
803 .Op Ar addrobj
804 .Xc
805 Display the property values for one or all of the addrobjs.
806 .Bl -tag -width Ds
807 .It Fl c Ns \&, Ns Fl -parsable
808 Print the output in parsable format.
809 .It Fl o Ns \&, Ns Fl -output
810 Select which fields will be shown.
811 The field value can be one of the following names:
812 .Bl -tag -compact -width "PERSISTENT"
813 .It Cm ALL
814 Display all fields.
815 .It Cm ADDROBJ
816 The name of the addrobj.
817 .It Cm PROPERTY
818 The name of the property.
819 .It Cm PERM
820 If the property is readable
821 .Pq Qq r
822 and/or writable
823 .Pq Qq w .
824 .It Cm CURRENT
825 The value of the property.
826 .It Cm PERSISTENT
827 The persistent value of the property.
828 .It Cm DEFAULT
829 The default value of the property.
830 .It Cm POSSIBLE
831 The possible values for the property.
832 .El
833 .It Fl p Ns \&, Ns Fl -prop
834 Specify which properties to display.
835 See the
836 .Nm ipadm Ic set-addrprop
837 subcommand for the list of property names.
838 .El
839 .It Xo
840 .Nm
841 .Ic set-prop
842 .Op Fl t
843 .Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
844 .Ar value Ns Oo , Ns Ar value Oc Ns ...
845 .Ar protocol
846 .Xc
847 Set a property's value(s) on the protocol.
848 .Bl -tag -width Ds
849 .It Fl p Ns \&, Ns Fl -prop
850 Specify the property name and value(s).
851 The optional
852 .Sy + Ns | Ns Sy -
853 syntax can be used to add/remove values from the current list of values on the
854 property.
855 The property name can be one of the following:
856 .Bl -tag -compact -width "smallest_nonpriv_port"
857 .It Cm ecn
858 Explicit congestion control
859 .Pq Cm never Ns / Ns Cm passive Ns / Ns Cm active
860 .Pq TCP .
915 Reset a protocol's property value to the default.
916 .Bl -tag -width Ds
917 .It Fl p Ns \&, Ns Fl -prop
918 Specify the property name.
919 See the
920 .Nm ipadm Ic set-prop
921 subcommand for the list of property names.
922 .It Fl t Ns \&, Ns Fl -temporary
923 Temporary, not persistent across reboots.
924 .El
925 .It Xo
926 .Nm
927 .Ic show-prop
928 .Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
929 .Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
930 .Op Ar protocol
931 .Xc
932 Display the property values for one or all of the protocols.
933 .Bl -tag -width Ds
934 .It Fl c Ns \&, Ns Fl -parsable
935 Print the output in parsable format.
936 .It Fl o Ns \&, Ns Fl -output
937 Select which fields will be shown.
938 The field value can be one of the following names:
939 .Bl -tag -compact -width "PERSISTENT"
940 .It Cm ALL
941 Display all fields.
942 .It Cm PROTO
943 The name of the protocol.
944 .It Cm PROPERTY
945 The name of the property.
946 .It Cm PERM
947 If the property is readable
948 .Pq Qq r
949 and/or writable
950 .Pq Qq w .
951 .It Cm CURRENT
952 The value of the property.
953 .It Cm PERSISTENT
954 The persistent value of the property.
955 .It Cm DEFAULT
|