xref: /illumos-gate/usr/src/man/man8/ipadm.8 (revision 201ceb75ab95f9bf1f42ea1dc9ab363b43ba47cf)
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 2024 OmniOS Community Edition (OmniOSce) Association.
16.\" Copyright 2021 Tintri by DDN, Inc. All rights reserved.
17.\"
18.Dd January 14, 2024
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.Cm help
27.Nm
28.Cm create-if
29.Op Fl t
30.Ar interface
31.Nm
32.Cm create-ip
33.Op Fl t
34.Ar interface
35.Nm
36.Cm delete-if
37.Ar interface
38.Nm
39.Cm delete-ip
40.Ar interface
41.Pp
42.Nm
43.Cm 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.Cm delete-ipmp
49.Ar ipmp-interface
50.Nm
51.Cm 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.Cm 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.Cm disable-if
63.Fl t
64.Ar interface
65.Nm
66.Cm enable-if
67.Fl t
68.Ar interface
69.Nm
70.Cm 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.Cm 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.Cm reset-ifprop
82.Op Fl t
83.Fl p Ar prop
84.Fl m Ar protocol
85.Ar interface
86.Nm
87.Cm 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.Cm 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.Cm 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.Cm 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.Cm delete-addr
119.Op Fl r
120.Ar addrobj
121.Nm
122.Cm show-addr
123.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
124.Op Ar addrobj | interface Ns No /
125.Nm
126.Cm refresh-addr
127.Op Fl i
128.Ar addrobj
129.Nm
130.Cm down-addr
131.Op Fl t
132.Ar addrobj
133.Nm
134.Cm up-addr
135.Op Fl t
136.Ar addrobj
137.Nm
138.Cm disable-addr
139.Op Fl t
140.Ar addrobj
141.Nm
142.Cm enable-addr
143.Op Fl t
144.Ar addrobj
145.Pp
146.Nm
147.Cm 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.Cm reset-addrprop
153.Op Fl t
154.Fl p Ar prop
155.Ar addrobj
156.Nm
157.Cm 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 | interface Ns No /
161.Pp
162.Nm
163.Cm 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.Cm reset-prop
170.Op Fl t
171.Fl p Ar prop
172.Ar protocol
173.Nm
174.Cm 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.Cm show-addr .
227.Pp
228The following subcommands are supported:
229.Pp
230.Bl -tag -compact -width Ds
231.It Xo
232.Nm
233.Cm help
234.Xc
235Display brief command usage.
236.Pp
237.It Xo
238.Nm
239.Cm create-if
240.Op Fl t
241.Ar interface
242.Xc
243.It Xo
244.Nm
245.Cm 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.Cm create-if
255and
256.Cm 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.Cm delete-if
266.Ar interface
267.Xc
268.It Xo
269.Nm
270.Cm delete-ip
271.Ar interface
272.Xc
273Permanently delete the specified IP interface.
274The subcommands
275.Cm delete-if
276and
277.Cm delete-ip
278are functionally equivalent aliases of each other.
279.Pp
280.It Xo
281.Nm
282.Cm 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.Cm delete-ipmp
301.Ar ipmp-interface
302.Xc
303Permanently delete the IPMP interface.
304.Pp
305.It Xo
306.Nm
307.Cm 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.Cm 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.Cm 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.Cm 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.Cm 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.Cm 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.Cm 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 Cm 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.Cm 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 Cm set-ifprop
541subcommand for the list of property names.
542.El
543.Pp
544.It Xo
545.Nm
546.Cm 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 Cm 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.Cm 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 .
615Note 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.Cm 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.Cm 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.Cm show-addr
663.Op Oo Fl p Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
664.Op Ar addrobj | interface Ns No /
665.Xc
666Show the current address properties; optionally limited to those for the
667provided
668.Ar addrobj
669or for all address objects on the specified
670.Ar interface .
671.Bl -tag -width Ds
672.It Fl o Ns \&, Ns Fl -output
673Select which fields will be shown.
674The field value can be one of the following names:
675.Bl -tag -compact -width "PERSISTENT"
676.It Cm ALL
677Display all fields.
678.It Cm ADDROBJ
679The name of the address.
680.It Cm TYPE
681The type of the address
682.Pq Sy static Ns / Ns Sy dhcp Ns / Ns Sy addrconf .
683.It Cm STATE
684The state of the address.
685It can be one of the following values:
686.Bl -tag -compact -width "inaccessible"
687.It Sy disabled
688see the
689.Nm ipadm Cm disable-addr
690subcommand
691.It Sy down
692see the
693.Nm ipadm Cm down-addr
694subcommand
695.It Sy duplicate
696the address is duplicate
697.It Sy inaccessible
698the interface for this address has failed
699.It Sy ok
700the address is up
701.It Sy tentative
702duplicate address detection in progress
703.El
704.It Cm CURRENT
705A set of single character flags indicating the following:
706.Bl -tag -compact -width "U"
707.It Sy U
708up
709.It Sy u
710unnumbered
711.Pq matches another local address
712.It Sy p
713private, not advertised to routing
714.It Sy t
715temporary IPv6 address
716.It Sy d
717deprecated
718.Pq not used for outgoing packets
719.El
720.It Cm PERSISTENT
721A set of single character flags showing the configuration which will be used
722when the address is enabled.
723.Bl -tag -compact -width "U"
724.It Sy U
725up
726.It Sy p
727private, not advertised to routing
728.It Sy d
729deprecated
730.Pq not used for outgoing packets
731.El
732.It Cm ADDR
733The address.
734.El
735.It Fl p Ns \&, Ns Fl -parsable
736Print the output in a parsable format.
737.El
738.Pp
739.It Xo
740.Nm
741.Cm refresh-addr
742.Op Fl i
743.Ar addrobj
744.Xc
745Extend the lease for
746.Sy DHCP
747addresses.
748It also restarts duplicate address detection for
749.Cm static
750addresses.
751.Bl -tag -width ""
752.It Fl i Ns \&, Ns Fl -inform
753Obtain network configuration from DHCP without taking a lease on the address.
754.El
755.Pp
756.It Xo
757.Nm
758.Cm down-addr
759.Op Fl t
760.Ar addrobj
761.Xc
762Down the address.
763This will stop packets from being sent or received.
764.Bl -tag -width Ds
765.It Fl t Ns \&, Ns Fl -temporary
766Temporary, not persistent across reboots.
767.El
768.Pp
769.It Xo
770.Nm
771.Cm up-addr
772.Op Fl t
773.Ar addrobj
774.Xc
775Up the address.
776This will enable packets to be sent and received.
777.Bl -tag -width Ds
778.It Fl t Ns \&, Ns Fl -temporary
779Temporary, not persistent across reboots.
780.El
781.Pp
782.It Xo
783.Nm
784.Cm disable-addr
785.Op Fl t
786.Ar addrobj
787.Xc
788Disable the address.
789.Bl -tag -width Ds
790.It Fl t Ns \&, Ns Fl -temporary
791Temporary, not persistent across reboots.
792.El
793.Pp
794.It Xo
795.Nm
796.Cm enable-addr
797.Op Fl t
798.Ar addrobj
799.Xc
800Enable the address.
801.Bl -tag -width Ds
802.It Fl t Ns \&, Ns Fl -temporary
803Temporary, not persistent across reboots.
804.El
805.Pp
806.It Xo
807.Nm
808.Cm set-addrprop
809.Op Fl t
810.Fl p Ar prop Ns = Ns Ar value Ns Oo , Ns Ar value Oc Ns ...
811.Ar addrobj
812.Xc
813Set a property's value(s) on the specified
814.Ar addrobj .
815.Bl -tag -width Ds
816.It Fl p Ns \&, Ns Fl -prop
817Specify the property name and value(s).
818The property name can be one of the following:
819.Bl -tag -compact -width "deprecated"
820.It Cm broadcast
821The broadcast address (read-only).
822.It Cm deprecated
823The address should not be used to send packets but can still receive packets
824.Pq Cm on Ns / Ns Cm off .
825.It Cm prefixlen
826The number of bits in the IPv4 netmask or IPv6 prefix.
827.It Cm primary
828The DHCP primary interface flag (read-only).
829.It Cm private
830The address is not advertised to routing
831.Pq Cm on Ns / Ns Cm off .
832.It Cm reqhost
833The host name to send to the DHCP server in order to request an association
834of the FQDN to the interface.
835For a primary DHCP interface,
836.Xr nodename 5
837is sent if this property is not defined.
838See the
839.Nm
840.Cm create-addr
841.Fl T Cm dhcp
842subcommand for the explanation of how an FQDN is determined.
843.It Cm transmit
844Packets can be transmitted
845.Pq Cm on Ns / Ns Cm off .
846.It Cm zone
847The zone the addrobj is in
848.Po temporary-only \(em use
849.Xr zonecfg 8
850to make persistent
851.Pc .
852.El
853.It Fl t Ns \&, Ns Fl -temporary
854Temporary, not persistent across reboots.
855.El
856.Pp
857.It Xo
858.Nm
859.Cm reset-addrprop
860.Op Fl t
861.Fl p Ar prop
862.Ar addrobj
863.Xc
864Reset the
865.Ar addrobj Ns No 's
866property value to the default.
867.Bl -tag -width Ds
868.It Fl p Ns \&, Ns Fl -prop
869Specify the property name.
870See the
871.Nm ipadm Cm set-addrprop
872subcommand for the list of property names.
873.It Fl t Ns \&, Ns Fl -temporary
874Temporary, not persistent across reboots.
875.El
876.Pp
877.It Xo
878.Nm
879.Cm show-addrprop
880.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
881.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
882.Op Ar addrobj | interface Ns No /
883.Xc
884Display property values; optionally limited to those for the provided
885.Ar addrobj
886or for all address objects on the specified
887.Ar interface .
888.Bl -tag -width Ds
889.It Fl c Ns \&, Ns Fl -parsable
890Print the output in a parsable format.
891.It Fl o Ns \&, Ns Fl -output
892Select which fields will be shown.
893The field value can be one of the following names:
894.Bl -tag -compact -width "PERSISTENT"
895.It Cm ALL
896Display all fields.
897.It Cm ADDROBJ
898The name of the addrobj.
899.It Cm PROPERTY
900The name of the property.
901.It Cm PERM
902If the property is readable
903.Pq Qq r
904and/or writable
905.Pq Qq w .
906.It Cm CURRENT
907The value of the property.
908.It Cm PERSISTENT
909The persistent value of the property.
910.It Cm DEFAULT
911The default value of the property.
912.It Cm POSSIBLE
913The possible values for the property.
914.El
915.It Fl p Ns \&, Ns Fl -prop
916Specify which properties to display.
917See the
918.Nm ipadm Cm set-addrprop
919subcommand for the list of property names.
920.El
921.Pp
922.It Xo
923.Nm
924.Cm set-prop
925.Op Fl t
926.Fl p Ar prop Ns Oo Cm + Ns | Ns Cm - Oc Ns = Ns
927.Ar value Ns Oo , Ns Ar value Oc Ns ...
928.Ar protocol
929.Xc
930Set a property's value(s) on the protocol.
931.Bl -tag -width Ds
932.It Fl p Ns \&, Ns Fl -prop
933Specify the property name and value(s).
934The optional
935.Sy + Ns | Ns Sy -
936syntax can be used to add/remove values from the current list of values on the
937property.
938The property name can be one of the following:
939.Bl -tag -compact -width "smallest_nonpriv_port"
940.It Cm congestion_control
941The default congestion-control algorithm to be used for new connections
942.Pq TCP .
943.It Cm ecn
944Explicit congestion control
945.Pq Cm never Ns / Ns Cm passive Ns / Ns Cm active
946.Pq TCP .
947.It Cm extra_priv_ports
948Additional privileged ports
949.Pq SCTP/TCP/UDP .
950.It Cm forwarding
951Packet forwarding
952.Pq Cm on Ns / Ns Cm off .
953.It Cm hoplimit
954The IPv6 hoplimit.
955.It Cm hostmodel
956IP packet handling on multi-homed systems
957.Pq Cm weak Ns / Ns Cm strong Ns / Ns Cm src-priority
958.Pq IPv4/IPv6 .
959.Cm weak
960and
961.Cm strong
962correspond to the model definitions defined in RFC 1122.
963.Cm src-priority
964is a hybrid mode where outbound packets are sent from the interface with the
965packet's source address if possible.
966.It Cm largest_anon_port
967Largest ephemeral port
968.Pq SCTP/TCP/UDP .
969.It Cm max_buf
970Maximum receive or send buffer size
971.Pq ICMP/SCTP/TCP/UDP .
972This also sets the upper limit for the
973.Cm recv_buf
974and
975.Cm send_buf
976properties.
977.It Cm recv_buf
978Default receive buffer size
979.Pq ICMP/SCTP/TCP/UDP .
980The maximum value for this property is controlled by the
981.Cm max_buf
982property.
983.It Cm sack
984Selective acknowledgement
985.Pq Cm active Ns / Ns Cm passive Ns / Ns Cm never
986.Pq TCP .
987.It Cm send_buf
988Default send buffer size
989.Pq ICMP/SCTP/TCP/UDP .
990The maximum value for this property is controlled by the
991.Cm max_buf
992property.
993.It Cm smallest_anon_port
994Smallest ephemeral port
995.Pq SCTP/TCP/UDP .
996.It Cm smallest_nonpriv_port
997Smallest non-privileged port
998.Pq SCTP/TCP/UDP .
999.It Cm ttl
1000The IPv4 time-to-live.
1001.El
1002.It Fl t Ns \&, Ns Fl -temporary
1003Temporary, not persistent across reboots.
1004.El
1005.Pp
1006.It Xo
1007.Nm
1008.Cm reset-prop
1009.Op Fl t
1010.Fl p Ar prop
1011.Ar protocol
1012.Xc
1013Reset a protocol's property value to the default.
1014.Bl -tag -width Ds
1015.It Fl p Ns \&, Ns Fl -prop
1016Specify the property name.
1017See the
1018.Nm ipadm Cm set-prop
1019subcommand for the list of property names.
1020.It Fl t Ns \&, Ns Fl -temporary
1021Temporary, not persistent across reboots.
1022.El
1023.Pp
1024.It Xo
1025.Nm
1026.Cm show-prop
1027.Op Oo Fl c Oc Fl o Ar field Ns Oo , Ns Ar field Oc Ns ...
1028.Op Fl p Ar prop Ns Oo , Ns Ar prop Oc Ns ...
1029.Op Ar protocol
1030.Xc
1031Display the property values for one or all of the protocols.
1032.Bl -tag -width Ds
1033.It Fl c Ns \&, Ns Fl -parsable
1034Print the output in a parsable format.
1035.It Fl o Ns \&, Ns Fl -output
1036Select which fields will be shown.
1037The field value can be one of the following names:
1038.Bl -tag -compact -width "PERSISTENT"
1039.It Cm ALL
1040Display all fields.
1041.It Cm PROTO
1042The name of the protocol.
1043.It Cm PROPERTY
1044The name of the property.
1045.It Cm PERM
1046If the property is readable
1047.Pq Qq r
1048and/or writable
1049.Pq Qq w .
1050.It Cm CURRENT
1051The value of the property.
1052.It Cm PERSISTENT
1053The persistent value of the property.
1054.It Cm DEFAULT
1055The default value of the property.
1056.It Cm POSSIBLE
1057The possible values for the property.
1058.El
1059.It Fl p Ns \&, Ns Fl -prop
1060Specify which properties to display.
1061See the
1062.Nm ipadm Cm set-prop
1063subcommand for the list of property names.
1064.El
1065.El
1066.Sh SEE ALSO
1067.Xr nodename 5 ,
1068.Xr nsswitch.conf 5 ,
1069.Xr dhcp 7 ,
1070.Xr arp 8 ,
1071.Xr cfgadm 8 ,
1072.Xr dhcpagent 8 ,
1073.Xr dladm 8 ,
1074.Xr if_mpadm 8 ,
1075.Xr ifconfig 8 ,
1076.Xr ndd 8 ,
1077.Xr zonecfg 8
1078