The MAC addresses are generated in the same manner as in the TAP PMD, where the address is based on the number of PCAP ports created.
Signed-off-by: Cian Ferriter <cian.ferri...@intel.com> --- drivers/net/pcap/rte_eth_pcap.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c index e8810a1..ced9cd9 100644 --- a/drivers/net/pcap/rte_eth_pcap.c +++ b/drivers/net/pcap/rte_eth_pcap.c @@ -417,11 +417,17 @@ struct pmd_devargs { static int eth_dev_start(struct rte_eth_dev *dev) { + static int iface_idx; unsigned int i; struct pmd_internals *internals = dev->data->dev_private; struct pcap_tx_queue *tx; struct pcap_rx_queue *rx; + /* Interface MAC = 00:70:63:61:70:<iface_idx> */ + memcpy((char *)dev->data->mac_addrs->addr_bytes, "\0pcap", + ETHER_ADDR_LEN); + dev->data->mac_addrs->addr_bytes[ETHER_ADDR_LEN - 1] = iface_idx++; + /* Special iface case. Single pcap is open and shared between tx/rx. */ if (internals->single_iface) { tx = &internals->tx_queue[0]; -- 1.7.0.7