X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_kni%2Frte_kni.h;h=f1bb782c68eaefd70088bf12908459b6e6faa2d7;hb=2a7fd3ef38da19b2805fecd29c527456364ae618;hp=99055e2c2522969fd94df9022159b67d3ebe7698;hpb=abdf63d11b0917bde76fa5a73c16363bc497085b;p=dpdk.git diff --git a/lib/librte_kni/rte_kni.h b/lib/librte_kni/rte_kni.h index 99055e2c25..f1bb782c68 100644 --- a/lib/librte_kni/rte_kni.h +++ b/lib/librte_kni/rte_kni.h @@ -22,7 +22,7 @@ #include #include -#include +#include #ifdef __cplusplus extern "C" { @@ -48,6 +48,9 @@ struct rte_kni_ops { /* 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); }; /** @@ -63,13 +66,15 @@ struct rte_kni_conf { 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; + uint16_t min_mtu; + uint16_t max_mtu; }; /** @@ -81,8 +86,12 @@ struct rte_kni_conf { * * @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); /** @@ -228,6 +237,27 @@ int rte_kni_register_handlers(struct rte_kni *kni, struct rte_kni_ops *ops); */ 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. */