Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_pmd_i40e.h(3)		     DPDK		     rte_pmd_i40e.h(3)

NAME
       rte_pmd_i40e.h

SYNOPSIS
       #include	<rte_compat.h>
       #include	<rte_ethdev.h>
       #include	<rte_ether.h>

   Data	Structures
       struct rte_pmd_i40e_mb_event_param
       struct rte_pmd_i40e_ddp_version
       struct rte_pmd_i40e_ddp_device_id
       struct rte_pmd_i40e_profile_info
       struct rte_pmd_i40e_profile_list
       struct rte_pmd_i40e_proto_info
       struct rte_pmd_i40e_ptype_info
       struct rte_pmd_i40e_queue_region_conf
       struct rte_pmd_i40e_pkt_template_action
       struct rte_pmd_i40e_pkt_template_input
       struct rte_pmd_i40e_pkt_template_conf

   Macros
       #define RTE_PMD_I40E_PTYPE_USER_DEFINE_MASK   0x80000000

   Enumerations
       enum rte_pmd_i40e_mb_event_rsp {	RTE_PMD_I40E_MB_EVENT_NOOP_ACK,
	   RTE_PMD_I40E_MB_EVENT_NOOP_NACK, RTE_PMD_I40E_MB_EVENT_PROCEED,
	   RTE_PMD_I40E_MB_EVENT_MAX }
       enum rte_pmd_i40e_package_op {  }
       enum rte_pmd_i40e_package_info
       enum rte_pmd_i40e_queue_region_op {  }
       enum rte_pmd_i40e_pkt_template_behavior
       enum rte_pmd_i40e_pkt_template_status {
	   RTE_PMD_I40E_PKT_TEMPLATE_NO_REPORT_STATUS,
	   RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID,
	   RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID_FLEX_4,
	   RTE_PMD_I40E_PKT_TEMPLATE_REPORT_FLEX_8 }

   Functions
       int rte_pmd_i40e_flow_add_del_packet_template (uint16_t port, const
	   struct rte_pmd_i40e_pkt_template_conf *conf,	uint8_t	add)
       int rte_pmd_i40e_ping_vfs (uint16_t port, uint16_t vf)
       int rte_pmd_i40e_set_vf_mac_anti_spoof (uint16_t	port, uint16_t vf_id,
	   uint8_t on)
       int rte_pmd_i40e_set_vf_vlan_anti_spoof (uint16_t port, uint16_t	vf_id,
	   uint8_t on)
       int rte_pmd_i40e_set_tx_loopback	(uint16_t port,	uint8_t	on)
       int rte_pmd_i40e_set_vf_unicast_promisc (uint16_t port, uint16_t	vf_id,
	   uint8_t on)
       int rte_pmd_i40e_set_vf_multicast_promisc (uint16_t port, uint16_t
	   vf_id, uint8_t on)
       int rte_pmd_i40e_set_vf_mac_addr	(uint16_t port,	uint16_t vf_id,	struct
	   rte_ether_addr *mac_addr)
       int rte_pmd_i40e_remove_vf_mac_addr (uint16_t port, uint16_t vf_id,
	   struct rte_ether_addr *mac_addr)
       int rte_pmd_i40e_set_vf_vlan_stripq (uint16_t port, uint16_t vf,
	   uint8_t on)
       int rte_pmd_i40e_set_vf_vlan_insert (uint16_t port, uint16_t vf_id,
	   uint16_t vlan_id)
       int rte_pmd_i40e_set_vf_broadcast (uint16_t port, uint16_t vf_id,
	   uint8_t on)
       int rte_pmd_i40e_set_vf_vlan_tag	(uint16_t port,	uint16_t vf_id,
	   uint8_t on)
       int rte_pmd_i40e_set_vf_vlan_filter (uint16_t port, uint16_t vlan_id,
	   uint64_t vf_mask, uint8_t on)
       int rte_pmd_i40e_get_vf_stats (uint16_t port, uint16_t vf_id, struct
	   rte_eth_stats *stats)
       int rte_pmd_i40e_reset_vf_stats (uint16_t port, uint16_t	vf_id)
       int rte_pmd_i40e_set_vf_max_bw (uint16_t	port, uint16_t vf_id, uint32_t
	   bw)
       int rte_pmd_i40e_set_vf_tc_bw_alloc (uint16_t port, uint16_t vf_id,
	   uint8_t tc_num, uint8_t *bw_weight)
       int rte_pmd_i40e_set_vf_tc_max_bw (uint16_t port, uint16_t vf_id,
	   uint8_t tc_no, uint32_t bw)
       int rte_pmd_i40e_set_tc_strict_prio (uint16_t port, uint8_t tc_map)
       int rte_pmd_i40e_process_ddp_package (uint16_t port, uint8_t *buff,
	   uint32_t size, enum rte_pmd_i40e_package_op op)
       int rte_pmd_i40e_get_ddp_info (uint8_t *pkg, uint32_t pkg_size, uint8_t
	   *info, uint32_t size, enum rte_pmd_i40e_package_info	type)
       int rte_pmd_i40e_get_ddp_list (uint16_t port, uint8_t *buff, uint32_t
	   size)
       int rte_pmd_i40e_ptype_mapping_update (uint16_t port, struct
	   rte_pmd_i40e_ptype_mapping *mapping_items, uint16_t count, uint8_t
	   exclusive)
       int rte_pmd_i40e_ptype_mapping_reset (uint16_t port)
       int rte_pmd_i40e_ptype_mapping_get (uint16_t port, struct
	   rte_pmd_i40e_ptype_mapping *mapping_items, uint16_t size, uint16_t
	   *count, uint8_t valid_only)
       int rte_pmd_i40e_ptype_mapping_replace (uint16_t	port, uint32_t target,
	   uint8_t mask, uint32_t pkt_type)
       int rte_pmd_i40e_add_vf_mac_addr	(uint16_t port,	uint16_t vf_id,	struct
	   rte_ether_addr *mac_addr)
       int rte_pmd_i40e_flow_type_mapping_update (uint16_t port, struct
	   rte_pmd_i40e_flow_type_mapping *mapping_items, uint16_t count,
	   uint8_t exclusive)
       int rte_pmd_i40e_flow_type_mapping_get (uint16_t	port, struct
	   rte_pmd_i40e_flow_type_mapping *mapping_items)
       int rte_pmd_i40e_flow_type_mapping_reset	(uint16_t port)
       int rte_pmd_i40e_query_vfid_by_mac (uint16_t port, const	struct
	   rte_ether_addr *vf_mac)
       int rte_pmd_i40e_rss_queue_region_conf (uint16_t	port_id, enum
	   rte_pmd_i40e_queue_region_op	op_type, void *arg)
       int rte_pmd_i40e_inset_get (uint16_t port, uint8_t pctype, struct
	   rte_pmd_i40e_inset *inset, enum rte_pmd_i40e_inset_type inset_type)
       int rte_pmd_i40e_inset_set (uint16_t port, uint8_t pctype, struct
	   rte_pmd_i40e_inset *inset, enum rte_pmd_i40e_inset_type inset_type)
       static int rte_pmd_i40e_inset_field_get (uint64_t inset,	uint8_t
	   field_idx)
       static int rte_pmd_i40e_inset_field_set (uint64_t *inset, uint8_t
	   field_idx)
       static int rte_pmd_i40e_inset_field_clear (uint64_t *inset, uint8_t
	   field_idx)
       __rte_experimental int rte_pmd_i40e_get_fdir_info (uint16_t port,
	   struct rte_eth_fdir_info *fdir_info)
       __rte_experimental int rte_pmd_i40e_get_fdir_stats (uint16_t port,
	   struct rte_eth_fdir_stats *fdir_stat)
       __rte_experimental int rte_pmd_i40e_set_gre_key_len (uint16_t port,
	   uint8_t len)
       __rte_experimental int rte_pmd_i40e_set_switch_dev (uint16_t port_id,
	   struct rte_eth_dev *switch_dev)
       __rte_experimental int rte_pmd_i40e_set_pf_src_prune (uint16_t port,
	   uint8_t on)

Detailed Description
       i40e PMD	specific functions.

       EXPERIMENTAL: this API may change, or be	removed, without prior notice

       Definition in file rte_pmd_i40e.h.

Macro Definition Documentation
   #define RTE_PMD_I40E_PTYPE_USER_DEFINE_MASK	 0x80000000
       ptype mapping table only	accept RTE_PTYPE_XXX or	'user defined' ptype.
       A ptype with MSB	set will be regarded as	a user defined ptype. Below
       macro help to create a user defined ptype.

       Definition at line 176 of file rte_pmd_i40e.h.

Enumeration Type Documentation
   enum	rte_pmd_i40e_mb_event_rsp
       Response	sent back to i40e driver from user app after callback

       Enumerator

       RTE_PMD_I40E_MB_EVENT_NOOP_ACK
	      skip mbox	request	and ACK

       RTE_PMD_I40E_MB_EVENT_NOOP_NACK
	      skip mbox	request	and NACK

       RTE_PMD_I40E_MB_EVENT_PROCEED
	      proceed with mbox	request

       RTE_PMD_I40E_MB_EVENT_MAX
	      max value	of this	enum

       Definition at line 28 of	file rte_pmd_i40e.h.

   enum	rte_pmd_i40e_package_op
       Option of package processing.

       Enumerator

       RTE_PMD_I40E_PKG_OP_WR_ADD
	      load package and add to info list

       RTE_PMD_I40E_PKG_OP_WR_DEL
	      load package and delete from info	list

       RTE_PMD_I40E_PKG_OP_WR_ONLY
	      load package without modifying info list

       Definition at line 49 of	file rte_pmd_i40e.h.

   enum	rte_pmd_i40e_package_info
       Types of	package	information.

       Definition at line 60 of	file rte_pmd_i40e.h.

   enum	rte_pmd_i40e_queue_region_op
       Option types of queue region.

       Enumerator

       RTE_PMD_I40E_RSS_QUEUE_REGION_SET
	      add queue	region set

       RTE_PMD_I40E_RSS_QUEUE_REGION_FLOWTYPE_SET
	      add PF region pctype set

       RTE_PMD_I40E_RSS_QUEUE_REGION_USER_PRIORITY_SET
	      add queue	region user priority set

       RTE_PMD_I40E_RSS_QUEUE_REGION_ALL_FLUSH_ON
	      ALL configuration	about queue region from	up layer at first will
	      only  keep  in  DPDK  software  stored  in  driver, only after '
	      FLUSH_ON ', it commit all	configuration to HW. Because  PMD  had
	      to  set  hardware	configuration at a time, so it will record all
	      up layer command at first.

       RTE_PMD_I40E_RSS_QUEUE_REGION_ALL_FLUSH_OFF

       Definition at line 81 of	file rte_pmd_i40e.h.

   enum	rte_pmd_i40e_pkt_template_behavior
       Behavior	will be	taken if raw packet template is	matched.

       Definition at line 234 of file rte_pmd_i40e.h.

   enum	rte_pmd_i40e_pkt_template_status
       Flow director report status It defines what will	 be  reported  if  raw
       packet template is matched.

       Enumerator

       RTE_PMD_I40E_PKT_TEMPLATE_NO_REPORT_STATUS
	      report nothing

       RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID
	      only report FD ID

       RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID_FLEX_4
	      report FD	ID and 4 flex bytes

       RTE_PMD_I40E_PKT_TEMPLATE_REPORT_FLEX_8
	      report 8 flex bytes

       Definition at line 244 of file rte_pmd_i40e.h.

Function Documentation
   int	rte_pmd_i40e_flow_add_del_packet_template (uint16_t port, const	struct
       rte_pmd_i40e_pkt_template_conf *	conf, uint8_t add)
       Add or remove raw packet	template filter	to Flow	Director.

       Parameters
	   port	The port identifier of the Ethernet device.
	   conf	Specifies configuration	 parameters  of	 raw  packet  template
	   filter.
	   add	Specifies  an  action  to  be taken - add or remove raw	packet
	   template filter.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if conf invalid.

	    (-ENOTSUP)	not supported by firmware.

   int rte_pmd_i40e_ping_vfs (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_i40e_set_vf_mac_anti_spoof  (uint16_t  port,  uint16_t	vf_id,
       uint8_t on)
       Enable/Disable VF MAC anti spoofing.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_set_vf_vlan_anti_spoof  (uint16_t  port,  uint16_t	vf_id,
       uint8_t on)
       Enable/Disable VF VLAN anti spoofing.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_set_tx_loopback (uint16_t port, uint8_t on)
       Enable/Disable TX loopback on all the PF	and VFs.

       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_i40e_set_vf_unicast_promisc  (uint16_t  port,  uint16_t	vf_id,
       uint8_t on)
       Enable/Disable VF unicast promiscuous mode.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id VF on which to	set.
	   on 1	- Enable. 0 - Disable.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int	rte_pmd_i40e_set_vf_multicast_promisc  (uint16_t port, uint16_t	vf_id,
       uint8_t on)
       Enable/Disable VF multicast promiscuous mode.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id VF on which to	set.
	   on 1	- Enable. 0 - Disable.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int rte_pmd_i40e_set_vf_mac_addr (uint16_t  port,  uint16_t	vf_id,	struct
       rte_ether_addr *	mac_addr)
       Set the VF MAC address.

       PF  should  set	MAC  address before VF initialized, if PF sets the MAC
       address after VF	initialized, new MAC address won't be effective	 until
       VF reinitialize.

       This will remove	all existing MAC filters.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_remove_vf_mac_addr	(uint16_t port,	uint16_t vf_id,	struct
       rte_ether_addr *	mac_addr)
       Remove the VF MAC address.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_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.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int	rte_pmd_i40e_set_vf_vlan_insert	 (uint16_t   port,   uint16_t	vf_id,
       uint16_t	vlan_id)
       Enable/Disable vf vlan insert

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_set_vf_broadcast (uint16_t port, uint16_t  vf_id,  uint8_t
       on)
       Enable/Disable vf broadcast mode

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id ID specifying VF.
	   on 0	- Disable broadcast. 1 - Enable	broadcast.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int	rte_pmd_i40e_set_vf_vlan_tag  (uint16_t	 port, uint16_t	vf_id, uint8_t
       on)
       Enable/Disable vf vlan tag

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id ID specifying VF.
	   on 0	- Disable VF's vlan tag. n - Enable VF's vlan tag.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int	rte_pmd_i40e_set_vf_vlan_filter	 (uint16_t  port,  uint16_t   vlan_id,
       uint64_t	vf_mask, uint8_t on)
       Enable/Disable VF VLAN filter

       Parameters
	   port	The port identifier of the Ethernet device.
	   vlan_id ID specifying VLAN
	   vf_mask Mask	to filter VF's
	   on 0	- Disable VF's VLAN filter. 1 -	Enable VF's VLAN filter.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	not supported by firmware.

   int	 rte_pmd_i40e_get_vf_stats  (uint16_t  port,  uint16_t	vf_id,	struct
       rte_eth_stats * stats)
       Get VF's	statistics

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id VF on which to	get.
	   stats A pointer to a	structure of type rte_eth_stats	to  be	filled
	   with	 the  values  of  device  counters  for	 the  following	set of
	   statistics:

	    ipackets with the total of	successfully received packets.

	    opackets with the total of	successfully transmitted packets.

	    ibytes with the total of successfully received bytes.

	    obytes with the total of successfully transmitted bytes.

	    ierrors with the total of erroneous received packets.

	    oerrors with the total of failed transmitted packets.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int rte_pmd_i40e_reset_vf_stats (uint16_t port, uint16_t vf_id)
       Clear VF's statistics

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id VF on which to	get.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int rte_pmd_i40e_set_vf_max_bw (uint16_t port, uint16_t vf_id, uint32_t bw)

       Set VF's	max bandwidth.

       Per VF bandwidth	limitation and per TC bandwidth	limitation  cannot  be
       enabled in parallel. If per TC bandwidth	is enabled, this function will
       disable it.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id ID specifying VF.
	   bw Bandwidth	for this VF. The value should be an absolute bandwidth
	   in  Mbps.  The  bandwidth  is  a L2 bandwidth counting the bytes of
	   ethernet packets. Not count the bytes added by physical layer.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	not supported by firmware.

   int rte_pmd_i40e_set_vf_tc_bw_alloc (uint16_t port, uint16_t	vf_id, uint8_t
       tc_num, uint8_t * bw_weight)
       Set all the TCs'	bandwidth weight on a specific VF.

       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.
	   vf_id ID specifying VF.
	   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_i40e_set_vf_tc_max_bw (uint16_t port, uint16_t  vf_id,  uint8_t
       tc_no, uint32_t bw)
       Set a specific TC's max bandwidth on a specific VF.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id ID specifying VF.
	   tc_no Number	specifying TC.
	   bw  Max  bandwidth  for  this  TC.  The value should	be an absolute
	   bandwidth in	Mbps. The bandwidth is a  L2  bandwidth	 counting  the
	   bytes  of  ethernet	packets. Not count the bytes added by physical
	   layer.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	not supported by firmware.

   int rte_pmd_i40e_set_tc_strict_prio (uint16_t port, uint8_t tc_map)
       Set some	TCs to strict priority mode on a physical port.

       Parameters
	   port	The port identifier of the Ethernet device.
	   tc_map A bit	map for	the TCs.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	not supported by firmware.

   int	rte_pmd_i40e_process_ddp_package  (uint16_t  port,  uint8_t  *	 buff,
       uint32_t	size, enum rte_pmd_i40e_package_op op)
       Load/Unload a ddp package

       Parameters
	   port	The port identifier of the Ethernet device.
	   buff	buffer of package.
	   size	size of	buffer.
	   op Operation	of package processing

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-EEXIST) if profile exists.

	    (-EACCES) if profile does not exist.

	    (-ENOTSUP)	if operation not supported.

   int	rte_pmd_i40e_get_ddp_info (uint8_t * pkg, uint32_t pkg_size, uint8_t *
       info, uint32_t size, enum rte_pmd_i40e_package_info type)
       rte_pmd_i40e_get_ddp_info - Get profile's info

       Parameters
	   pkg buffer of package.
	   pkg_size package buffer size
	   info	buffer for response
	   size	response buffer	size
	   type	type of	information requested

       Returns

	    (0) if successful.

	    (-ENOTSUP)	if information type not	supported by the profile.

	    (-EINVAL) if bad parameter.

   int rte_pmd_i40e_get_ddp_list (uint16_t  port,  uint8_t  *  buff,  uint32_t
       size)
       rte_pmd_i40e_get_ddp_list - Get loaded profile list

       Parameters
	   port	port id
	   buff	buffer for response
	   size	buffer size

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

   int	   rte_pmd_i40e_ptype_mapping_update	 (uint16_t     port,	struct
       rte_pmd_i40e_ptype_mapping *  mapping_items,  uint16_t  count,  uint8_t
       exclusive)
       Update  hardware	 defined ptype to software defined packet type mapping
       table.

       Parameters
	   port	pointer	to port	identifier of the device.
	   mapping_items the base address of the mapping items array.
	   count number	of mapping items.
	   exclusive the flag indicate different ptype mapping update  method.
	   -(0)	 only  overwrite  referred  PTYPE  mapping,  keep other	PTYPEs
	   mapping unchanged. -(!0)  overwrite	referred  PTYPE	 mapping,  set
	   other PTYPEs	maps to	PTYPE_UNKNOWN.

   int rte_pmd_i40e_ptype_mapping_reset	(uint16_t port)
       Reset hardware defined ptype to software	defined	ptype mapping table to
       default.

       Parameters
	   port	pointer	to port	identifier of the device

   int	    rte_pmd_i40e_ptype_mapping_get	(uint16_t     port,	struct
       rte_pmd_i40e_ptype_mapping * mapping_items, uint16_t size,  uint16_t  *
       count, uint8_t valid_only)
       Get hardware defined ptype to software defined ptype mapping items.

       Parameters
	   port	pointer	to port	identifier of the device.
	   mapping_items  the  base  address  of  the  array to	store returned
	   items.
	   size	the size of the	input array.
	   count the place to store the	number of returned items.
	   valid_only -(0)  return  full  mapping  table.  -(!0)  only	return
	   mapping items which packet_type != RTE_PTYPE_UNKNOWN.

   int	rte_pmd_i40e_ptype_mapping_replace  (uint16_t  port,  uint32_t target,
       uint8_t mask, uint32_t pkt_type)
       Replace a specific or a group of	software defined ptypes	with a new one

       Parameters
	   port	pointer	to port	identifier of the device
	   target the packet type to be	replaced
	   mask	-(0) target represent a	specific software defined ptype. -(!0)
	   target is a mask to represent a group of software defined ptypes.
	   pkt_type the	new packet type	to overwrite

   int rte_pmd_i40e_add_vf_mac_addr (uint16_t  port,  uint16_t	vf_id,	struct
       rte_ether_addr *	mac_addr)
       Add a VF	MAC address.

       Add  more  MAC  address	for  VF.  The existing MAC addresses are still
       effective.

       Parameters
	   port	The port identifier of the Ethernet device.
	   vf_id 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_i40e_flow_type_mapping_update	  (uint16_t    port,	struct
       rte_pmd_i40e_flow_type_mapping *	mapping_items, uint16_t	count, uint8_t
       exclusive)
       Update  hardware	 defined  pctype to software defined flow type mapping
       table.

       Parameters
	   port	pointer	to port	identifier of the device.
	   mapping_items the base address of the mapping items array.
	   count number	of mapping items.
	   exclusive the flag indicate different pctype	mapping	update method.
	   -(0)	only overwrite referred	PCTYPE	mapping,  keep	other  PCTYPEs
	   mapping  unchanged.	-(!0)  overwrite  referred PCTYPE mapping, set
	   other PCTYPEs maps to PCTYPE_INVALID.

   int	  rte_pmd_i40e_flow_type_mapping_get	(uint16_t     port,	struct
       rte_pmd_i40e_flow_type_mapping *	mapping_items)
       Get  software  defined  flow  type  to  hardware	defined	pctype mapping
       items.

       Parameters
	   port	pointer	to port	identifier of the device.
	   mapping_items the base address  of  the  array  to  store  returned
	   items.  array  should  be  allocated	by caller with minimum size of
	   RTE_PMD_I40E_FLOW_TYPE_MAX items

   int rte_pmd_i40e_flow_type_mapping_reset (uint16_t port)
       Reset hardware defined pctype to	software  defined  flow	 type  mapping
       table to	default.

       Parameters
	   port	pointer	to port	identifier of the device

   int	  rte_pmd_i40e_query_vfid_by_mac    (uint16_t	port,	const	struct
       rte_ether_addr *	vf_mac)
       On the PF, find VF index	based on VF MAC	address

       Parameters
	   port	pointer	to port	identifier of the device
	   vf_mac the mac address of the vf to determine index of

       Returns
	   The index of	vfid If	successful. -EINVAL: vf	mac address  does  not
	   exist for this port -ENOTSUP: i40e not supported for	this port.

   int	   rte_pmd_i40e_rss_queue_region_conf	 (uint16_t    port_id,	  enum
       rte_pmd_i40e_queue_region_op op_type, void * arg)
       Do RSS queue region configuration for that port as the  command	option
       type

       Parameters
	   port_id The port identifier of the Ethernet device.
	   op_type Queue region	operation type
	   arg Queue region operation type specific data

   int	 rte_pmd_i40e_inset_get	  (uint16_t   port,   uint8_t  pctype,	struct
       rte_pmd_i40e_inset * inset, enum	rte_pmd_i40e_inset_type	inset_type)
       Get input set

       Parameters
	   port	The port identifier of the Ethernet device.
	   pctype HW pctype.
	   inset Buffer	for input set info.
	   inset_type Type of input set.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	if operation not supported.

   int	rte_pmd_i40e_inset_set	(uint16_t   port,   uint8_t   pctype,	struct
       rte_pmd_i40e_inset * inset, enum	rte_pmd_i40e_inset_type	inset_type)
       Set input set

       Parameters
	   port	The port identifier of the Ethernet device.
	   pctype HW pctype.
	   inset Input set info.
	   inset_type Type of input set.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

	    (-ENOTSUP)	if operation not supported.

   static int rte_pmd_i40e_inset_field_get (uint64_t inset, uint8_t field_idx)
       [inline],  [static]
       Get bit value for some field index

       Parameters
	   inset Input set value.
	   field_idx Field index for input set.

       Returns

	    (1) if set.

	    (0) if cleared.

       Definition at line 1006 of file rte_pmd_i40e.h.

   static   int	  rte_pmd_i40e_inset_field_set	 (uint64_t  *  inset,  uint8_t
       field_idx) [inline],  [static]
       Set bit value for some field index

       Parameters
	   inset Input set value.
	   field_idx Field index for input set.

       Returns

	    (-1) if failed.

	    (0) if success.

       Definition at line 1032 of file rte_pmd_i40e.h.

   static  int	rte_pmd_i40e_inset_field_clear	(uint64_t  *  inset,   uint8_t
       field_idx) [inline],  [static]
       Clear bit value for some	field index

       Parameters
	   inset Input set value.
	   field_idx Field index for input set.

       Returns

	    (-1) if failed.

	    (0) if success.

       Definition at line 1057 of file rte_pmd_i40e.h.

   __rte_experimental  int  rte_pmd_i40e_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_i40e_get_fdir_stats (uint16_t	 port,	struct
       rte_eth_fdir_stats * fdir_stat)
       Get port	fdir status

       Parameters
	   port	The port identifier of the Ethernet device.
	   fdir_stat The fdir status of	the port

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-ENOTSUP)	if operation not supported.

   __rte_experimental int rte_pmd_i40e_set_gre_key_len (uint16_t port, uint8_t
       len)
       Set GRE key length

       Parameters
	   port	The port identifier of the Ethernet device.
	   len Length of gre-key

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-ENOTSUP)	if operation not supported.

   __rte_experimental	int   rte_pmd_i40e_set_switch_dev  (uint16_t  port_id,
       struct rte_eth_dev * switch_dev)
       For ipn3ke, i40e	works with FPGA. In  this  situation,  i40e  get  link
       status  from fpga, fpga works as	switch_dev for i40e. This function set
       switch_dev for i40e.

       Parameters
	   port_id port_id of i40e device to be	set switch device.
	   switch_dev target switch device from	which i40e device to get  link
	   status from.

       Returns

	    (less than	0) if failed.

	    (0) if success.

   __rte_experimental	int   rte_pmd_i40e_set_pf_src_prune   (uint16_t	 port,
       uint8_t on)
       Enable/Disable source prune on all the PF.

       Parameters
	   port	The port identifier of the Ethernet device.
	   on 1	- Enable source	prune. 0 - Disable source prune.

       Returns

	    (0) if successful.

	    (-ENODEV) if port invalid.

	    (-EINVAL) if bad parameter.

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

Version	25.11.0			Thu Jun	11 2026		     rte_pmd_i40e.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_PMD_I40E_MB_EVENT_PROCEED&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help