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