On Thu, Jan 9, 2014 at 7:30 AM, Stephen Hemminger <stephen at networkplumber.org> wrote: > Technically in Linux ifindex is unsigned 32 bit value. And 0 is > reserved as a marker. > Therefore why not use that semantic. > > On Wed, Jan 8, 2014 at 1:46 AM, Mats Liljegren > <liljegren.mats2 at gmail.com> wrote: >> This field is intended for pcap to describe the name of the interface >> as known to Linux. It is an interface index, but can be translated into >> an interface name using if_indextoname() function. >> >> When using pcap, interrupt affinity becomes important, and this field >> gives the application a chance to ensure that interrupt affinity is set >> to the lcore handling the device. >> >> Signed-off-by: Mats Liljegren <mats.liljegren at enea.com> >> --- >> lib/librte_ether/rte_ethdev.c | 1 + >> lib/librte_ether/rte_ethdev.h | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c >> index 859ec92..38c1ea1 100644 >> --- a/lib/librte_ether/rte_ethdev.c >> +++ b/lib/librte_ether/rte_ethdev.c >> @@ -1037,6 +1037,7 @@ rte_eth_dev_info_get(uint8_t port_id, struct >> rte_eth_dev_info *dev_info) >> /* Default device offload capabilities to zero */ >> dev_info->rx_offload_capa = 0; >> dev_info->tx_offload_capa = 0; >> + dev_info->if_index = -1; >> FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get); >> (*dev->dev_ops->dev_infos_get)(dev, dev_info); >> dev_info->pci_dev = dev->pci_dev; >> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h >> index 302d378..5b80e5d 100644 >> --- a/lib/librte_ether/rte_ethdev.h >> +++ b/lib/librte_ether/rte_ethdev.h >> @@ -787,6 +787,7 @@ struct rte_eth_conf { >> struct rte_eth_dev_info { >> struct rte_pci_device *pci_dev; /**< Device PCI information. */ >> const char *driver_name; /**< Device Driver name. */ >> + int if_index; /**< Index to bounded host interface, or -1 if >> none. Use if_indextoname() to translate into an interface name. */ >> uint32_t min_rx_bufsize; /**< Minimum size of RX buffer. */ >> uint32_t max_rx_pktlen; /**< Maximum configurable length of RX pkt. >> */ >> uint16_t max_rx_queues; /**< Maximum number of RX queues. */ >> -- >> 1.8.3.2
You're right. I'm too used to int and -1... I'll prepare new patches.