diff --git a/src/include/gpxe/ethernet.h b/src/include/gpxe/ethernet.h index bb82e0a4..8cf6b1be 100644 --- a/src/include/gpxe/ethernet.h +++ b/src/include/gpxe/ethernet.h @@ -13,6 +13,8 @@ FILE_LICENCE ( GPL2_OR_LATER ); extern void eth_init_addr ( const void *hw_addr, void *ll_addr ); extern const char * eth_ntoa ( const void *ll_addr ); +extern int eth_mc_hash ( unsigned int af, const void *net_addr, + void *ll_addr ); extern struct net_device * alloc_etherdev ( size_t priv_size ); #endif /* _GPXE_ETHERNET_H */ diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c index 91609d90..1fc983a0 100644 --- a/src/net/80211/net80211.c +++ b/src/net/80211/net80211.c @@ -160,8 +160,6 @@ static int net80211_ll_push ( struct net_device *netdev, static int net80211_ll_pull ( struct net_device *netdev, struct io_buffer *iobuf, const void **ll_dest, const void **ll_source, uint16_t * net_proto ); -static int net80211_ll_mc_hash ( unsigned int af, const void *net_addr, - void *ll_addr ); /** @} */ /** @@ -580,23 +578,6 @@ static int net80211_ll_pull ( struct net_device *netdev __unused, return 0; } -/** - * Hash 802.11 multicast address - * - * @v af Address family - * @v net_addr Network-layer address - * @ret ll_addr Filled link-layer address - * @ret rc Return status code - * - * Currently unimplemented. - */ -static int net80211_ll_mc_hash ( unsigned int af __unused, - const void *net_addr __unused, - void *ll_addr __unused ) -{ - return -ENOTSUP; -} - /** 802.11 link-layer protocol */ static struct ll_protocol net80211_ll_protocol __ll_protocol = { .name = "802.11", @@ -604,7 +585,7 @@ static struct ll_protocol net80211_ll_protocol __ll_protocol = { .pull = net80211_ll_pull, .init_addr = eth_init_addr, .ntoa = eth_ntoa, - .mc_hash = net80211_ll_mc_hash, + .mc_hash = eth_mc_hash, .ll_proto = htons ( ARPHRD_ETHER ), /* "encapsulated Ethernet" */ .hw_addr_len = ETH_ALEN, .ll_addr_len = ETH_ALEN, diff --git a/src/net/ethernet.c b/src/net/ethernet.c index dfeba7cd..e8daf9f9 100644 --- a/src/net/ethernet.c +++ b/src/net/ethernet.c @@ -130,8 +130,7 @@ const char * eth_ntoa ( const void *ll_addr ) { * @v ll_addr Link-layer address to fill in * @ret rc Return status code */ -static int eth_mc_hash ( unsigned int af, const void *net_addr, - void *ll_addr ) { +int eth_mc_hash ( unsigned int af, const void *net_addr, void *ll_addr ) { const uint8_t *net_addr_bytes = net_addr; uint8_t *ll_addr_bytes = ll_addr;