[dpdk-dev] bnx2x: set random MAC address if one isn't assigned
Commit Message
If the PF hasn't assigned an address, assign one randomly. While here,
convert to use DPDK's ether address utility routines.
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Chas Williams <3chas3@gmail.com>
---
drivers/net/bnx2x/bnx2x.h | 8 --------
drivers/net/bnx2x/bnx2x_vfpf.c | 9 +++++----
drivers/net/bnx2x/bnx2x_vfpf.h | 2 +-
3 files changed, 6 insertions(+), 13 deletions(-)
Comments
On Tue, Jun 21, 2016 at 08:18:46AM -0400, Chas Williams wrote:
> If the PF hasn't assigned an address, assign one randomly. While here,
> convert to use DPDK's ether address utility routines.
>
> Fixes: 540a211084a7 ("bnx2x: driver core")
>
> Signed-off-by: Chas Williams <3chas3@gmail.com>
Maintainers, any comment or ack on this patch?
/Bruce
> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> Sent: Wednesday, June 29, 2016 3:56 AM
>
> On Tue, Jun 21, 2016 at 08:18:46AM -0400, Chas Williams wrote:
> > If the PF hasn't assigned an address, assign one randomly. While
> > here, convert to use DPDK's ether address utility routines.
> >
> > Fixes: 540a211084a7 ("bnx2x: driver core")
> >
> > Signed-off-by: Chas Williams <3chas3@gmail.com>
>
> Maintainers, any comment or ack on this patch?
>
> /Bruce
Acked-by: Rasesh Mody <rasesh.mody@qlogic.com>
Thanks!
Rasesh
On Thu, Jun 30, 2016 at 07:50:55PM +0000, Rasesh Mody wrote:
> > From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> > Sent: Wednesday, June 29, 2016 3:56 AM
> >
> > On Tue, Jun 21, 2016 at 08:18:46AM -0400, Chas Williams wrote:
> > > If the PF hasn't assigned an address, assign one randomly. While
> > > here, convert to use DPDK's ether address utility routines.
> > >
> > > Fixes: 540a211084a7 ("bnx2x: driver core")
> > >
> > > Signed-off-by: Chas Williams <3chas3@gmail.com>
> >
> > Maintainers, any comment or ack on this patch?
> >
> > /Bruce
>
> Acked-by: Rasesh Mody <rasesh.mody@qlogic.com>
>
> Thanks!
> Rasesh
Applied to dpdk-next-net/rel_16_07
/Bruce
@@ -1904,14 +1904,6 @@ pci_find_cap(struct bnx2x_softc *sc, uint8_t id, uint8_t type)
return NULL;
}
-static inline int is_valid_ether_addr(uint8_t *addr)
-{
- if (!(addr[0] | addr[1] | addr[2] | addr[3] | addr[4] | addr[5]))
- return 0;
- else
- return 1;
-}
-
static inline void
bnx2x_set_rx_mode(struct bnx2x_softc *sc)
{
@@ -293,10 +293,11 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_
sc->igu_sb_cnt, sc->igu_base_sb);
strncpy(sc->fw_ver, sc_resp.fw_ver, sizeof(sc->fw_ver));
- if (is_valid_ether_addr(sc_resp.resc.current_mac_addr))
- (void)rte_memcpy(sc->link_params.mac_addr,
- sc_resp.resc.current_mac_addr,
- ETH_ALEN);
+ if (is_valid_assigned_ether_addr(&sc_resp.resc.current_mac_addr))
+ ether_addr_copy(&sc_resp.resc.current_mac_addr,
+ (struct ether_addr *) sc->link_params.mac_addr);
+ else
+ eth_random_addr(sc->link_params.mac_addr);
return 0;
}
@@ -114,7 +114,7 @@ struct vf_resc {
uint8_t num_vlan_filters;
uint8_t num_mc_filters;
uint8_t permanent_mac_addr[ETH_ALEN];
- uint8_t current_mac_addr[ETH_ALEN];
+ struct ether_addr current_mac_addr;
uint16_t pf_link_speed;
uint32_t pf_link_supported;
};