class RouteSetV6

Defined at line 7103 of file fidling/gen/sdk/fidl/fuchsia.net.routes.admin/fuchsia.net.routes.admin/hlcpp/fuchsia/net/routes/admin/cpp/fidl.h

Provides mutable access over a set of system's IPv6 routes.

The system maintains a single global routing table. A route set offers an

isolated window into a subset of the global routing table: clients are free

to manage the routes within their own route set, but not the route set of

others. Thus the global routing table represents the union of all existing

route sets. A route must be removed from all route sets to which it belongs

before it will be removed from the global table.

This protocol encodes the lifetime of the route set. Closing the client end

removes the route set, and will also remove any routes that were

solely-owned by this route set.

Note that the system reserves the right to remove routes out from underneath

this route set. This will always manifest as a `removed` event on the

[`fuchsia.net.routes/WatcherV6`] protocol.

If the route table backing this route set is removed, then this protocol

will be closed with a `ZX_ERR_UNAVAILABLE` epitaph.

Public Methods

void ~RouteSetV6 ()
void AuthenticateForInterface (::fuchsia::net::resources::ProofOfInterfaceAuthorization credential, AuthenticateForInterfaceCallback callback)

Authenticate this route set to manage routes on the provided interface.

Authentication is valid for the lifetime of the route set.

+ request `interface` the authentication credential for an interface.

void AddRoute (::fuchsia::net::routes::RouteV6 route, AddRouteCallback callback)

Adds a route to this route set.

+ request `route` the route to add.

- response `did_add` true iff the route was added to this `RouteSet`

as a result of this call.

void RemoveRoute (::fuchsia::net::routes::RouteV6 route, RemoveRouteCallback callback)

Removes a route from this route set.

Note that if this route also exists other route sets, it will not be

removed from the global routing table.

+ request `route` the route to remove.

- response `did_remove` true iff the route was removed from this

`RouteSet` as a result of this call.