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