---
name: "rte_pmd_ixgbe_set_vf_split_drop_en"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_pmd_ixgbe.h"
---

# rte\_pmd\_ixgbe\_set\_vf\_split\_drop\_en(3)

Part of [rte\_pmd\_ixgbe.h(3)](/rte_pmd_ixgbe.h/3.md).

## NAME

rte\_pmd\_ixgbe.h

## SYNOPSIS

`#include <rte_compat.h>`\
 `#include <rte_ethdev.h>`\
 `#include <rte_ether.h>`\

### Data Structures

struct **rte\_pmd\_ixgbe\_mb\_event\_param**\

### Enumerations

enum **rte\_pmd\_ixgbe\_mb\_event\_rsp** { **RTE\_PMD\_IXGBE\_MB\_EVENT\_NOOP\_ACK**, **RTE\_PMD\_IXGBE\_MB\_EVENT\_NOOP\_NACK**, **RTE\_PMD\_IXGBE\_MB\_EVENT\_PROCEED**, **RTE\_PMD\_IXGBE\_MB\_EVENT\_MAX** }\

### Functions

int **rte\_pmd\_ixgbe\_ping\_vf** (uint16\_t port, uint16\_t vf)\
 int **rte\_pmd\_ixgbe\_set\_vf\_mac\_addr** (uint16\_t port, uint16\_t vf, struct rte\_ether\_addr \*mac\_addr)\
 int **rte\_pmd\_ixgbe\_set\_vf\_vlan\_anti\_spoof** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_mac\_anti\_spoof** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_vlan\_insert** (uint16\_t port, uint16\_t vf, uint16\_t vlan\_id)\
 int **rte\_pmd\_ixgbe\_set\_tx\_loopback** (uint16\_t port, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_all\_queues\_drop\_en** (uint16\_t port, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_split\_drop\_en** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_vlan\_stripq** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_macsec\_enable** (uint16\_t port, uint8\_t en, uint8\_t rp)\
 int **rte\_pmd\_ixgbe\_macsec\_disable** (uint16\_t port)\
 int **rte\_pmd\_ixgbe\_macsec\_config\_txsc** (uint16\_t port, uint8\_t \*mac)\
 int **rte\_pmd\_ixgbe\_macsec\_config\_rxsc** (uint16\_t port, uint8\_t \*mac, uint16\_t pi)\
 int **rte\_pmd\_ixgbe\_macsec\_select\_txsa** (uint16\_t port, uint8\_t idx, uint8\_t an, uint32\_t pn, uint8\_t \*key)\
 int **rte\_pmd\_ixgbe\_macsec\_select\_rxsa** (uint16\_t port, uint8\_t idx, uint8\_t an, uint32\_t pn, uint8\_t \*key)\
 int **rte\_pmd\_ixgbe\_set\_vf\_rxmode** (uint16\_t port, uint16\_t vf, uint16\_t rx\_mask, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_rx** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_tx** (uint16\_t port, uint16\_t vf, uint8\_t on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_vlan\_filter** (uint16\_t port, uint16\_t vlan, uint64\_t vf\_mask, uint8\_t vlan\_on)\
 int **rte\_pmd\_ixgbe\_set\_vf\_rate\_limit** (uint16\_t port, uint16\_t vf, uint32\_t tx\_rate, uint64\_t q\_msk)\
 int **rte\_pmd\_ixgbe\_set\_tc\_bw\_alloc** (uint16\_t port, uint8\_t tc\_num, uint8\_t \*bw\_weight)\
 int **rte\_pmd\_ixgbe\_bypass\_init** (uint16\_t port)\
 int **rte\_pmd\_ixgbe\_bypass\_state\_show** (uint16\_t port, uint32\_t \*state)\
 int **rte\_pmd\_ixgbe\_bypass\_state\_set** (uint16\_t port, uint32\_t \*new\_state)\
 int **rte\_pmd\_ixgbe\_bypass\_event\_show** (uint16\_t port, uint32\_t event, uint32\_t \*state)\
 int **rte\_pmd\_ixgbe\_bypass\_event\_store** (uint16\_t port, uint32\_t event, uint32\_t state)\
 int **rte\_pmd\_ixgbe\_bypass\_wd\_timeout\_store** (uint16\_t port, uint32\_t timeout)\
 int **rte\_pmd\_ixgbe\_bypass\_ver\_show** (uint16\_t port, uint32\_t \*ver)\
 int **rte\_pmd\_ixgbe\_bypass\_wd\_timeout\_show** (uint16\_t port, uint32\_t \*wd\_timeout)\
 int **rte\_pmd\_ixgbe\_bypass\_wd\_reset** (uint16\_t port)\
 int **rte\_pmd\_ixgbe\_mdio\_lock** (uint16\_t port)\
 int **rte\_pmd\_ixgbe\_mdio\_unlock** (uint16\_t port)\
 int **rte\_pmd\_ixgbe\_mdio\_unlocked\_read** (uint16\_t port, uint32\_t reg\_addr, uint32\_t dev\_type, uint16\_t \*phy\_data)\
 int **rte\_pmd\_ixgbe\_mdio\_unlocked\_write** (uint16\_t port, uint32\_t reg\_addr, uint32\_t dev\_type, uint16\_t phy\_data)\
 int **rte\_pmd\_ixgbe\_upd\_fctrl\_sbp** (uint16\_t port, int enable)\
 \_\_rte\_experimental int **rte\_pmd\_ixgbe\_get\_fdir\_info** (uint16\_t port, struct **rte\_eth\_fdir\_info** \*fdir\_info)\
 \_\_rte\_experimental int **rte\_pmd\_ixgbe\_get\_fdir\_stats** (uint16\_t port, struct **rte\_eth\_fdir\_stats** \*fdir\_stats)\

## Detailed Description

ixgbe PMD specific functions.

Definition in file **rte\_pmd\_ixgbe.h**.

## Enumeration Type Documentation

### enum rte\_pmd\_ixgbe\_mb\_event\_rsp

Response sent back to ixgbe driver from user app after callback

**Enumerator**

- *RTE\_PMD\_IXGBE\_MB\_EVENT\_NOOP\_ACK*

  *skip mbox request and ACK*

- *RTE\_PMD\_IXGBE\_MB\_EVENT\_NOOP\_NACK*

  *skip mbox request and NACK*

- *RTE\_PMD\_IXGBE\_MB\_EVENT\_PROCEED*

  *proceed with mbox request* \

- *RTE\_PMD\_IXGBE\_MB\_EVENT\_MAX*

  *max value of this enum*

*Definition at line* **653** *of file* **rte\_pmd\_ixgbe.h***.*

## Function Documentation

### int rte\_pmd\_ixgbe\_ping\_vf (uint16\_t port, uint16\_t vf)

*Notify VF when PF link status changes.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if vf invalid.*

### int rte\_pmd\_ixgbe\_set\_vf\_mac\_addr (uint16\_t port, uint16\_t vf, struct rte\_ether\_addr \* mac\_addr)

*Set the VF MAC address.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.* \
 *mac\_addr VF MAC address.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if vf or mac\_addr is invalid.*

### int rte\_pmd\_ixgbe\_set\_vf\_vlan\_anti\_spoof (uint16\_t port, uint16\_t vf, uint8\_t on)

*Enable/Disable VF VLAN anti spoofing.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF on which to set VLAN anti spoofing.* \
 *on 1 - Enable VFs VLAN anti spoofing. 0 - Disable VFs VLAN anti spoofing.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_mac\_anti\_spoof (uint16\_t port, uint16\_t vf, uint8\_t on)

*Enable/Disable VF MAC anti spoofing.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF on which to set MAC anti spoofing.* \
 *on 1 - Enable VFs MAC anti spoofing. 0 - Disable VFs MAC anti spoofing.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_vlan\_insert (uint16\_t port, uint16\_t vf, uint16\_t vlan\_id)

*Enable/Disable vf vlan insert*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf ID specifying VF.* \
 *vlan\_id 0 - Disable VF's vlan insert. n - Enable; n is inserted as the vlan id.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_tx\_loopback (uint16\_t port, uint8\_t on)

*Enable/Disable tx loopback*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *on 1 - Enable tx loopback. 0 - Disable tx loopback.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_all\_queues\_drop\_en (uint16\_t port, uint8\_t on)

*set all queues drop enable bit*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *on 1 - set the queue drop enable bit for all pools. 0 - reset the queue drop enable bit for all pools.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_split\_drop\_en (uint16\_t port, uint16\_t vf, uint8\_t on)

*set drop enable bit in the VF split rx control register*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf ID specifying VF.* \
 *on 1 - set the drop enable bit in the split rx control register. 0 - reset the drop enable bit in the split rx control register.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_vlan\_stripq (uint16\_t port, uint16\_t vf, uint8\_t on)

*Enable/Disable vf vlan strip for all queues in a pool*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf ID specifying VF.* \
 *on 1 - Enable VF's vlan strip on RX queues. 0 - Disable VF's vlan strip on RX queues.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_macsec\_enable (uint16\_t port, uint8\_t en, uint8\_t rp)

*Enable MACsec offload.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *en 1 - Enable encryption (encrypt and add integrity signature). 0 - Disable encryption (only add integrity signature).* \
 *rp 1 - Enable replay protection. 0 - Disable replay protection.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

### int rte\_pmd\_ixgbe\_macsec\_disable (uint16\_t port)

*Disable MACsec offload.*

**Parameters**

*port The port identifier of the Ethernet device.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

### int rte\_pmd\_ixgbe\_macsec\_config\_txsc (uint16\_t port, uint8\_t \* mac)

*Configure Tx SC (Secure Connection).*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *mac The MAC address on the local side.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

### int rte\_pmd\_ixgbe\_macsec\_config\_rxsc (uint16\_t port, uint8\_t \* mac, uint16\_t pi)

*Configure Rx SC (Secure Connection).*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *mac The MAC address on the remote side.* \
 *pi The PI (port identifier) on the remote side.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

### int rte\_pmd\_ixgbe\_macsec\_select\_txsa (uint16\_t port, uint8\_t idx, uint8\_t an, uint32\_t pn, uint8\_t \* key)

*Enable Tx SA (Secure Association).*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *idx The SA to be enabled (0 or 1).* \
 *an The association number on the local side.* \
 *pn The packet number on the local side.* \
 *key The key on the local side.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_macsec\_select\_rxsa (uint16\_t port, uint8\_t idx, uint8\_t an, uint32\_t pn, uint8\_t \* key)

*Enable Rx SA (Secure Association).*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *idx The SA to be enabled (0 or 1)* \
 *an The association number on the remote side.* \
 *pn The packet number on the remote side.* \
 *key The key on the remote side.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_rxmode (uint16\_t port, uint16\_t vf, uint16\_t rx\_mask, uint8\_t on)

*Set RX L2 Filtering mode of a VF of an Ethernet device.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.* \
 *rx\_mask The RX mode mask, which is one or more of accepting Untagged Packets, packets that match the PFUTA table, Broadcast and Multicast Promiscuous. RTE\_ETH\_VMDQ\_ACCEPT\_UNTAG, RTE\_ETH\_VMDQ\_ACCEPT\_HASH\_UC, RTE\_ETH\_VMDQ\_ACCEPT\_BROADCAST and RTE\_ETH\_VMDQ\_ACCEPT\_MULTICAST will be used in rx\_mode.* \
 *on 1 - Enable a VF RX mode. 0 - Disable a VF RX mode.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port\_id invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_rx (uint16\_t port, uint16\_t vf, uint8\_t on)

*Enable or disable a VF traffic receive of an Ethernet device.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.* \
 *on 1 - Enable a VF traffic receive. 0 - Disable a VF traffic receive.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port\_id invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_tx (uint16\_t port, uint16\_t vf, uint8\_t on)

*Enable or disable a VF traffic transmit of the Ethernet device.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.* \
 *on 1 - Enable a VF traffic transmit. 0 - Disable a VF traffic transmit.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port\_id invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_vlan\_filter (uint16\_t port, uint16\_t vlan, uint64\_t vf\_mask, uint8\_t vlan\_on)

*Enable/Disable hardware VF VLAN filtering by an Ethernet device of received VLAN packets tagged with a given VLAN Tag Identifier.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vlan The VLAN Tag Identifier whose filtering must be enabled or disabled.* \
 *vf\_mask Bitmap listing which VFs participate in the VLAN filtering.* \
 *vlan\_on 1 - Enable VFs VLAN filtering. 0 - Disable VFs VLAN filtering.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port\_id invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_vf\_rate\_limit (uint16\_t port, uint16\_t vf, uint32\_t tx\_rate, uint64\_t q\_msk)

*Set the rate limitation for a vf on an Ethernet device.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *vf VF id.* \
 *tx\_rate The tx rate allocated from the total link speed for this VF id.* \
 *q\_msk The queue mask which need to set the rate.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

- •

  *(-ENODEV) if port\_id invalid.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_set\_tc\_bw\_alloc (uint16\_t port, uint8\_t tc\_num, uint8\_t \* bw\_weight)

*Set all the TCs' bandwidth weight.*

*The bw\_weight means the percentage occupied by the TC. It can be taken as the relative min bandwidth setting.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *tc\_num Number of TCs.* \
 *bw\_weight An array of relative bandwidth weight for all the TCs. The summary of the bw\_weight should be 100.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-EINVAL) if bad parameter.*

- •

  *(-ENOTSUP) not supported by firmware.*

### int rte\_pmd\_ixgbe\_bypass\_init (uint16\_t port)

*Initialize bypass logic. This function needs to be called before executing any other bypass API.*

**Parameters**

*port The port identifier of the Ethernet device.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_state\_show (uint16\_t port, uint32\_t \* state)

*Return bypass state.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *state The return bypass state.*

- •

  *(1) Normal mode*

- •

  *(2) Bypass mode*

- •

  *(3) Isolate mode*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_state\_set (uint16\_t port, uint32\_t \* new\_state)

*Set bypass state*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *new\_state The current bypass state.*

- •

  *(1) Normal mode*

- •

  *(2) Bypass mode*

- •

  *(3) Isolate mode*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_event\_show (uint16\_t port, uint32\_t event, uint32\_t \* state)

*Return bypass state when given event occurs.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *event The bypass event*

- •

  *(1) Main power on (power button is pushed)*

- •

  *(2) Auxiliary power on (power supply is being plugged)*

- •

  *(3) Main power off (system shutdown and power supply is left plugged in)*

- •

  *(4) Auxiliary power off (power supply is being unplugged)*

- •

  *(5) Display or set the watchdog timer*

*state The bypass state when given event occurred.*

- •

  *(1) Normal mode*

- •

  *(2) Bypass mode*

- •

  *(3) Isolate mode*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_event\_store (uint16\_t port, uint32\_t event, uint32\_t state)

*Set bypass state when given event occurs.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *event The bypass event*

- •

  *(1) Main power on (power button is pushed)*

- •

  *(2) Auxiliary power on (power supply is being plugged)*

- •

  *(3) Main power off (system shutdown and power supply is left plugged in)*

- •

  *(4) Auxiliary power off (power supply is being unplugged)*

- •

  *(5) Display or set the watchdog timer*

*state The assigned state when given event occurs.*

- •

  *(1) Normal mode*

- •

  *(2) Bypass mode*

- •

  *(3) Isolate mode*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_wd\_timeout\_store (uint16\_t port, uint32\_t timeout)

*Set bypass watchdog timeout count.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *timeout The timeout to be set.*

- •

  *(0) 0 seconds (timer is off)*

- •

  *(1) 1.5 seconds*

- •

  *(2) 2 seconds*

- •

  *(3) 3 seconds*

- •

  *(4) 4 seconds*

- •

  *(5) 8 seconds*

- •

  *(6) 16 seconds*

- •

  *(7) 32 seconds*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_ver\_show (uint16\_t port, uint32\_t \* ver)

*Get bypass firmware version.*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *ver The firmware version*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_wd\_timeout\_show (uint16\_t port, uint32\_t \* wd\_timeout)

*Return bypass watchdog timeout in seconds*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *wd\_timeout The return watchdog timeout. '0' represents timer expired*

- •

  *(0) 0 seconds (timer is off)*

- •

  *(1) 1.5 seconds*

- •

  *(2) 2 seconds*

- •

  *(3) 3 seconds*

- •

  *(4) 4 seconds*

- •

  *(5) 8 seconds*

- •

  *(6) 16 seconds*

- •

  *(7) 32 seconds*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_bypass\_wd\_reset (uint16\_t port)

*Reset bypass watchdog timer*

**Parameters**

*port The port identifier of the Ethernet device.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-EINVAL) if bad parameter.*

### int rte\_pmd\_ixgbe\_mdio\_lock (uint16\_t port)

*Acquire swfw semaphore lock for MDIO access*

**Parameters**

*port The port identifier of the Ethernet device.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(IXGBE\_ERR\_SWFW\_SYNC) If sw/fw semaphore acquisition failed*

### int rte\_pmd\_ixgbe\_mdio\_unlock (uint16\_t port)

*Release swfw semaphore lock used for MDIO access*

**Parameters**

*port The port identifier of the Ethernet device.*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port invalid.*

### int rte\_pmd\_ixgbe\_mdio\_unlocked\_read (uint16\_t port, uint32\_t reg\_addr, uint32\_t dev\_type, uint16\_t \* phy\_data)

*Read PHY register using MDIO without MDIO lock The lock must be taken separately before calling this API*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *reg\_addr 32 bit PHY Register* \
 *dev\_type Used to define device base address* \
 *phy\_data Pointer for reading PHY register data*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(IXGBE\_ERR\_PHY) If PHY read command failed*

### int rte\_pmd\_ixgbe\_mdio\_unlocked\_write (uint16\_t port, uint32\_t reg\_addr, uint32\_t dev\_type, uint16\_t phy\_data)

*Write data to PHY register using without MDIO lock The lock must be taken separately before calling this API*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *reg\_addr 32 bit PHY Register* \
 *dev\_type Used to define device base address* \
 *phy\_data Data to write to PHY register*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENOTSUP) if hardware doesn't support.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(IXGBE\_ERR\_PHY) If PHY read command failed*

### int rte\_pmd\_ixgbe\_upd\_fctrl\_sbp (uint16\_t port, int enable)

**Parameters**

*port The port identifier of the Ethernet device.* \
 *enable 0 to disable and nonzero to enable 'SBP' bit in FCTRL register to receive all packets*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if hardware doesn't support this feature.*

### \_\_rte\_experimental int rte\_pmd\_ixgbe\_get\_fdir\_info (uint16\_t port, struct rte\_eth\_fdir\_info \* fdir\_info)

*Get port fdir info*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *fdir\_info The fdir info of the port*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if operation not supported.*

### \_\_rte\_experimental int rte\_pmd\_ixgbe\_get\_fdir\_stats (uint16\_t port, struct rte\_eth\_fdir\_stats \* fdir\_stats)

*Get port fdir status*

**Parameters**

*port The port identifier of the Ethernet device.* \
 *fdir\_stats The fdir status of the port*

**Returns**

- •

  *(0) if successful.*

- •

  *(-ENODEV) if port invalid.*

- •

  *(-ENOTSUP) if operation not supported.*

## Author

*Generated automatically by Doxygen for DPDK from the source code.*
