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
 
 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 .
 
 
 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
 
 
 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.
 
 
 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:
 
 
 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).
 
 
 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 .
 
 
 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
  
 | 
 
 
   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
 
 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 .
 
 
 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
 
 
 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.
 
 
 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:
 
 
 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).
 
 
 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 .
 
 
 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
  
 |