Skip to content
  • Claudiu Manoil's avatar
    sandbox: Add a DSA sandbox driver and unit test · ff98da06
    Claudiu Manoil authored and Priyanka Jain's avatar Priyanka Jain committed
    
    
    The DSA sandbox driver is used for unit testing the DSA class code.
    It implements a simple 2 port switch plus 1 CPU port, and uses a
    very simple tag to identify the ports.
    
    The DSA sandbox device is connected via CPU port to a regular Ethernet
    sandbox device, called 'dsa-test-eth, managed by the existing eth
    sandbox driver.  The 'dsa-test-eth' is not intended for testing the
    eth class code however, but it is used to emulate traffic through the
    'lan0' and 'lan1' front pannel switch ports.  To achieve this the dsa
    sandbox driver registers a tx handler for the 'dsa-test-eth' device.
    The switch ports, labeled as 'lan0' and 'lan1', are also registered
    as eth devices by the dsa class code this time.  So pinging through
    these switch ports is as easy as:
    
    => setenv ethact lan0
    => ping 1.2.3.5
    
    Unit tests for the dsa class code were also added.  The 'dsa_probe'
    test exercises most API functions from dsa.h.  The 'dsa' unit test
    simply exercises ARP/ICMP traffic through the two switch ports,
    including tag injection and extraction, with the help of the dsa
    sandbox driver.
    
    I took care to minimize the impact on the existing eth unit tests,
    though some adjustments needed to be made with the addition of
    extra eth interfaces used by the dsa unit tests. The additional eth
    interfaces also require MAC addresses, these have been added to the
    sandbox default environment.
    
    Signed-off-by: default avatarAlex Marginean <alexandru.marginean@nxp.com>
    Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Message-Id: <20210216224804.3355044-5-olteanv@gmail.com>
    Signed-off-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
    Reviewed-by: Priyanka Jain's avatarPriyanka Jain <priyanka.jain@nxp.com>
    ff98da06