• Dmitry Safonov's avatar
    selftest/net/xfrm: Add test for ipsec tunnel · bc2652b7
    Dmitry Safonov authored
    It's an exhaustive testing for ipsec: covering all encryption/
    authentication/compression algorithms. The tests are run in two
    network namespaces, connected by veth interfaces. To make exhaustive
    testing less time-consuming, the tests are run in parallel tasks,
    specified by parameter to the selftest.
    
    As the patches set adds support for xfrm in compatible tasks, there are
    tests to check structures that differ in size between 64-bit and 32-bit
    applications.
    The selftest doesn't use libnl so that it can be easily compiled as
    compatible application and don't require compatible .so.
    
    Here is a diagram of the selftest:
    
                               ---------------
                               |  selftest   |
                               |  (parent)   |
                               ---------------
                                  |        |
                                  | (pipe) |
                                  ----------
                                 /   |  |   \
                   /-------------   /    \   -------------\
                   |          /-----      -----\          |
          ---------|----------|----------------|----------|---------
          |   ---------   ---------        ---------   ---------   |
          |   | child |   | child |  NS A  | child |   | child |   |
          |   ---------   ---------        ---------   ---------   |
          -------|------------|----------------|-------------|------
               veth0        veth1            veth2         vethN
        ---------|------------|----------------|-------------|----------
        | ------------  ------------       ------------   ------------ |
        | | gr.child |  | gr.child | NS B  | gr.child |   | gr.child | |
        | ------------  ------------       ------------   ------------ |
        ----------------------------------------------------------------
    
    The parent sends the description of a test (xfrm parameters) to the
    child, the child and grand child setup a tunnel over veth interface and
    test it by sending udp packets.
    
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: linux-kselftest@vger.kernel.org
    Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    bc2652b7
MAINTAINERS 557 KB