#include <rte_mempool.h>
#include <rte_ether.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#ifdef __cplusplus
extern "C" {
/* Pointer to function of configuring promiscuous mode */
int (*config_promiscusity)(uint16_t port_id, uint8_t to_on);
+
+ /* Pointer to function of configuring allmulticast mode */
+ int (*config_allmulticast)(uint16_t port_id, uint8_t to_on);
};
/**
uint32_t core_id; /* Core ID to bind kernel thread on */
uint16_t group_id; /* Group ID */
unsigned mbuf_size; /* mbuf size */
- struct rte_pci_addr addr;
- struct rte_pci_id id;
+ struct rte_pci_addr addr; /* depreciated */
+ struct rte_pci_id id; /* depreciated */
__extension__
uint8_t force_bind : 1; /* Flag to bind kernel thread */
- char mac_addr[ETHER_ADDR_LEN]; /* MAC address assigned to KNI */
+ uint8_t mac_addr[RTE_ETHER_ADDR_LEN]; /* MAC address assigned to KNI */
uint16_t mtu;
};
*
* @param max_kni_ifaces
* The maximum number of KNI interfaces that can coexist concurrently
+ *
+ * @return
+ * - 0 indicates success.
+ * - negative value indicates failure.
*/
-void rte_kni_init(unsigned int max_kni_ifaces);
+int rte_kni_init(unsigned int max_kni_ifaces);
/**
*/
int rte_kni_unregister_handlers(struct rte_kni *kni);
+/**
+ * Update link carrier state for KNI port.
+ *
+ * Update the linkup/linkdown state of a KNI interface in the kernel.
+ *
+ * @param kni
+ * pointer to struct rte_kni.
+ * @param linkup
+ * New link state:
+ * 0 for linkdown.
+ * > 0 for linkup.
+ *
+ * @return
+ * On failure: -1
+ * Previous link state == linkdown: 0
+ * Previous link state == linkup: 1
+ */
+__rte_experimental
+int
+rte_kni_update_link(struct rte_kni *kni, unsigned int linkup);
+
/**
* Close KNI device.
*/