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