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 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
250 the interface is offline
251 .It Sy failed
252 the interface's datalink is down
253 .It Sy down
254 the interface is down
255 .It Sy disabled
256 the interface is disabled
257 .El
258 .It Cm CURRENT
259 A set of single character flags indicating the following:
260 .Bl -tag -compact -width "b"
261 .It Sy b
262 broadcast (mutually exclusive with
263 .Sq p )
264 .It Sy m
265 multicast
266 .It Sy p
267 point-to-point (mutually exclusive with
268 .Sq b )
269 .It Sy v
270 virtual interface
271 .It Sy I
272 IPMP
273 .It Sy s
274 IPMP standby
275 .It Sy i
276 IPMP inactive
277 .It Sy V
278 VRRP
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 .
320 .It Cm exchange_routes
321 Exchange of routing data
322 .Pq Cm on Ns / Ns Cm off .
323 .It Cm forwarding
324 IP Forwarding
325 .Pq Cm on Ns / Ns Cm off
326 .It Cm metric
327 Set the routing metric to the numeric value.
328 The value is treated as extra hops to the destination.
329 .It Cm mtu
330 Set the maximum transmission unit to the numeric value.
331 .It Cm nud
332 Neighbor unreachability detection
333 .Pq Cm on Ns / Ns Cm off
334 .It Cm usesrc
335 Indicates which interface to use for source address selection.
336 A value
337 .Cm none
338 may also be used.
339 .El
340 .It Fl t Ns \&, Ns Fl -temporary
341 Temporary, not persistent across reboots.
342 .El
343 .It Xo
344 .Nm
345 .Ic reset-ifprop
346 .Op Fl t
347 .Fl p Ar prop
348 .Fl m Ar protocol
349 .Ar interface
350 .Xc
351 Reset the specified IP interface's property value to the default.
352 .Bl -tag -width Ds
353 .It Fl m Ns \&, Ns Fl -module
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
395 The value of the property.
396 .It Cm PERSISTENT
397 The persistent value of the property.
398 .It Cm DEFAULT
399 The default value of the property.
400 .It Cm POSSIBLE
401 The possible values for the property.
402 .El
403 .It Fl p Ns \&, Ns Fl -prop
404 Specify which properties to display.
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.
446 .El
447 .It Xo
448 .Nm
449 .Ic create-addr
450 .Op Fl t
451 .Fl T Cm dhcp
452 .Op Fl 1
453 .Op Fl h Ar hostname
454 .Op Fl w Bro Ar seconds Ns | Ns Cm forever Brc
455 .Ar addrobj
456 .Xc
457 Create an address on the specified IP interface using DHCP.
458 This takes the following options:
459 .Bl -tag -width Ds
460 .It Fl 1 Ns \&, Ns Fl -primary
461 Specify that the interface is primary.
462 One effect will be that
463 .Xr nodename 4
464 will serve as
465 .Fl h Ns \&, Ns Fl -reqhost
466 if that switch is not otherwise specified.
467 .It Fl h Ns \&, Ns Fl -reqhost
468 Specify the host name to send to the DHCP server in order to request an
469 association of a Fully Qualified Domain Name to the interface.
470 An FQDN is determined from
471 .Ar hostname
472 if it is "rooted" (ending in a '.'), or if it consists of at least three
473 DNS labels, or by appending to
474 .Ar hostname
475 the DNS domain name value configured in
476 .Pa /etc/default/dhcpagent
477 for
478 .Xr dhcpagent 1m .
479 N.b. that the DHCP server implementation ultimately determines whether and
480 how the client-sent FQDN is used.
481 .It Fl t Ns \&, Ns Fl -temporary
482 Temporary, not persistent across reboots.
483 .It Fl w Ns \&, Ns Fl -wait
484 Specify the time, in seconds, that the command should wait to obtain an
485 address; or specify
486 .Cm forever
487 to wait without interruption.
488 The default value is 120.
489 .El
490 .It Xo
491 .Nm
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:
594 .Bl -tag -compact -width "PERSISTENT"
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).
679 .It Cm private
680 The address is not advertised to routing
681 .Pq Cm on Ns / Ns Cm off .
682 .It Cm reqhost
683 The host name to send to the DHCP server in order to request an association
684 of the FQDN to the interface.
685 For a primary DHCP interface,
686 .Xr nodename 4
687 is sent if this property is not defined.
688 See the
689 .Nm
690 .Ic create-addr
691 .Fl T Cm dhcp
692 subcommand for the explanation of how an FQDN is determined.
693 .It Cm transmit
694 Packets can be transmitted
695 .Pq Cm on Ns / Ns Cm off .
696 .It Cm zone
697 The zone the addrobj is in (temporary-only--use
698 .Xr zonecfg 1M
699 to make persistent).
700 .El
701 .It Fl t Ns \&, Ns Fl -temporary
702 Temporary, not persistent across reboots.
703 .El
704 .It Xo
705 .Nm
706 .Ic reset-addrprop
707 .Op Fl t
708 .Fl p Ar prop
709 .Ar addrobj
710 .Xc
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 .
783 .It Cm extra_priv_ports
784 Additional privileged ports
785 .Pq SCTP/TCP/UDP .
786 .It Cm forwarding
787 Packet forwarding
788 .Pq Cm on Ns / Ns Cm off .
789 .It Cm hoplimit
790 The IPv6 hoplimit.
791 .It Cm largest_anon_port
792 Largest ephemeral port
793 .Pq SCTP/TCP/UDP .
794 .It Cm max_buf
795 Maximum receive or send buffer size
796 .Pq ICMP/SCTP/TCP/UDP .
797 This also sets the upper limit for the
798 .Cm recv_buf
799 and
800 .Cm send_buf
801 properties.
802 .It Cm recv_buf
803 Default receive buffer size
804 .Pq ICMP/SCTP/TCP/UDP .
805 The maximum value for this property is controlled by the
806 .Cm max_buf
807 property.
808 .It Cm sack
809 Selective acknowledgement
810 .Pq Cm active Ns / Ns Cm passive Ns / Ns Cm never
811 .Pq TCP .
812 .It Cm send_buf
813 Default send buffer size
814 .Pq ICMP/SCTP/TCP/UDP .
815 The maximum value for this property is controlled by the
816 .Cm max_buf
817 property.
818 .It Cm smallest_anon_port
819 Smallest ephemeral port
820 .Pq SCTP/TCP/UDP .
821 .It Cm smallest_nonpriv_port
822 Smallest non-privileged port
823 .Pq SCTP/TCP/UDP .
824 .It Cm ttl
825 The IPv4 time-to-live.
826 .El
827 .It Fl t Ns \&, Ns Fl -temporary
828 Temporary, not persistent across reboots.
829 .El
830 .It Xo
831 .Nm
832 .Ic reset-prop
833 .Op Fl t
834 .Fl p Ar prop
835 .Ar protocol
836 .Xc
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
878 The default value of the property.
879 .It Cm POSSIBLE
880 The possible values for the property.
881 .El
882 .It Fl p Ns \&, Ns Fl -prop
883 Specify which properties to display.
884 See the
885 .Nm ipadm Ic set-prop
886 subcommand for the list of property names.
887 .El
888 .El
889 .Sh SEE ALSO
890 .Xr arp 1M ,
891 .Xr cfgadm 1M ,
892 .Xr dhcpagent 1M ,
893 .Xr dladm 1M ,
894 .Xr if_mpadm 1M ,
895 .Xr ifconfig 1M ,
896 .Xr ndd 1M ,
897 .Xr zonecfg 1M ,
898 .Xr nodename 4 ,
899 .Xr nsswitch.conf 4 ,
900 .Xr dhcp 5