class AddressParameters

Defined at line 380 of file fidling/gen/sdk/fidl/fuchsia.net.interfaces.admin/fuchsia.net.interfaces.admin/cpp/fidl/fuchsia.net.interfaces.admin/cpp/natural_types.h

Address assignment parameters.

Public Methods

void AddressParameters (Storage_ storage)
void AddressParameters ()

Defined at line 385 of file fidling/gen/sdk/fidl/fuchsia.net.interfaces.admin/fuchsia.net.interfaces.admin/cpp/fidl/fuchsia.net.interfaces.admin/cpp/natural_types.h

void AddressParameters (AddressParameters && )

Defined at line 386 of file fidling/gen/sdk/fidl/fuchsia.net.interfaces.admin/fuchsia.net.interfaces.admin/cpp/fidl/fuchsia.net.interfaces.admin/cpp/natural_types.h

void AddressParameters (const AddressParameters & other)
AddressParameters & operator= (AddressParameters && )

Defined at line 387 of file fidling/gen/sdk/fidl/fuchsia.net.interfaces.admin/fuchsia.net.interfaces.admin/cpp/fidl/fuchsia.net.interfaces.admin/cpp/natural_types.h

AddressParameters & operator= (const AddressParameters & other)
bool operator== (const AddressParameters & other)
bool operator!= (const AddressParameters & other)
bool IsEmpty ()
const std::optional< ::fuchsia_net_interfaces_admin::AddressProperties> & initial_properties ()

The initial properties of the address.

If not set, interpreted as an empty `AddressProperties`.

::std::optional< ::fuchsia_net_interfaces_admin::AddressProperties> & initial_properties ()

The initial properties of the address.

If not set, interpreted as an empty `AddressProperties`.

AddressParameters & initial_properties (std::optional< ::fuchsia_net_interfaces_admin::AddressProperties> value)

The initial properties of the address.

If not set, interpreted as an empty `AddressProperties`.

const std::optional<bool> & temporary ()

True if the address is temporary.

A temporary address is intended to be used for a short period of time

(hours to days), and its lifetime may not be extended, as detailed in

[RFC 4941](https://tools.ietf.org/html/rfc4941).

Both temporary and non-temporary addresses have preferred and valid

lifetimes, but temporary addresses may not be renewed beyond their

initial lifetime.

Information used in source address selection; temporary addresses are

preferred over non-temporary addresses if both types are available, as

detailed in

[RFC 6724, section 5](https://tools.ietf.org/html/rfc6724#section-5).

If not set, interpreted as false.

::std::optional<bool> & temporary ()

True if the address is temporary.

A temporary address is intended to be used for a short period of time

(hours to days), and its lifetime may not be extended, as detailed in

[RFC 4941](https://tools.ietf.org/html/rfc4941).

Both temporary and non-temporary addresses have preferred and valid

lifetimes, but temporary addresses may not be renewed beyond their

initial lifetime.

Information used in source address selection; temporary addresses are

preferred over non-temporary addresses if both types are available, as

detailed in

[RFC 6724, section 5](https://tools.ietf.org/html/rfc6724#section-5).

If not set, interpreted as false.

AddressParameters & temporary (std::optional<bool> value)

True if the address is temporary.

A temporary address is intended to be used for a short period of time

(hours to days), and its lifetime may not be extended, as detailed in

[RFC 4941](https://tools.ietf.org/html/rfc4941).

Both temporary and non-temporary addresses have preferred and valid

lifetimes, but temporary addresses may not be renewed beyond their

initial lifetime.

Information used in source address selection; temporary addresses are

preferred over non-temporary addresses if both types are available, as

detailed in

[RFC 6724, section 5](https://tools.ietf.org/html/rfc6724#section-5).

If not set, interpreted as false.

const std::optional<bool> & add_subnet_route ()

True if the subnet route corresponding to the address should be

installed, and removed once the address is removed.

For example, if `Control#AddAddress` is called with 192.168.1.5/24, and

`add_subnet_route` is true, then a route with destination 192.168.1.0/24

will be installed through the interface the address is being added to.

If the address is removed for any reason, the route will also be

removed.

The subnet route is always installed in the main table (see

https://fxbug.dev/42074223#c13 for more details). In the future, we

should allow the user of this API to specify where the route should be

installed and provide proof of access.

::std::optional<bool> & add_subnet_route ()

True if the subnet route corresponding to the address should be

installed, and removed once the address is removed.

For example, if `Control#AddAddress` is called with 192.168.1.5/24, and

`add_subnet_route` is true, then a route with destination 192.168.1.0/24

will be installed through the interface the address is being added to.

If the address is removed for any reason, the route will also be

removed.

The subnet route is always installed in the main table (see

https://fxbug.dev/42074223#c13 for more details). In the future, we

should allow the user of this API to specify where the route should be

installed and provide proof of access.

AddressParameters & add_subnet_route (std::optional<bool> value)

True if the subnet route corresponding to the address should be

installed, and removed once the address is removed.

For example, if `Control#AddAddress` is called with 192.168.1.5/24, and

`add_subnet_route` is true, then a route with destination 192.168.1.0/24

will be installed through the interface the address is being added to.

If the address is removed for any reason, the route will also be

removed.

The subnet route is always installed in the main table (see

https://fxbug.dev/42074223#c13 for more details). In the future, we

should allow the user of this API to specify where the route should be

installed and provide proof of access.

const std::optional<bool> & perform_dad ()

True if Duplicate Address Detection (DAD) should be performed.

For IPv6, DAD is defined in RFC 4862, Section 5.4.

For IPv4, Address Conflict Detection (ACD) is defined in RFC 5227. For

simplicity's sake, both specifications are refered to as DAD on this

API.

If not set, interpreted as `true` for IPv6 addresses, and `false` for

IPv4 addresses.

Note, the `fuchsia.net.interfaces.admin/Control` API allows setting

per-interface DAD configuration. DAD will only be performed for a given

address if its interface's configuration allows for it. Setting this

property to `true` will not override the interface's DAD configuration.

::std::optional<bool> & perform_dad ()

True if Duplicate Address Detection (DAD) should be performed.

For IPv6, DAD is defined in RFC 4862, Section 5.4.

For IPv4, Address Conflict Detection (ACD) is defined in RFC 5227. For

simplicity's sake, both specifications are refered to as DAD on this

API.

If not set, interpreted as `true` for IPv6 addresses, and `false` for

IPv4 addresses.

Note, the `fuchsia.net.interfaces.admin/Control` API allows setting

per-interface DAD configuration. DAD will only be performed for a given

address if its interface's configuration allows for it. Setting this

property to `true` will not override the interface's DAD configuration.

AddressParameters & perform_dad (std::optional<bool> value)

True if Duplicate Address Detection (DAD) should be performed.

For IPv6, DAD is defined in RFC 4862, Section 5.4.

For IPv4, Address Conflict Detection (ACD) is defined in RFC 5227. For

simplicity's sake, both specifications are refered to as DAD on this

API.

If not set, interpreted as `true` for IPv6 addresses, and `false` for

IPv4 addresses.

Note, the `fuchsia.net.interfaces.admin/Control` API allows setting

per-interface DAD configuration. DAD will only be performed for a given

address if its interface's configuration allows for it. Setting this

property to `true` will not override the interface's DAD configuration.

void AddressParameters (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits