pub enum IcmpIpTransportContext {}
Expand description
An implementation of IpTransportContext
for ICMP.
Trait Implementations§
Source§impl<BC: IcmpBindingsContext, CC: InnerIcmpv4Context<BC> + PmtuHandler<Ipv4, BC> + CounterContext<IcmpRxCounters<Ipv4>> + CounterContext<IcmpTxCounters<Ipv4>>> IpTransportContext<Ipv4, BC, CC> for IcmpIpTransportContext
impl<BC: IcmpBindingsContext, CC: InnerIcmpv4Context<BC> + PmtuHandler<Ipv4, BC> + CounterContext<IcmpRxCounters<Ipv4>> + CounterContext<IcmpTxCounters<Ipv4>>> IpTransportContext<Ipv4, BC, CC> for IcmpIpTransportContext
Source§fn receive_icmp_error(
core_ctx: &mut CC,
bindings_ctx: &mut BC,
device: &CC::DeviceId,
original_src_ip: Option<SpecifiedAddr<Ipv4Addr>>,
original_dst_ip: SpecifiedAddr<Ipv4Addr>,
original_body: &[u8],
err: Icmpv4ErrorCode,
)
fn receive_icmp_error( core_ctx: &mut CC, bindings_ctx: &mut BC, device: &CC::DeviceId, original_src_ip: Option<SpecifiedAddr<Ipv4Addr>>, original_dst_ip: SpecifiedAddr<Ipv4Addr>, original_body: &[u8], err: Icmpv4ErrorCode, )
Receive an ICMP error message. Read more
Source§fn receive_ip_packet<B: BufferMut, H: IpHeaderInfo<Ipv4>>(
core_ctx: &mut CC,
bindings_ctx: &mut BC,
device: &CC::DeviceId,
src_ip: Ipv4Addr,
dst_ip: SpecifiedAddr<Ipv4Addr>,
buffer: B,
info: &LocalDeliveryPacketInfo<Ipv4, H>,
) -> Result<(), (B, TransportReceiveError)>
fn receive_ip_packet<B: BufferMut, H: IpHeaderInfo<Ipv4>>( core_ctx: &mut CC, bindings_ctx: &mut BC, device: &CC::DeviceId, src_ip: Ipv4Addr, dst_ip: SpecifiedAddr<Ipv4Addr>, buffer: B, info: &LocalDeliveryPacketInfo<Ipv4, H>, ) -> Result<(), (B, TransportReceiveError)>
Receive a transport layer packet in an IP packet. Read more
Source§impl<BC: IcmpBindingsContext, CC: InnerIcmpv6Context<BC> + InnerIcmpContext<Ipv6, BC> + Ipv6DeviceHandler<BC> + IpDeviceHandler<Ipv6, BC> + IpDeviceIngressStateContext<Ipv6> + PmtuHandler<Ipv6, BC> + NudIpHandler<Ipv6, BC> + IpLayerHandler<Ipv6, BC> + CounterContext<IcmpRxCounters<Ipv6>> + CounterContext<IcmpTxCounters<Ipv6>> + CounterContext<NdpCounters>> IpTransportContext<Ipv6, BC, CC> for IcmpIpTransportContext
impl<BC: IcmpBindingsContext, CC: InnerIcmpv6Context<BC> + InnerIcmpContext<Ipv6, BC> + Ipv6DeviceHandler<BC> + IpDeviceHandler<Ipv6, BC> + IpDeviceIngressStateContext<Ipv6> + PmtuHandler<Ipv6, BC> + NudIpHandler<Ipv6, BC> + IpLayerHandler<Ipv6, BC> + CounterContext<IcmpRxCounters<Ipv6>> + CounterContext<IcmpTxCounters<Ipv6>> + CounterContext<NdpCounters>> IpTransportContext<Ipv6, BC, CC> for IcmpIpTransportContext
Source§fn receive_icmp_error(
core_ctx: &mut CC,
bindings_ctx: &mut BC,
device: &CC::DeviceId,
original_src_ip: Option<SpecifiedAddr<Ipv6Addr>>,
original_dst_ip: SpecifiedAddr<Ipv6Addr>,
original_body: &[u8],
err: Icmpv6ErrorCode,
)
fn receive_icmp_error( core_ctx: &mut CC, bindings_ctx: &mut BC, device: &CC::DeviceId, original_src_ip: Option<SpecifiedAddr<Ipv6Addr>>, original_dst_ip: SpecifiedAddr<Ipv6Addr>, original_body: &[u8], err: Icmpv6ErrorCode, )
Receive an ICMP error message. Read more
Source§fn receive_ip_packet<B: BufferMut, H: IpHeaderInfo<Ipv6>>(
core_ctx: &mut CC,
bindings_ctx: &mut BC,
device: &CC::DeviceId,
src_ip: Ipv6SourceAddr,
dst_ip: SpecifiedAddr<Ipv6Addr>,
buffer: B,
info: &LocalDeliveryPacketInfo<Ipv6, H>,
) -> Result<(), (B, TransportReceiveError)>
fn receive_ip_packet<B: BufferMut, H: IpHeaderInfo<Ipv6>>( core_ctx: &mut CC, bindings_ctx: &mut BC, device: &CC::DeviceId, src_ip: Ipv6SourceAddr, dst_ip: SpecifiedAddr<Ipv6Addr>, buffer: B, info: &LocalDeliveryPacketInfo<Ipv6, H>, ) -> Result<(), (B, TransportReceiveError)>
Receive a transport layer packet in an IP packet. Read more
Auto Trait Implementations§
impl Freeze for IcmpIpTransportContext
impl RefUnwindSafe for IcmpIpTransportContext
impl Send for IcmpIpTransportContext
impl Sync for IcmpIpTransportContext
impl Unpin for IcmpIpTransportContext
impl UnwindSafe for IcmpIpTransportContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
impl<CC, BC, Meta> RecvFrameContext<Meta, BC> for CCwhere
Meta: ReceivableFrameMeta<CC, BC>,
Source§impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CCwhere
Meta: SendableFrameMeta<CC, BC>,
Source§fn send_frame<S>(
&mut self,
bindings_ctx: &mut BC,
metadata: Meta,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>where
S: Serializer,
<S as Serializer>::Buffer: BufferMut,
fn send_frame<S>(
&mut self,
bindings_ctx: &mut BC,
metadata: Meta,
frame: S,
) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>where
S: Serializer,
<S as Serializer>::Buffer: BufferMut,
Send a frame. Read more
Source§impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
impl<Id, CC, BC> TimerHandler<BC, Id> for CCwhere
BC: TimerBindingsTypes,
Id: HandleableTimer<CC, BC>,
Source§fn handle_timer(
&mut self,
bindings_ctx: &mut BC,
dispatch: Id,
timer: <BC as TimerBindingsTypes>::UniqueTimerId,
)
fn handle_timer( &mut self, bindings_ctx: &mut BC, dispatch: Id, timer: <BC as TimerBindingsTypes>::UniqueTimerId, )
Handle a timer firing. Read more