public class Switch
Switch models a learning switch, with multiple ports, each connected to
a bus, on which computers can connect. This class keeps a table of MAC
<--> port bindings, so it can learn where MAC addresses "live". This
class also contains a collection of SwitchPorts and a parallel
collection of SwitchLightPanels, each of which monitors the "wire" that
the port is connected to.
Handle frames received on a switch port. This is the "main" function of the
1. Look in the macAddrTable for the srcMac.
1.1. If found, update the entry with the port the frame came in on.
1.2. Else: add an entry.
2. If the destMac is bcast, send to all ports except the incoming one. Return.
3. Look in the macAddrTable for the destMac.
3.1. If found, send the frame on the associated port.
3.2. Else, send the frame out on all ports, except the port the frame came in on.