pub enum DeviceRouteRequest {
    RegisterOnMeshPrefix {
        prefix: OnMeshPrefix,
        responder: DeviceRouteRegisterOnMeshPrefixResponder,
    },
    UnregisterOnMeshPrefix {
        subnet: Ipv6AddressWithPrefix,
        responder: DeviceRouteUnregisterOnMeshPrefixResponder,
    },
    RegisterExternalRoute {
        external_route: ExternalRoute,
        responder: DeviceRouteRegisterExternalRouteResponder,
    },
    UnregisterExternalRoute {
        subnet: Ipv6AddressWithPrefix,
        responder: DeviceRouteUnregisterExternalRouteResponder,
    },
}
Expand description

LoWPAN protocol for IPv6 route and prefix management methods that do not expose PII.

Note that methods that deal with PII are located in the DeviceRouteExtra protocol.

Variants§

§

RegisterOnMeshPrefix

Registers an on-mesh prefix to be advertised on the current network.

Subsequent calls with the same value for the subnet field will update the properties associated with that on-mesh prefix.

These changes persist like adding an IP address would, and will stick around until explicitly removed or the interface component is reset/restarted.

If the given OnMeshPrefix structure is invalid for some reason (missing required fields, invalid values, etc), the channel will be closed with the epitaph ZX_ERR_INVALID_ARGS.

If registering a new on-mesh prefix and the maximum number of on-mesh prefixes has already been registered, this channel will be closed with the epitaph ZX_ERR_NO_RESOURCES.

§

UnregisterOnMeshPrefix

Fields

§subnet: Ipv6AddressWithPrefix

Unregisters any on-mesh prefix that was previously registered with RegisterOnMeshPrefix. It returns once the on-mesh prefix has been removed locally.

If the given mesh prefix was not previously registered, no action is taken.

§

RegisterExternalRoute

Registers an external route to be advertised on the current network.

Subsequent calls with the same value for the subnet field will update the properties associated with that route.

These changes persist like adding an IP address would, and will stick around until explicitly removed or the interface component is reset/restarted.

If the given ExternalRoute structure is invalid for some reason (missing required fields, invalid values, etc), the channel will be closed with the epitaph ZX_ERR_INVALID_ARGUMENT.

If registering a new external route and the maximum number of external routes has already been registered, this channel will be closed with the epitaph ZX_ERR_NO_RESOURCES.

§

UnregisterExternalRoute

Fields

§subnet: Ipv6AddressWithPrefix

Unregisters any external route that was previously registered with RegisterExternalRoute. It returns once the external route has been removed locally.

If the given external route was not previously registered, no action is taken.

Implementations§

Trait Implementations§

source§

impl Debug for DeviceRouteRequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more