pub enum Ipv6RoutingTableControllerRequest {
AddRoute {
addresses: Ipv6UnicastSourceAndMulticastDestination,
route: Route,
responder: Ipv6RoutingTableControllerAddRouteResponder,
},
DelRoute {
addresses: Ipv6UnicastSourceAndMulticastDestination,
responder: Ipv6RoutingTableControllerDelRouteResponder,
},
GetRouteStats {
addresses: Ipv6UnicastSourceAndMulticastDestination,
responder: Ipv6RoutingTableControllerGetRouteStatsResponder,
},
WatchRoutingEvents {
responder: Ipv6RoutingTableControllerWatchRoutingEventsResponder,
},
}
Expand description
The IPv6 multicast routing controller.
Closing the client-end of the controller will disable multicast routing and clear the multicast routing table.
Variants§
AddRoute
Adds a route such that packets matching the addresses will be forwarded accordingly.
The provided addresses act as the key for the route; any existing route with the same addresses will be overwritten when this route is installed.
If a packet arrives at an interface different from the expected input
interface set in the route, the packet will not be forwarded and a
[RoutingEvent.wrong_input_interface
] event will be sent to the client.
See [WatchRoutingEvents
] for more details.
- request
addresses
the addresses used to identify a route. - request
route
the multicast route.
Fields
addresses: Ipv6UnicastSourceAndMulticastDestination
responder: Ipv6RoutingTableControllerAddRouteResponder
DelRoute
Delete a route.
- request
addresses
the addresses used to identify a route.
Fields
addresses: Ipv6UnicastSourceAndMulticastDestination
responder: Ipv6RoutingTableControllerDelRouteResponder
GetRouteStats
Get a snapshot of statistics about a specific route.
- request
addresses
the addresses used to identify a route.
Fields
addresses: Ipv6UnicastSourceAndMulticastDestination
WatchRoutingEvents
Watch for events triggered by multicast packets.
The server will queue events to return when this method is called. If no events are ready, the call will block until an event is ready. The server will drop new events if the client is not consuming them fast enough and return the number of events dropped in-between events.
It is invalid to call this method while a previous call is pending. Doing so will cause the server end of the protocol to be closed.
- response
dropped_events
the number of events that were dropped immediately before the returned event was queued. returned event. - response
addresses
the addresses in the multicast packet triggering the event. - response
input_interface
the interface the multicast packet triggering the event arrived at. - response
event
the event.
Fields
Implementations§
Source§impl Ipv6RoutingTableControllerRequest
impl Ipv6RoutingTableControllerRequest
pub fn into_add_route( self, ) -> Option<(Ipv6UnicastSourceAndMulticastDestination, Route, Ipv6RoutingTableControllerAddRouteResponder)>
pub fn into_del_route( self, ) -> Option<(Ipv6UnicastSourceAndMulticastDestination, Ipv6RoutingTableControllerDelRouteResponder)>
pub fn into_get_route_stats( self, ) -> Option<(Ipv6UnicastSourceAndMulticastDestination, Ipv6RoutingTableControllerGetRouteStatsResponder)>
pub fn into_watch_routing_events( self, ) -> Option<Ipv6RoutingTableControllerWatchRoutingEventsResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL