pub enum RouteSetV6Request {
AuthenticateForInterface {
credential: ProofOfInterfaceAuthorization,
responder: RouteSetV6AuthenticateForInterfaceResponder,
},
AddRoute {
route: RouteV6,
responder: RouteSetV6AddRouteResponder,
},
RemoveRoute {
route: RouteV6,
responder: RouteSetV6RemoveRouteResponder,
},
}
Expand description
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.
Variants§
AuthenticateForInterface
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.
Fields
credential: ProofOfInterfaceAuthorization
responder: RouteSetV6AuthenticateForInterfaceResponder
AddRoute
Adds a route to this route set.
- request
route
the route to add.
- response
did_add
true iff the route was added to thisRouteSet
as a result of this call.
RemoveRoute
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 thisRouteSet
as a result of this call.
Implementations§
Source§impl RouteSetV6Request
impl RouteSetV6Request
pub fn into_authenticate_for_interface( self, ) -> Option<(ProofOfInterfaceAuthorization, RouteSetV6AuthenticateForInterfaceResponder)>
pub fn into_add_route(self) -> Option<(RouteV6, RouteSetV6AddRouteResponder)>
pub fn into_remove_route( self, ) -> Option<(RouteV6, RouteSetV6RemoveRouteResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL