X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fvhost%2Fmain.h;fp=examples%2Fvhost%2Fmain.h;h=97a5baee343f7b559e60c90936a087e0d757e308;hb=e571e6b472a1e52eb39d4ded937ef426f7cd0be2;hp=c15d938531a8b624e6e0d9167a62d9dcc972497d;hpb=d476ed5d9b380acbe591e176490a912502cde621;p=dpdk.git diff --git a/examples/vhost/main.h b/examples/vhost/main.h index c15d938531..97a5baee34 100644 --- a/examples/vhost/main.h +++ b/examples/vhost/main.h @@ -57,12 +57,33 @@ #define RTE_LOGTYPE_VHOST_DATA RTE_LOGTYPE_USER2 #define RTE_LOGTYPE_VHOST_PORT RTE_LOGTYPE_USER3 -/* +/** * Device linked list structure for data path. */ +struct vhost_dev { + /**< Pointer to device created by vhost lib. */ + struct virtio_net *dev; + /**< Number of memory regions for gpa to hpa translation. */ + uint32_t nregions_hpa; + /**< Memory region information for gpa to hpa translation. */ + struct virtio_memory_regions_hpa *regions_hpa; + /**< Device MAC address (Obtained on first TX packet). */ + struct ether_addr mac_address; + /**< RX VMDQ queue number. */ + uint16_t vmdq_rx_q; + /**< Vlan tag assigned to the pool */ + uint32_t vlan_tag; + /**< Data core that the device is added to. */ + uint16_t coreid; + /**< A device is set as ready if the MAC address has been set. */ + volatile uint8_t ready; + /**< Device is marked for removal from the data core. */ + volatile uint8_t remove; +} __rte_cache_aligned; + struct virtio_net_data_ll { - struct virtio_net *dev; /* Pointer to device created by configuration core. */ + struct vhost_dev *vdev; /* Pointer to device created by configuration core. */ struct virtio_net_data_ll *next; /* Pointer to next device in linked list. */ };