Wireless client Media Access Control (MAC) address collision avoidance
A first access point of a wireless network minimizes Media Access Control (MAC) address collisions in the wireless network. The first access point receives an association request from a first wireless device. The association request identifies a first MAC address of the first wireless device. The first access point determines whether a second wireless device is associated with the wireless network using the first MAC address. Responsive to a determination that the second wireless device is associated with a second access point of the wireless network, the first access point obtains a virtual MAC address for the first wireless device. The first access point translates between the first MAC address and the virtual MAC address for network traffic of the first wireless device.
1 . A method comprising:
storing, in a network controller, a pool of virtual Media Access Control (MAC) addresses for temporary use in a wireless network, wherein the network controller manages a plurality of access points;
querying the network controller to determine whether a first wireless device and a second wireless device will both use a first MAC address in the wireless network;
responsive to a determination that the first wireless device and the second wireless device will both use the first MAC address in the wireless network, obtaining from the network controller a virtual MAC address from the pool of virtual MAC addresses for the first wireless device in the wireless network; and
translating between the first MAC address and the virtual MAC address for network traffic of the first wireless device on receiving a communication from the first wireless device using the first MAC address, wherein translating includes sending uplink data received from the first wireless device using the first MAC address to a network infrastructure of the wireless network using the virtual MAC address and sending downlink data from the network infrastructure to the first wireless device using the first MAC address.
2 . The method of claim 1 , further comprising notifying the network controller when translating between the first MAC address and the virtual MAC address stops such that the network controller returns the virtual MAC address to the pool of available virtual MAC addresses.
3 . The method of claim 1 , wherein obtaining the virtual MAC address comprises receiving an indication of the virtual MAC address in response to querying the network controller.
4 . The method of claim 1 , further comprising:
receiving from the first wireless device an association request identifying the first MAC address used by the first wireless device.
5 . The method of claim 1 , further comprising storing a translation entry associating the first wireless device with the first MAC address and the virtual MAC address.
6 . The method of claim 5 , wherein the translation entry is updated for associating the first wireless device with a second MAC address and the virtual MAC address upon determining that the first wireless device has changed from the first MAC address to the second MAC address.
7 . An apparatus comprising:
a wireless network interface configured to communicate with one or more wireless devices;
a network infrastructure interface configured to communicate with a network infrastructure of a wireless network, the network infrastructure including a network controller that stores a pool of virtual Media Access Control (MAC) addresses for temporary use in the wireless network, and the network controller manages a plurality of access points operating in the wireless network; and
a processor coupled to the wireless network interface and the network infrastructure interface, the processor configured to perform operations including:
querying the network controller to determine whether a first wireless device and a second wireless device will both use a first MAC address in the wireless network;
responsive to a determination that the first wireless device and the second wireless device will both use the first MAC address in the wireless network, obtaining from the network controller a virtual MAC address from the pool of virtual MAC addresses for the first wireless device; and
translating between the first MAC address and the virtual MAC address for network traffic of the first wireless device on receiving a communication from the first wireless device using the first MAC address, wherein the processor is configured to perform the translating by causing the network infrastructure interface to send uplink data received from the first wireless device using the first MAC address to the network infrastructure using the virtual MAC address, and causing the wireless network interface to send downlink data from the network infrastructure to the first wireless device using the first MAC address.
8 . The apparatus of claim 7 , wherein the processor is configured to notify the network controller when translating between the first MAC address and the virtual MAC address stops such that the network controller returns the virtual MAC address to the pool of available virtual MAC addresses.
9 . The apparatus of claim 7 , wherein the processor is configured to obtain the virtual MAC address by receiving an indication of the virtual MAC address via the network infrastructure interface in response to querying the network controller.
10 . The apparatus of claim 7 , wherein the processor is further configured to cause the wireless network interface to receive from the first wireless device an association request identifying the first MAC address used by the first wireless device.
11 . The apparatus of claim 7 , further comprising a memory, wherein the processor is configured to store a translation entry in the memory, the translation entry associating the first wireless device with the first MAC address and the virtual MAC address.
12 . The apparatus of claim 11 , wherein the translation entry is updated for associating the first wireless device with a second MAC address and the virtual MAC address upon determining that the first wireless device has changed from the first MAC address to the second MAC address.
13 . A system comprising:
a network controller configured to manage a wireless network, the wireless network comprising a network infrastructure and a plurality of access points, wherein the network controller stores a pool of virtual Media Access Control (MAC) addresses for temporary use in the wireless network; and
a first access point among the plurality of access points, the first access point configured to perform operations including:
querying the network controller to determine whether a first wireless device and a second wireless device will both use a first MAC address in the wireless network;
responsive to a determination that the first wireless device and the second wireless device will both use the first MAC address in the wireless network, obtaining from the network controller a virtual MAC address from the pool of virtual MAC addresses for the first wireless device; and
translating between the first MAC address and the virtual MAC address for network traffic of the first wireless device on receiving a communication from the first wireless device using the first MAC address, wherein the first access point is configured to perform the translating by sending uplink data received from the first wireless device using the first MAC address to the network infrastructure using the virtual MAC address, and sending downlink data from the network infrastructure to the first wireless device using the first MAC address.
14 . The system of claim 13 , wherein the first access point is configured to determine whether the first wireless device and the second wireless device will both use the first MAC address by querying the network controller.
15 . The system of claim 14 , wherein the first access point is configured to obtain the virtual MAC address by receiving an indication of the virtual MAC address in response to querying the network controller.
16 . The system of claim 13 , wherein the first access point is further configured to receive from the first wireless device an association request identifying the first MAC address used by the first wireless device.
17 . The system of claim 13 , wherein the first access point is further configured to store a translation entry associating the first wireless device with the first MAC address and the virtual MAC address.
18 . The system of claim 17 , wherein the network controller is configured to transfer the translation entry to a second access point in response to the first wireless device associating with the second access point.
19 . The system of claim 17 , wherein the network controller is further configured to store the translation entry.
20 . The system of claim 17 , wherein the translation entry is updated for associating the first wireless device with a second MAC address and the virtual MAC address upon determining that the first wireless device has changed from the first MAC address to the second MAC address.