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