[etherswitch] add the first pass of a simple API to flush and fetch the L2…


[etherswitch] add the first pass of a simple API to flush and fetch the L2 address table from the ethernet switch.

This stuff may be a bit fluid during this -HEAD cycle as various other
switch features are added, but the current stuff is enough to drive
initial development and features on the atheros range of integrated
and external switches.

  • add a method to flush the whole address table;
  • add a method to flush all addresses on a given port;
  • add a method to download the address table;
  • .. and then a method to fetch entries from the address table.

The table fetch/read methods pass through to the drivers for now since
the drivers may implement different ways of fetching/caching the address
table data. The atheros devices for example fetch the table by
iterating over the table through a set of registers and so you need
to keep that locked whilst you iterate otherwise you may have the table
flushed half way by a port status change.

This is a no-op until the userland and arswitch code shows up.


adrianFeb 2 2018, 2:05 AM
rS328765: MFC of 328444.