diff --git a/src/include/ipxe/ethernet.h b/src/include/ipxe/ethernet.h index 3d2d462e..1794ff67 100644 --- a/src/include/ipxe/ethernet.h +++ b/src/include/ipxe/ethernet.h @@ -79,6 +79,7 @@ static inline int is_valid_ether_addr ( const void *addr ) { ( ! is_zero_ether_addr ( addr ) ) ); } +extern uint8_t eth_broadcast[]; extern int eth_push ( struct net_device *netdev, struct io_buffer *iobuf, const void *ll_dest, const void *ll_source, uint16_t net_proto ); diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c index a3d3e76e..2181fc4a 100644 --- a/src/net/80211/net80211.c +++ b/src/net/80211/net80211.c @@ -387,9 +387,6 @@ static struct net_device_operations net80211_netdev_ops = { /* ---------- 802.11 link-layer protocol ---------- */ -/** 802.11 broadcast MAC address */ -static u8 net80211_ll_broadcast[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; - /** * Determine whether a transmission rate uses ERP/OFDM * @@ -763,7 +760,7 @@ struct net80211_device * net80211_alloc ( size_t priv_size ) return NULL; netdev->ll_protocol = &net80211_ll_protocol; - netdev->ll_broadcast = net80211_ll_broadcast; + netdev->ll_broadcast = eth_broadcast; netdev->max_pkt_len = IEEE80211_MAX_DATA_LEN; netdev_init ( netdev, &net80211_netdev_ops ); @@ -1399,7 +1396,7 @@ int net80211_probe_step ( struct net80211_probe_ctx *ctx ) ctx->probe = iob; rc = net80211_tx_mgmt ( dev, IEEE80211_STYPE_PROBE_REQ, - net80211_ll_broadcast, + eth_broadcast, iob_disown ( siob ) ); if ( rc ) { DBGC ( dev, "802.11 %p send probe failed: " diff --git a/src/net/ethernet.c b/src/net/ethernet.c index ed1bb7a0..4fd2ab6e 100644 --- a/src/net/ethernet.c +++ b/src/net/ethernet.c @@ -39,7 +39,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); */ /** Ethernet broadcast MAC address */ -static uint8_t eth_broadcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; +uint8_t eth_broadcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; /** * Add Ethernet link-layer header