Skip to main content

IpDeviceSendContext

Trait IpDeviceSendContext 

Source
pub trait IpDeviceSendContext<I: IpExt, BC: TxMetadataBindingsTypes>: DeviceIdContext<AnyDevice> {
    // Required method
    fn send_ip_frame<S>(
        &mut self,
        bindings_ctx: &mut BC,
        device_id: &Self::DeviceId,
        destination: IpPacketDestination<I, &Self::DeviceId>,
        ip_layer_metadata: DeviceIpLayerMetadata<BC>,
        body: S,
        egress_proof: ProofOfEgressCheck,
    ) -> Result<(), SendFrameError<S>>
       where S: NetworkSerializer,
             S::Buffer: BufferMut;
}
Expand description

The execution context for an IP device with a buffer.

Required Methods§

Source

fn send_ip_frame<S>( &mut self, bindings_ctx: &mut BC, device_id: &Self::DeviceId, destination: IpPacketDestination<I, &Self::DeviceId>, ip_layer_metadata: DeviceIpLayerMetadata<BC>, body: S, egress_proof: ProofOfEgressCheck, ) -> Result<(), SendFrameError<S>>

Sends an IP packet through the device.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§