xref: /illumos-gate/usr/src/man/man8/ipadm.8 (revision d48be21240dfd051b689384ce2b23479d757f2d8)
1.\"
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, 2017 by Delphix. All rights reserved.
14.\" Copyright (c) 2016-2017, Chris Fraire <cfraire@me.com>.
15.\" Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
16.\" Copyright 2021 Tintri by DDN, Inc. All rights reserved.
17.\"
18.Dd August 20, 2022
19.Dt IPADM 8
20.Os
21.Sh NAME
22.Nm ipadm
23.Nd configure IP and IPMP interfaces, addresses and protocols
24.Sh SYNOPSIS
25.Nm
26.Ic help
27.Nm
28.Ic create-if
29.Op Fl t
30.Ar interface
31.Nm
32.Ic create-ip
33.Op Fl t
34.Ar interface
35.Nm
36.Ic delete-if
37.Ar interface
38.Nm
39.Ic delete-ip
40.Ar interface
41.Pp
42.Nm
43.Ic create-ipmp
44.Op Fl t
45.Op Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
46.Ar ipmp-interface
47.Nm
48.Ic delete-ipmp
49.Ar ipmp-interface
50.Nm
51.Ic add-ipmp
52.Op Fl t
53.Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
54.Ar ipmp-interface
55.Nm
56.Ic remove-ipmp
57.Op Fl t
58.Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
59.Ar ipmp-interface
60.Pp
61.Nm
62.Ic disable-if
63.Fl t
64.Ar interface
65.Nm
66.Ic enable-if
67.Fl t
68.Ar interface
69.Nm
70.Ic show-if
71.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
72.Op Ar interface
73.Pp
74.Nm
75.Ic set-ifprop
76.Op Fl t
77.Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
78.Fl m Ar protocol
79.Ar interface
80.Nm
81.Ic reset-ifprop
82.Op Fl t
83.Fl p Ar prop
84.Fl m Ar protocol
85.Ar interface
86.Nm
87.Ic show-ifprop
88.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
89.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
90.Op Fl m Ar protocol
91.Op Ar interface
92.Pp
93.Nm
94.Ic create-addr
95.Op Fl t
96.Fl T Cm static
97.Op Fl d
98.Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
99.Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
100.Ar addrobj
101.Nm
102.Ic create-addr
103.Op Fl t
104.Fl T Cm dhcp
105.Op Fl 1
106.Op Fl h Ar hostname
107.Op Fl w Bro Ar seconds Ns | Ns Cm forever Brc
108.Ar addrobj
109.Nm
110.Ic create-addr
111.Op Fl t
112.Fl T Cm addrconf
113.Op Fl i Ar interface-id
114.Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
115.Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
116.Ar addrobj
117.Nm
118.Ic delete-addr
119.Op Fl r
120.Ar addrobj
121.Nm
122.Ic show-addr
123.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
124.Op Ar addrobj
125.Nm
126.Ic refresh-addr
127.Op Fl i
128.Ar addrobj
129.Nm
130.Ic down-addr
131.Op Fl t
132.Ar addrobj
133.Nm
134.Ic up-addr
135.Op Fl t
136.Ar addrobj
137.Nm
138.Ic disable-addr
139.Op Fl t
140.Ar addrobj
141.Nm
142.Ic enable-addr
143.Op Fl t
144.Ar addrobj
145.Pp
146.Nm
147.Ic set-addrprop
148.Op Fl t
149.Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
150.Ar addrobj
151.Nm
152.Ic reset-addrprop
153.Op Fl t
154.Fl p Ar prop
155.Ar addrobj
156.Nm
157.Ic show-addrprop
158.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
159.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
160.Op Ar addrobj
161.Pp
162.Nm
163.Ic set-prop
164.Op Fl t
165.Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
166.Ar value Ns Oo , Ns Ar value Oc Ns ...
167.Ar protocol
168.Nm
169.Ic reset-prop
170.Op Fl t
171.Fl p Ar prop
172.Ar protocol
173.Nm
174.Ic show-prop
175.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
176.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
177.Op Ar protocol
178.Sh DESCRIPTION
179The
180.Nm
181command is a stable replacement for the
182.Xr ifconfig 8
183and
184.Xr ndd 8
185commands.
186It is used to create IP interfaces and to configure IP addresses on those
187interfaces.
188It is also used to get, set or reset properties on interfaces, addresses and
189protocols.
190.Pp
191For subcommands that take an
192.Em addrobj ,
193the
194.Em addrobj
195specifies a unique address on the system, and must be unique itself.
196It is made up of two parts, delimited by a
197.Sq / .
198The first part is the name of the interface and the second part is an arbitrary
199string up to 32 alphanumeric characters long, where the first character must be
200alphabetic
201.Pq e.g. a-z,A-Z .
202For example,
203.Qq lo0/v4
204is a loopback interface
205.Em addrobj
206name, which could also be called
207.Qq lo0/ipv4loopback .
208Consumers should note that this length limit may be lifted in the future.
209.Pp
210For subcommands that take a
211.Em protocol ,
212this can be one of the following values:
213.Cm ip ,
214.Cm ipv4 ,
215.Cm ipv6 ,
216.Cm icmp ,
217.Cm tcp ,
218.Cm sctp
219or
220.Cm udp .
221.Sh SUBCOMMANDS
222When invoked with no arguments,
223.Nm
224shows the current address properties, in the same way as
225.Nm
226.Ic show-addr .
227.Pp
228The following subcommands are supported:
229.Pp
230.Bl -tag -compact -width Ds
231.It Xo
232.Nm
233.Ic help
234.Xc
235Display brief command usage.
236.Pp
237.It Xo
238.Nm
239.Ic create-if
240.Op Fl t
241.Ar interface
242.Xc
243.It Xo
244.Nm
245.Ic create-ip
246.Op Fl t
247.Ar interface
248.Xc
249Create an IP interface that will handle both IPv4 and IPv6 packets.
250The interface will be enabled as part of the creation process.
251The IPv4 interface will have the address 0.0.0.0.
252The IPv6 interface will have the address ::.
253The subcommands
254.Ic create-if
255and
256.Ic create-ip
257are functionally equivalent aliases of each other.
258.Bl -tag -width Ds
259.It Fl t Ns \&, Ns Fl -temporary
260Temporary, not persistent across reboots.
261.El
262.Pp
263.It Xo
264.Nm
265.Ic delete-if
266.Ar interface
267.Xc
268.It Xo
269.Nm
270.Ic delete-ip
271.Ar interface
272.Xc
273Permanently delete the specified IP interface.
274The subcommands
275.Ic delete-if
276and
277.Ic delete-ip
278are functionally equivalent aliases of each other.
279.Pp
280.It Xo
281.Nm
282.Ic create-ipmp
283.Op Fl t
284.Op Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
285.Ar ipmp-interface
286.Xc
287Create an IPMP interface that will handle both IPv4 and IPv6 packets.
288The interface will be enabled as part of the creation process.
289The IPv4 interface will have the address 0.0.0.0.
290The IPv6 interface will have the address ::.
291.Bl -tag -width Ds
292.It Fl i Ns \&, Ns Fl -interface
293Interface(s) to be added to the new IPMP interface.
294.It Fl t Ns \&, Ns Fl -temporary
295Temporary, not persistent across reboots.
296.El
297.Pp
298.It Xo
299.Nm
300.Ic delete-ipmp
301.Ar ipmp-interface
302.Xc
303Permanently delete the IPMP interface.
304.Pp
305.It Xo
306.Nm
307.Ic add-ipmp
308.Op Fl t
309.Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
310.Ar ipmp-interface
311.Xc
312Add the IP interface(s) to the IPMP interface.
313.Bl -tag -width ""
314.It Fl i Ns \&, Ns Fl -interface
315Interface(s) to be added to the IPMP interface.
316.It Fl t Ns \&, Ns Fl -temporary
317Temporary, not persistent across reboots.
318.El
319.Pp
320.It Xo
321.Nm
322.Ic remove-ipmp
323.Op Fl t
324.Fl i Ar interface Ns Oo , Ns Ar interface Oc Ns ...
325.Ar ipmp-interface
326.Xc
327Remove the IP interface(s) from the IPMP interface.
328.Bl -tag -width ""
329.It Fl i Ns \&, Ns Fl -interface
330Interface(s) to be removed from the IPMP interface.
331.It Fl t Ns \&, Ns Fl -temporary
332Temporary, not persistent across reboots.
333.El
334.Pp
335.It Xo
336.Nm
337.Ic disable-if
338.Fl t
339.Ar interface
340.Xc
341Disable the specified IP interface.
342.Bl -tag -width Ds
343.It Fl t Ns \&, Ns Fl -temporary
344Temporary, not persistent across reboots.
345.El
346.Pp
347.It Xo
348.Nm
349.Ic enable-if
350.Fl t
351.Ar interface
352.Xc
353Enable the specified IP interface.
354.Bl -tag -width Ds
355.It Fl t Ns \&, Ns Fl -temporary
356Temporary, not persistent across reboots.
357.El
358.Pp
359.It Xo
360.Nm
361.Ic show-if
362.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
363.Op Ar interface
364.Xc
365Show the current IP interface configuration.
366.Bl -tag -width Ds
367.It Fl o Ns \&, Ns Fl -output
368Select which fields will be shown.
369The field value can be one of the following names:
370.Bl -tag -compact -width "PERSISTENT"
371.It Cm ALL
372Display all fields.
373.It Cm IFNAME
374The name of the interface.
375.It Cm STATE
376The state can be one of the following values:
377.Bl -tag -compact -width "disabled"
378.It Sy ok
379resources for the interface have been allocated
380.It Sy offline
381the interface is offline
382.It Sy failed
383the interface's datalink is down
384.It Sy down
385the interface is down
386.It Sy disabled
387the interface is disabled
388.El
389.It Cm CURRENT
390A set of single character flags indicating the following:
391.Bl -tag -compact -width "b"
392.It Sy b
393broadcast (mutually exclusive with
394.Sq p )
395.It Sy m
396multicast
397.It Sy p
398point-to-point (mutually exclusive with
399.Sq b )
400.It Sy v
401virtual interface
402.It Sy I
403IPMP
404.It Sy s
405IPMP standby
406.It Sy i
407IPMP inactive
408.It Sy V
409VRRP
410.It Sy a
411VRRP accept mode
412.It Sy 4
413IPv4
414.It Sy 6
415IPv6
416.El
417.It Cm PERSISTENT
418A set of single character flags showing what configuration will be used the
419next time the interface is enabled:
420.Bl -tag -compact -width "s"
421.It Sy s
422IPMP standby
423.It Sy 4
424IPv4
425.It Sy 6
426IPv6
427.El
428.El
429.It Fl p Ns \&, Ns Fl -parsable
430Print the output in a parsable format.
431.El
432.Pp
433.It Xo
434.Nm
435.Ic set-ifprop
436.Op Fl t
437.Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
438.Fl m Ar protocol
439.Ar interface
440.Xc
441Set a property's value(s) on the specified IP interface.
442.Bl -tag -width Ds
443.It Fl m Ns \&, Ns Fl -module
444Specify which protocol the setting applies to.
445.It Fl p Ns \&, Ns Fl -prop
446Specify the property name and value(s).
447The property name can be one of the following:
448.Bl -tag -compact -width "exchange_routes"
449.It Cm arp
450Address resolution protocol
451.Pq Cm on Ns / Ns Cm off .
452.It Cm exchange_routes
453Exchange of routing data
454.Pq Cm on Ns / Ns Cm off .
455.It Cm forwarding
456IP Forwarding
457.Pq Cm on Ns / Ns Cm off
458.It Cm metric
459Set the routing metric to the numeric value.
460The value is treated as extra hops to the destination.
461.It Cm mtu
462Set the maximum transmission unit to the numeric value.
463.It Cm nud
464Neighbor unreachability detection
465.Pq Cm on Ns / Ns Cm off
466.It Cm usesrc
467Indicates which interface to use for source address selection.
468A value
469.Cm none
470may also be used.
471.El
472.It Fl t Ns \&, Ns Fl -temporary
473Temporary, not persistent across reboots.
474.El
475.Pp
476.It Xo
477.Nm
478.Ic reset-ifprop
479.Op Fl t
480.Fl p Ar prop
481.Fl m Ar protocol
482.Ar interface
483.Xc
484Reset the specified IP interface's property value to the default.
485.Bl -tag -width Ds
486.It Fl m Ns \&, Ns Fl -module
487Specify which protocol the setting applies to.
488.It Fl p Ns \&, Ns Fl -prop
489Specify the property name.
490See the
491.Nm ipadm Ic set-ifprop
492subcommand for the list of property names.
493.It Fl t Ns \&, Ns Fl -temporary
494Temporary, not persistent across reboots.
495.El
496.Pp
497.It Xo
498.Nm
499.Ic show-ifprop
500.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar value Oc Ns ...
501.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
502.Op Fl m Ar protocol
503.Op Ar interface
504.Xc
505Display the property values for one or all of the IP interfaces.
506.Bl -tag -width Ds
507.It Fl c Ns \&, Ns Fl -parsable
508Print the output in a parsable format.
509.It Fl m Ns \&, Ns Fl -module
510Specify which protocol to display.
511.It Fl o Ns \&, Ns Fl -output
512Select which fields will be shown.
513The field value can be one of the following names:
514.Bl -tag -compact -width "PERSISTENT"
515.It Cm ALL
516Display all fields.
517.It Cm IFNAME
518The name of the interface.
519.It Cm PROPERTY
520The name of the property.
521.It Cm PROTO
522The name of the protocol.
523.It Cm PERM
524If the property is readable
525.Pq Qq r
526and/or writable
527.Pq Qq w .
528.It Cm CURRENT
529The value of the property.
530.It Cm PERSISTENT
531The persistent value of the property.
532.It Cm DEFAULT
533The default value of the property.
534.It Cm POSSIBLE
535The possible values for the property.
536.El
537.It Fl p Ns \&, Ns Fl -prop
538Specify which properties to display.
539See the
540.Nm ipadm Ic set-ifprop
541subcommand for the list of property names.
542.El
543.Pp
544.It Xo
545.Nm
546.Ic create-addr
547.Op Fl t
548.Fl T Cm static
549.Op Fl d
550.Fl a Oo Cm local Ns | Ns Cm remote Ns = Oc Ns
551.Ar addr Ns Oo / Ns Ar prefixlen Oc Ns ...
552.Ar addrobj
553.Xc
554Create an address on the specified IP interface using static configuration.
555The address will be enabled but can disabled using the
556.Nm ipadm Ic disable-addr
557subcommand.
558Note that
559.Cm addrconf
560address configured on the interface is required to configure
561.Cm static
562IPv6 address on the same interface.
563This takes the following options:
564.Bl -tag -width Ds
565.It Fl a Ns \&, Ns Fl -address
566Specify the address.
567The
568.Cm local
569or
570.Cm remote
571prefix can be used for a point-to-point interface.
572In this case, both addresses must be given.
573Otherwise, the equal sign
574.Pq Qq =
575should be omitted and the address should be provided by itself without second
576address.
577.It Fl d Ns \&, Ns Fl -down
578The address is down.
579.It Fl t Ns \&, Ns Fl -temporary
580Temporary, not persistent across reboots.
581.El
582.Pp
583.It Xo
584.Nm
585.Ic create-addr
586.Op Fl t
587.Fl T Cm dhcp
588.Op Fl 1
589.Op Fl h Ar hostname
590.Op Fl w Bro Ar seconds Ns | Ns Cm forever Brc
591.Ar addrobj
592.Xc
593Create an address on the specified IP interface using DHCP.
594This takes the following options:
595.Bl -tag -width Ds
596.It Fl 1 Ns \&, Ns Fl -primary
597Specify that the interface is primary.
598One effect will be that
599.Xr nodename 5
600will serve as
601.Fl h Ns \&, Ns Fl -reqhost
602if that switch is not otherwise specified.
603.It Fl h Ns \&, Ns Fl -reqhost
604Specify the host name to send to the DHCP server in order to request an
605association of a Fully Qualified Domain Name to the interface.
606An FQDN is determined from
607.Ar hostname
608if it is "rooted" (ending in a '.'), or if it consists of at least three
609DNS labels, or by appending to
610.Ar hostname
611the DNS domain name value configured in
612.Pa /etc/default/dhcpagent
613for
614.Xr dhcpagent 8 .
615N.b. that the DHCP server implementation ultimately determines whether and
616how the client-sent FQDN is used.
617.It Fl t Ns \&, Ns Fl -temporary
618Temporary, not persistent across reboots.
619.It Fl w Ns \&, Ns Fl -wait
620Specify the time, in seconds, that the command should wait to obtain an
621address; or specify
622.Cm forever
623to wait without interruption.
624The default value is 120.
625.El
626.Pp
627.It Xo
628.Nm
629.Ic create-addr
630.Op Fl t
631.Fl T Cm addrconf
632.Op Fl i Ar interface-id
633.Oo Fl p Bro Cm stateful Ns | Ns Cm stateless Brc Ns = Ns
634.Bro Cm yes Ns | Ns Cm no Brc Oc Ns ...
635.Ar addrobj
636.Xc
637Create an auto-configured address on the specified IP interface.
638This takes the following options:
639.Bl -tag -width Ds
640.It Fl i Ns \&, Ns Fl -interface-id
641Specify the interface ID to be used.
642.It Fl p Ns \&, Ns Fl -prop
643Specify which method of auto-configuration should be used.
644.It Fl t Ns \&, Ns Fl -temporary
645Temporary, not persistent across reboots.
646.El
647.Pp
648.It Xo
649.Nm
650.Ic delete-addr
651.Op Fl r
652.Ar addrobj
653.Xc
654Delete the given address.
655.Bl -tag -width Ds
656.It Fl r Ns \&, Ns Fl -release
657Indicate that the DHCP-assigned address should be released.
658.El
659.Pp
660.It Xo
661.Nm
662.Ic show-addr
663.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
664.Op Ar addrobj
665.Xc
666Show the current address properties.
667.Bl -tag -width Ds
668.It Fl o Ns \&, Ns Fl -output
669Select which fields will be shown.
670The field value can be one of the following names:
671.Bl -tag -compact -width "PERSISTENT"
672.It Cm ALL
673Display all fields.
674.It Cm ADDROBJ
675The name of the address.
676.It Cm TYPE
677The type of the address
678.Pq Sy static Ns / Ns Sy dhcp Ns / Ns Sy addrconf .
679.It Cm STATE
680The state of the address.
681It can be one of the following values:
682.Bl -tag -compact -width "inaccessible"
683.It Sy disabled
684see the
685.Nm ipadm Ic disable-addr
686subcommand
687.It Sy down
688see the
689.Nm ipadm Ic down-addr
690subcommand
691.It Sy duplicate
692the address is duplicate
693.It Sy inaccessible
694the interface for this address has failed
695.It Sy ok
696the address is up
697.It Sy tentative
698duplicate address detection in progress
699.El
700.It Cm CURRENT
701A set of single character flags indicating the following:
702.Bl -tag -compact -width "U"
703.It Sy U
704up
705.It Sy u
706unnumbered
707.Pq matches another local address
708.It Sy p
709private, not advertised to routing
710.It Sy t
711temporary IPv6 address
712.It Sy d
713deprecated
714.Pq not used for outgoing packets
715.El
716.It Cm PERSISTENT
717A set of single character flags showing the configuration which will be used
718when the address is enabled.
719.Bl -tag -compact -width "U"
720.It Sy U
721up
722.It Sy p
723private, not advertised to routing
724.It Sy d
725deprecated
726.Pq not used for outgoing packets
727.El
728.It Cm ADDR
729The address.
730.El
731.It Fl p Ns \&, Ns Fl -parsable
732Print the output in a parsable format.
733.El
734.Pp
735.It Xo
736.Nm
737.Ic refresh-addr
738.Op Fl i
739.Ar addrobj
740.Xc
741Extend the lease for
742.Sy DHCP
743addresses.
744It also restarts duplicate address detection for
745.Cm static
746addresses.
747.Bl -tag -width ""
748.It Fl i Ns \&, Ns Fl -inform
749Obtain network configuration from DHCP without taking a lease on the address.
750.El
751.Pp
752.It Xo
753.Nm
754.Ic down-addr
755.Op Fl t
756.Ar addrobj
757.Xc
758Down the address.
759This will stop packets from being sent or received.
760.Bl -tag -width Ds
761.It Fl t Ns \&, Ns Fl -temporary
762Temporary, not persistent across reboots.
763.El
764.Pp
765.It Xo
766.Nm
767.Ic up-addr
768.Op Fl t
769.Ar addrobj
770.Xc
771Up the address.
772This will enable packets to be sent and received.
773.Bl -tag -width Ds
774.It Fl t Ns \&, Ns Fl -temporary
775Temporary, not persistent across reboots.
776.El
777.Pp
778.It Xo
779.Nm
780.Ic disable-addr
781.Op Fl t
782.Ar addrobj
783.Xc
784Disable the address.
785.Bl -tag -width Ds
786.It Fl t Ns \&, Ns Fl -temporary
787Temporary, not persistent across reboots.
788.El
789.Pp
790.It Xo
791.Nm
792.Ic enable-addr
793.Op Fl t
794.Ar addrobj
795.Xc
796Enable the address.
797.Bl -tag -width Ds
798.It Fl t Ns \&, Ns Fl -temporary
799Temporary, not persistent across reboots.
800.El
801.Pp
802.It Xo
803.Nm
804.Ic set-addrprop
805.Op Fl t
806.Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
807.Ar addrobj
808.Xc
809Set a property's value(s) on the addrobj.
810.Bl -tag -width Ds
811.It Fl p Ns \&, Ns Fl -prop
812Specify the property name and value(s).
813The property name can be one of the following:
814.Bl -tag -compact -width "deprecated"
815.It Cm broadcast
816The broadcast address (read-only).
817.It Cm deprecated
818The address should not be used to send packets but can still receive packets
819.Pq Cm on Ns / Ns Cm off .
820.It Cm prefixlen
821The number of bits in the IPv4 netmask or IPv6 prefix.
822.It Cm primary
823The DHCP primary interface flag (read-only).
824.It Cm private
825The address is not advertised to routing
826.Pq Cm on Ns / Ns Cm off .
827.It Cm reqhost
828The host name to send to the DHCP server in order to request an association
829of the FQDN to the interface.
830For a primary DHCP interface,
831.Xr nodename 5
832is sent if this property is not defined.
833See the
834.Nm
835.Ic create-addr
836.Fl T Cm dhcp
837subcommand for the explanation of how an FQDN is determined.
838.It Cm transmit
839Packets can be transmitted
840.Pq Cm on Ns / Ns Cm off .
841.It Cm zone
842The zone the addrobj is in (temporary-only--use
843.Xr zonecfg 8
844to make persistent).
845.El
846.It Fl t Ns \&, Ns Fl -temporary
847Temporary, not persistent across reboots.
848.El
849.Pp
850.It Xo
851.Nm
852.Ic reset-addrprop
853.Op Fl t
854.Fl p Ar prop
855.Ar addrobj
856.Xc
857Reset the addrobj's property value to the default.
858.Bl -tag -width Ds
859.It Fl p Ns \&, Ns Fl -prop
860Specify the property name.
861See the
862.Nm ipadm Ic set-addrprop
863subcommand for the list of property names.
864.It Fl t Ns \&, Ns Fl -temporary
865Temporary, not persistent across reboots.
866.El
867.Pp
868.It Xo
869.Nm
870.Ic show-addrprop
871.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
872.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
873.Op Ar addrobj
874.Xc
875Display the property values for one or all of the addrobjs.
876.Bl -tag -width Ds
877.It Fl c Ns \&, Ns Fl -parsable
878Print the output in a parsable format.
879.It Fl o Ns \&, Ns Fl -output
880Select which fields will be shown.
881The field value can be one of the following names:
882.Bl -tag -compact -width "PERSISTENT"
883.It Cm ALL
884Display all fields.
885.It Cm ADDROBJ
886The name of the addrobj.
887.It Cm PROPERTY
888The name of the property.
889.It Cm PERM
890If the property is readable
891.Pq Qq r
892and/or writable
893.Pq Qq w .
894.It Cm CURRENT
895The value of the property.
896.It Cm PERSISTENT
897The persistent value of the property.
898.It Cm DEFAULT
899The default value of the property.
900.It Cm POSSIBLE
901The possible values for the property.
902.El
903.It Fl p Ns \&, Ns Fl -prop
904Specify which properties to display.
905See the
906.Nm ipadm Ic set-addrprop
907subcommand for the list of property names.
908.El
909.Pp
910.It Xo
911.Nm
912.Ic set-prop
913.Op Fl t
914.Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
915.Ar value Ns Oo , Ns Ar value Oc Ns ...
916.Ar protocol
917.Xc
918Set a property's value(s) on the protocol.
919.Bl -tag -width Ds
920.It Fl p Ns \&, Ns Fl -prop
921Specify the property name and value(s).
922The optional
923.Sy + Ns | Ns Sy -
924syntax can be used to add/remove values from the current list of values on the
925property.
926The property name can be one of the following:
927.Bl -tag -compact -width "smallest_nonpriv_port"
928.It Cm congestion_control
929The default congestion-control algorithm to be used for new connections
930.Pq TCP .
931.It Cm ecn
932Explicit congestion control
933.Pq Cm never Ns / Ns Cm passive Ns / Ns Cm active
934.Pq TCP .
935.It Cm extra_priv_ports
936Additional privileged ports
937.Pq SCTP/TCP/UDP .
938.It Cm forwarding
939Packet forwarding
940.Pq Cm on Ns / Ns Cm off .
941.It Cm hoplimit
942The IPv6 hoplimit.
943.It Cm hostmodel
944IP packet handling on multi-homed systems
945.Pq Cm weak Ns / Ns Cm strong Ns / Ns Cm src-priority
946.Pq IPv4/IPv6 .
947.Cm weak
948and
949.Cm strong
950correspond to the model definitions defined in RFC 1122.
951.Cm src-priority
952is a hybrid mode where outbound packets are sent from the interface with the
953packet's source address if possible.
954.It Cm largest_anon_port
955Largest ephemeral port
956.Pq SCTP/TCP/UDP .
957.It Cm max_buf
958Maximum receive or send buffer size
959.Pq ICMP/SCTP/TCP/UDP .
960This also sets the upper limit for the
961.Cm recv_buf
962and
963.Cm send_buf
964properties.
965.It Cm recv_buf
966Default receive buffer size
967.Pq ICMP/SCTP/TCP/UDP .
968The maximum value for this property is controlled by the
969.Cm max_buf
970property.
971.It Cm sack
972Selective acknowledgement
973.Pq Cm active Ns / Ns Cm passive Ns / Ns Cm never
974.Pq TCP .
975.It Cm send_buf
976Default send buffer size
977.Pq ICMP/SCTP/TCP/UDP .
978The maximum value for this property is controlled by the
979.Cm max_buf
980property.
981.It Cm smallest_anon_port
982Smallest ephemeral port
983.Pq SCTP/TCP/UDP .
984.It Cm smallest_nonpriv_port
985Smallest non-privileged port
986.Pq SCTP/TCP/UDP .
987.It Cm ttl
988The IPv4 time-to-live.
989.El
990.It Fl t Ns \&, Ns Fl -temporary
991Temporary, not persistent across reboots.
992.El
993.Pp
994.It Xo
995.Nm
996.Ic reset-prop
997.Op Fl t
998.Fl p Ar prop
999.Ar protocol
1000.Xc
1001Reset a protocol's property value to the default.
1002.Bl -tag -width Ds
1003.It Fl p Ns \&, Ns Fl -prop
1004Specify the property name.
1005See the
1006.Nm ipadm Ic set-prop
1007subcommand for the list of property names.
1008.It Fl t Ns \&, Ns Fl -temporary
1009Temporary, not persistent across reboots.
1010.El
1011.Pp
1012.It Xo
1013.Nm
1014.Ic show-prop
1015.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
1016.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
1017.Op Ar protocol
1018.Xc
1019Display the property values for one or all of the protocols.
1020.Bl -tag -width Ds
1021.It Fl c Ns \&, Ns Fl -parsable
1022Print the output in a parsable format.
1023.It Fl o Ns \&, Ns Fl -output
1024Select which fields will be shown.
1025The field value can be one of the following names:
1026.Bl -tag -compact -width "PERSISTENT"
1027.It Cm ALL
1028Display all fields.
1029.It Cm PROTO
1030The name of the protocol.
1031.It Cm PROPERTY
1032The name of the property.
1033.It Cm PERM
1034If the property is readable
1035.Pq Qq r
1036and/or writable
1037.Pq Qq w .
1038.It Cm CURRENT
1039The value of the property.
1040.It Cm PERSISTENT
1041The persistent value of the property.
1042.It Cm DEFAULT
1043The default value of the property.
1044.It Cm POSSIBLE
1045The possible values for the property.
1046.El
1047.It Fl p Ns \&, Ns Fl -prop
1048Specify which properties to display.
1049See the
1050.Nm ipadm Ic set-prop
1051subcommand for the list of property names.
1052.El
1053.El
1054.Sh SEE ALSO
1055.Xr nodename 5 ,
1056.Xr nsswitch.conf 5 ,
1057.Xr dhcp 7 ,
1058.Xr arp 8 ,
1059.Xr cfgadm 8 ,
1060.Xr dhcpagent 8 ,
1061.Xr dladm 8 ,
1062.Xr if_mpadm 8 ,
1063.Xr ifconfig 8 ,
1064.Xr ndd 8 ,
1065.Xr zonecfg 8
1066