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