Some residential gateway routers offer LAN side filtering of packets based on source MAC address. Typically a list of MAC addresses is defined on the DUT as well as whether this is an allow list or a deny list. For an allow list, the DUT allows traffic sourced from those MAC addresses on the network; traffic sourced by any other MAC address is blocked. For a deny list, the DUT blocks traffic sourced from those MAC addresses on the network; traffic sourced by any other MAC address is allowed.
mac-filter.tcl module allows this functionality to be
tested. In order to run these tests, several testvars need to be set
in the CDRouter configuration file.
supportsMacFiltering must be set to
yes to run any
MAC Filtering tests.
testvar supportsMacFiltering yes
macFilteringPolicy reflects whether the DUT is
configured to allow or deny its list of MAC addresses and should be
testvar macFilteringPolicy deny
Up to 10 filtered MAC addresses can be tested. These are defined as
filteredMac2, etc. and should reflect the list of
filtered MAC addresses configured on the DUT. Some tests require an
IPv4 address to be associated with the filtered MAC address, so each
filteredMac testvar should be paired with a filteredMacIp testvar. The IP addresses should be on the
LAN side network of the DUT.
testvar filteredMac1 00:11:22:33:44:55 testvar filteredMacIp1 192.168.1.55 testvar filteredMac2 00:11:22:33:44:56 testvar filteredMacIp2 192.168.1.56
Finally, a MAC address that is NOT filtered by the DUT should be defined as well as an IPv4 address for it. This MAC address should not be in the list of filtered MAC addresses configured on the DUT.
testvar unfilteredMac 00:11:22:33:44:99 testvar filteredMacIp 192.168.1.99
Some tests in the
mac-filter.tcl module test the allow capabilities
of the DUT; others test the deny capabilities of the DUT. The allow
tests will be skipped if macFilteringPolicy is set to
deny. Likewise, the deny tests will be skipped if macFilteringPolicy is set to
If the DUT is configured to deny its list of MAC addresses, be sure the regular LAN MAC address CDRouter uses IS NOT in its list. By default, the regular LAN MAC address CDRouter uses is based on the cdrouterOui testvar, but it can be changed by setting the lanMac testvar.
If the DUT is configured to allow its list of MAC addresses, be sure the regular LAN MAC address CDRouter uses IS in this list or else other tests will be affected. Also, any other MAC addresses (such as from a PC used to configure the DUT) should be included as well.