pub struct FillQueue { /* private fields */ }
Expand description

Used to transfer ownership of Umem frames from user-space to kernel-space.

These frames will be used to receive packets, and will eventually be returned via the RxQueue.

For more information see the docs.

Implementations

Let the kernel know that the Umem frames described by descs may be used to receive data. Returns the number of frames submitted to the kernel.

Note that if the length of descs is greater than the number of available spaces on the underlying ring buffer then no frames at all will be handed over to the kernel.

Once the frames have been submitted to this queue they should not be used again until consumed via the RxQueue.

Safety

This function is unsafe as it is possible to cause a data race if used improperly. For example, by simultaneously submitting the same frame descriptor to this FillQueue and the TxQueue.

Furthermore, the frames passed to this queue must belong to the same Umem that this FillQueue instance is tied to.

Same as produce but for a single frame descriptor.

Safety

See produce.

Same as produce but wake up the kernel if required to let it know there are frames available that may be used to receive data.

For more details see the docs.

Safety

See produce.

Same as produce_and_wakeup but for a single frame descriptor.

Safety

See produce.

Wake up the kernel to let it know it can continue using the fill ring to process received data.

See produce_and_wakeup for link to docs with further explanation.

Check if the XDP_USE_NEED_WAKEUP flag is set on the fill ring. If so then this means a call to wakeup will be required to continue processing received data.

See produce_and_wakeup for a link to docs with further explanation.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.