#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct EthernetPortTransmitModeConfiguration
{
pub multiQueuePacketTransmitMode: MultiQueuePacketTransmitMode,
pub portBasedVlanInsertId: u16,
pub hardwareShouldRejectSendingOutVlanTaggedPackets: bool,
pub hardwareShouldRejectSendingOutVlanUntaggedPackets: bool,
pub hardwarePortBasedVlanInsertionEnabled: bool,
}
impl Default for EthernetPortTransmitModeConfiguration
{
#[inline(always)]
fn default() -> Self
{
EthernetPortTransmitModeConfiguration
{
multiQueuePacketTransmitMode: MultiQueuePacketTransmitMode::default(),
portBasedVlanInsertId: 0,
hardwareShouldRejectSendingOutVlanTaggedPackets: false,
hardwareShouldRejectSendingOutVlanUntaggedPackets: false,
hardwarePortBasedVlanInsertionEnabled: false,
}
}
}
impl EthernetPortTransmitModeConfiguration
{
#[inline(always)]
pub fn as_rte_eth_txmode(&self) -> rte_eth_txmode
{
let mut txmode = rte_eth_txmode
{
mq_mode: self.multiQueuePacketTransmitMode.as_rte_eth_tx_mq_mode(),
pvid: self.portBasedVlanInsertId,
__bindgen_bitfield: 0,
};
unsafe
{
rust_rte_eth_txmode_setBitFields
(
&mut txmode,
self.hardwareShouldRejectSendingOutVlanTaggedPackets,
self.hardwareShouldRejectSendingOutVlanUntaggedPackets,
self.hardwarePortBasedVlanInsertionEnabled
)
}
txmode
}
}