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