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