make -C tools/testing/selftests TARGETS=net TEST_PROGS=fcnal-test.sh TEST__GEN_PROGS="" run_tests
make: Entering directory '/home/virtme/testing-3/tools/testing/selftests'
make[1]: Entering directory '/home/virtme/testing-3/tools/testing/selftests/net'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/virtme/testing-3/tools/testing/selftests/net'
make[1]: Entering directory '/home/virtme/testing-3/tools/testing/selftests/net'
TAP version 13
1..1
# overriding timeout to 7200
# selftests: net: fcnal-test.sh
# 
# ###########################################################################
# IPv4 ping
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# SYSCTL: net.ipv4.raw_l3mdev_accept=0
# 
# TEST: ping out - ns-B IP                                                      [ OK ]
# TEST: ping out, device bind - ns-B IP                                         [ OK ]
# TEST: ping out, address bind - ns-B IP                                        [ OK ]
# TEST: ping out - ns-B loopback IP                                             [ OK ]
# TEST: ping out, device bind - ns-B loopback IP                                [ OK ]
# TEST: ping out, address bind - ns-B loopback IP                               [ OK ]
# TEST: ping out (don't route), peer on link - ns-B IP                          [ OK ]
# TEST: ping out (don't route), peer not on link - ns-B loopback IP             [ OK ]
# TEST: ping in - ns-A IP                                                       [ OK ]
# TEST: ping in - ns-A loopback IP                                              [ OK ]
# TEST: ping local - ns-A IP                                                    [ OK ]
# TEST: ping local - ns-A loopback IP                                           [ OK ]
# TEST: ping local - loopback                                                   [ OK ]
# TEST: ping local, device bind - ns-A IP                                       [ OK ]
# TEST: ping local, device bind - ns-A loopback IP                              [ OK ]
# TEST: ping local, device bind - loopback                                      [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IP                            [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IP                             [ OK ]
# TEST: ping out, blocked by route - ns-B loopback IP                           [ OK ]
# TEST: ping in, blocked by route - ns-A loopback IP                            [ OK ]
# TEST: ping out, unreachable default route - ns-B loopback IP                  [ OK ]
# SYSCTL: net.ipv4.raw_l3mdev_accept=1
# 
# TEST: ping out - ns-B IP                                                      [ OK ]
# TEST: ping out, device bind - ns-B IP                                         [ OK ]
# TEST: ping out, address bind - ns-B IP                                        [ OK ]
# TEST: ping out - ns-B loopback IP                                             [ OK ]
# TEST: ping out, device bind - ns-B loopback IP                                [ OK ]
# TEST: ping out, address bind - ns-B loopback IP                               [ OK ]
# TEST: ping out (don't route), peer on link - ns-B IP                          [ OK ]
# TEST: ping out (don't route), peer not on link - ns-B loopback IP             [ OK ]
# TEST: ping in - ns-A IP                                                       [ OK ]
# TEST: ping in - ns-A loopback IP                                              [ OK ]
# TEST: ping local - ns-A IP                                                    [ OK ]
# TEST: ping local - ns-A loopback IP                                           [ OK ]
# TEST: ping local - loopback                                                   [ OK ]
# TEST: ping local, device bind - ns-A IP                                       [ OK ]
# TEST: ping local, device bind - ns-A loopback IP                              [ OK ]
# TEST: ping local, device bind - loopback                                      [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IP                            [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IP                             [ OK ]
# TEST: ping out, blocked by route - ns-B loopback IP                           [ OK ]
# TEST: ping in, blocked by route - ns-A loopback IP                            [ OK ]
# TEST: ping out, unreachable default route - ns-B loopback IP                  [ OK ]
# TEST: ping out - ns-B IP                                                      [ OK ]
# TEST: ping out, device bind - ns-B IP                                         [ OK ]
# TEST: ping out, address bind - ns-B IP                                        [ OK ]
# TEST: ping out - ns-B loopback IP                                             [ OK ]
# TEST: ping out, device bind - ns-B loopback IP                                [ OK ]
# TEST: ping out, address bind - ns-B loopback IP                               [ OK ]
# TEST: ping out (don't route), peer on link - ns-B IP                          [ OK ]
# TEST: ping out (don't route), peer not on link - ns-B loopback IP             [ OK ]
# TEST: ping in - ns-A IP                                                       [ OK ]
# TEST: ping in - ns-A loopback IP                                              [ OK ]
# TEST: ping local - ns-A IP                                                    [ OK ]
# TEST: ping local - ns-A loopback IP                                           [ OK ]
# TEST: ping local - loopback                                                   [ OK ]
# TEST: ping local, device bind - ns-A IP                                       [ OK ]
# TEST: ping local, device bind - ns-A loopback IP                              [ OK ]
# TEST: ping local, device bind - loopback                                      [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IP                            [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IP                             [ OK ]
# TEST: ping out, blocked by route - ns-B loopback IP                           [ OK ]
# TEST: ping in, blocked by route - ns-A loopback IP                            [ OK ]
# TEST: ping out, unreachable default route - ns-B loopback IP                  [ OK ]
# 
# #################################################################
# With VRF
# 
# SYSCTL: net.ipv4.raw_l3mdev_accept=1
# 
# TEST: ping out, VRF bind - ns-B IP                                            [ OK ]
# TEST: ping out, device bind - ns-B IP                                         [ OK ]
# TEST: ping out, vrf device + dev address bind - ns-B IP                       [ OK ]
# TEST: ping out, vrf device + vrf address bind - ns-B IP                       [ OK ]
# TEST: ping out, VRF bind - ns-B loopback IP                                   [ OK ]
# TEST: ping out, device bind - ns-B loopback IP                                [ OK ]
# TEST: ping out, vrf device + dev address bind - ns-B loopback IP              [ OK ]
# TEST: ping out, vrf device + vrf address bind - ns-B loopback IP              [ OK ]
# TEST: ping in - ns-A IP                                                       [ OK ]
# TEST: ping in - VRF IP                                                        [ OK ]
# TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
# TEST: ping local, VRF bind - VRF IP                                           [ OK ]
# TEST: ping local, VRF bind - loopback                                         [ OK ]
# TEST: ping local, device bind - ns-A IP                                       [ OK ]
# TEST: ping local, device bind - VRF IP                                        [ OK ]
# TEST: ping local, device bind - loopback                                      [ OK ]
# TEST: ping out, vrf bind, blocked by rule - ns-B loopback IP                  [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IP               [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IP                             [ OK ]
# TEST: ping out, vrf bind, unreachable route - ns-B loopback IP                [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IP             [ OK ]
# TEST: ping in, unreachable route - ns-A loopback IP                           [ OK ]
# SYSCTL: net.ipv4.raw_l3mdev_accept=1
# 
# TEST: ping out, VRF bind - ns-B IP                                            [ OK ]
# TEST: ping out, device bind - ns-B IP                                         [ OK ]
# TEST: ping out, vrf device + dev address bind - ns-B IP                       [ OK ]
# TEST: ping out, vrf device + vrf address bind - ns-B IP                       [ OK ]
# TEST: ping out, VRF bind - ns-B loopback IP                                   [ OK ]
# TEST: ping out, device bind - ns-B loopback IP                                [ OK ]
# TEST: ping out, vrf device + dev address bind - ns-B loopback IP              [ OK ]
# TEST: ping out, vrf device + vrf address bind - ns-B loopback IP              [ OK ]
# TEST: ping in - ns-A IP                                                       [ OK ]
# TEST: ping in - VRF IP                                                        [ OK ]
# TEST: ping local, VRF bind - ns-A IP                                          [ OK ]
# TEST: ping local, VRF bind - VRF IP                                           [ OK ]
# TEST: ping local, VRF bind - loopback                                         [ OK ]
# TEST: ping local, device bind - ns-A IP                                       [ OK ]
# TEST: ping local, device bind - VRF IP                                        [ OK ]
# TEST: ping local, device bind - loopback                                      [ OK ]
# TEST: ping out, vrf bind, blocked by rule - ns-B loopback IP                  [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IP               [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IP                             [ OK ]
# TEST: ping out, vrf bind, unreachable route - ns-B loopback IP                [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IP             [ OK ]
# TEST: ping in, unreachable route - ns-A loopback IP                           [ OK ]
# 
# ###########################################################################
# IPv4/TCP
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# 
# #################################################################
# tcp_l3mdev_accept disabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: Global server - ns-A loopback IP                                        [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: No server - ns-A loopback IP                                            [ OK ]
# TEST: Client - ns-B IP                                                        [ OK ]
# TEST: Client, device bind - ns-B IP                                           [ OK ]
# TEST: No server, unbound client - ns-B IP                                     [ OK ]
# TEST: No server, device client - ns-B IP                                      [ OK ]
# TEST: Client - ns-B loopback IP                                               [ OK ]
# TEST: Client, device bind - ns-B loopback IP                                  [ OK ]
# TEST: No server, unbound client - ns-B loopback IP                            [ OK ]
# TEST: No server, device client - ns-B loopback IP                             [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: Global server, local connection - ns-A loopback IP                      [ OK ]
# TEST: Global server, local connection - loopback                              [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IP               [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IP      [ OK ]
# TEST: Device server, unbound client, local connection - loopback              [ OK ]
# TEST: Global server, device client, local connection - ns-A IP                [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IP       [ OK ]
# TEST: Global server, device client, local connection - loopback               [ OK ]
# TEST: Device server, device client, local connection - ns-A IP                [ OK ]
# TEST: No server, device client, local conn - ns-A IP                          [ OK ]
# TEST: MD5: Single address config                                              [ OK ]
# TEST: MD5: Server no config, client uses password                             [ OK ]
# TEST: MD5: Client uses wrong password                                         [ OK ]
# TEST: MD5: Client address does not match address configured with password     [ OK ]
# TEST: MD5: Prefix config                                                      [ OK ]
# TEST: MD5: Prefix config, client uses wrong password                          [ OK ]
# TEST: MD5: Prefix config, client address not in configured prefix             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=0 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE server, syncookies=0 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=0 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE server, syncookies=0 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE client, syncookies=2 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE server, syncookies=2 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=2 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE server, syncookies=2 - ns-B loopback IP                    [ OK ]
# 
# #################################################################
# tcp_l3mdev_accept enabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: Global server - ns-A loopback IP                                        [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: No server - ns-A loopback IP                                            [ OK ]
# TEST: Client - ns-B IP                                                        [ OK ]
# TEST: Client, device bind - ns-B IP                                           [ OK ]
# TEST: No server, unbound client - ns-B IP                                     [ OK ]
# TEST: No server, device client - ns-B IP                                      [ OK ]
# TEST: Client - ns-B loopback IP                                               [ OK ]
# TEST: Client, device bind - ns-B loopback IP                                  [ OK ]
# TEST: No server, unbound client - ns-B loopback IP                            [ OK ]
# TEST: No server, device client - ns-B loopback IP                             [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: Global server, local connection - ns-A loopback IP                      [ OK ]
# TEST: Global server, local connection - loopback                              [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IP               [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IP      [ OK ]
# TEST: Device server, unbound client, local connection - loopback              [ OK ]
# TEST: Global server, device client, local connection - ns-A IP                [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IP       [ OK ]
# TEST: Global server, device client, local connection - loopback               [ OK ]
# TEST: Device server, device client, local connection - ns-A IP                [ OK ]
# TEST: No server, device client, local conn - ns-A IP                          [ OK ]
# TEST: MD5: Single address config                                              [ OK ]
# TEST: MD5: Server no config, client uses password                             [ OK ]
# TEST: MD5: Client uses wrong password                                         [ OK ]
# TEST: MD5: Client address does not match address configured with password     [ OK ]
# TEST: MD5: Prefix config                                                      [ OK ]
# TEST: MD5: Prefix config, client uses wrong password                          [ OK ]
# TEST: MD5: Prefix config, client address not in configured prefix             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=0 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE server, syncookies=0 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=0 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE server, syncookies=0 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE client, syncookies=2 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE server, syncookies=2 - ns-B IP                             [ OK ]
# TEST: SO_DONTROUTE client, syncookies=2 - ns-B loopback IP                    [ OK ]
# TEST: SO_DONTROUTE server, syncookies=2 - ns-B loopback IP                    [ OK ]
# 
# #################################################################
# With VRF
# 
# 
# #################################################################
# Global server disabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: VRF server - ns-A IP                                                    [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server - VRF IP                                                  [ OK ]
# TEST: VRF server - VRF IP                                                     [ OK ]
# TEST: Device server - VRF IP                                                  [ OK ]
# TEST: No server - VRF IP                                                      [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: MD5: VRF: Single address config                                         [ OK ]
# TEST: MD5: VRF: Server no config, client uses password                        [ OK ]
# TEST: MD5: VRF: Client uses wrong password                                    [ OK ]
# TEST: MD5: VRF: Client address does not match address configured with password  [ OK ]
# TEST: MD5: VRF: Prefix config                                                 [ OK ]
# TEST: MD5: VRF: Prefix config, client uses wrong password                     [ OK ]
# TEST: MD5: VRF: Prefix config, client address not in configured prefix        [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in VRF     [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in default VRF  [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in default VRF with VRF pw  [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in VRF with default VRF pw  [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in VRF             [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in default VRF     [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in default VRF with VRF pw  [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in VRF with default VRF pw  [ OK ]
# TEST: MD5: VRF: Device must be a VRF - single address                         [ OK ]
# TEST: MD5: VRF: Device must be a VRF - prefix                                 [ OK ]
# TEST: MD5: VRF: VRF-bound server, unbound key accepts connection              [ OK ]
# TEST: MD5: VRF: VRF-bound server, bound key accepts connection                [ OK ]
# SYSCTL: net.ipv4.tcp_l3mdev_accept=1
# 
# TEST: MD5: VRF: Global server, Key bound to ifindex=0 rejects VRF connection  [ OK ]
# TEST: MD5: VRF: Global server, key bound to ifindex=0 accepts non-VRF connection  [ OK ]
# TEST: MD5: VRF: Global server, key not bound to ifindex accepts VRF connection  [ OK ]
# TEST: MD5: VRF: Global server, key not bound to ifindex accepts non-VRF connection  [ OK ]
# SYSCTL: net.ipv4.tcp_l3mdev_accept=0
# 
# 
# #################################################################
# VRF Global server enabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: VRF server - ns-A IP                                                    [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server - VRF IP                                                  [ OK ]
# TEST: VRF server - VRF IP                                                     [ OK ]
# TEST: No server - VRF IP                                                      [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: Global server, local connection - VRF IP                                [ OK ]
# TEST: Client, VRF bind - ns-B IP                                              [ OK ]
# TEST: Client, device bind - ns-B IP                                           [ OK ]
# TEST: No server, VRF client - ns-B IP                                         [ OK ]
# TEST: No server, device client - ns-B IP                                      [ OK ]
# TEST: Client, VRF bind - ns-B loopback IP                                     [ OK ]
# TEST: Client, device bind - ns-B loopback IP                                  [ OK ]
# TEST: No server, VRF client - ns-B loopback IP                                [ OK ]
# TEST: No server, device client - ns-B loopback IP                             [ OK ]
# TEST: VRF server, VRF client, local connection - ns-A IP                      [ OK ]
# TEST: VRF server, VRF client, local connection - VRF IP                       [ OK ]
# TEST: VRF server, VRF client, local connection - loopback                     [ OK ]
# TEST: VRF server, device client, local connection - ns-A IP                   [ OK ]
# TEST: VRF server, unbound client, local connection - ns-A IP                  [ OK ]
# TEST: Device server, VRF client, local connection - ns-A IP                   [ OK ]
# TEST: Device server, device client, local connection - ns-A IP                [ OK ]
# 
# ###########################################################################
# IPv4/UDP
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# 
# #################################################################
# udp_l3mdev_accept disabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server - ns-A loopback IP                                        [ OK ]
# TEST: No server - ns-A loopback IP                                            [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: Client - ns-B IP                                                        [ OK ]
# TEST: Client, device bind - ns-B IP                                           [ OK ]
# TEST: Client, device send via cmsg - ns-B IP                                  [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF - ns-B IP                         [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF, with connect() - ns-B IP         [ OK ]
# TEST: No server, unbound client - ns-B IP                                     [ OK ]
# TEST: No server, device client - ns-B IP                                      [ OK ]
# TEST: Client - ns-B loopback IP                                               [ OK ]
# TEST: Client, device bind - ns-B loopback IP                                  [ OK ]
# TEST: Client, device send via cmsg - ns-B loopback IP                         [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF - ns-B loopback IP                [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF, with connect() - ns-B loopback IP  [ OK ]
# TEST: No server, unbound client - ns-B loopback IP                            [ OK ]
# TEST: No server, device client - ns-B loopback IP                             [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: Global server, local connection - ns-A loopback IP                      [ OK ]
# TEST: Global server, local connection - loopback                              [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IP               [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IP      [ OK ]
# TEST: Device server, unbound client, local connection - loopback              [ OK ]
# TEST: Global server, device client, local connection - ns-A IP                [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A IP         [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A IP  [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IP       [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A loopback IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A loopback IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A loopback IP  [ OK ]
# TEST: Global server, device client, local connection - loopback               [ OK ]
# TEST: Global server, device send via cmsg, local connection - loopback        [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - loopback  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - loopback  [ OK ]
# TEST: Device server, device client, local conn - ns-A IP                      [ OK ]
# TEST: No server, device client, local conn - ns-A IP                          [ OK ]
# TEST: SO_DONTROUTE client - ns-B IP                                           [ OK ]
# TEST: SO_DONTROUTE client - ns-B loopback IP                                  [ OK ]
# 
# #################################################################
# udp_l3mdev_accept enabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server - ns-A loopback IP                                        [ OK ]
# TEST: No server - ns-A loopback IP                                            [ OK ]
# TEST: Device server - ns-A IP                                                 [ OK ]
# TEST: Client - ns-B IP                                                        [ OK ]
# TEST: Client, device bind - ns-B IP                                           [ OK ]
# TEST: Client, device send via cmsg - ns-B IP                                  [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF - ns-B IP                         [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF, with connect() - ns-B IP         [ OK ]
# TEST: No server, unbound client - ns-B IP                                     [ OK ]
# TEST: No server, device client - ns-B IP                                      [ OK ]
# TEST: Client - ns-B loopback IP                                               [ OK ]
# TEST: Client, device bind - ns-B loopback IP                                  [ OK ]
# TEST: Client, device send via cmsg - ns-B loopback IP                         [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF - ns-B loopback IP                [ OK ]
# TEST: Client, device bind via IP_UNICAST_IF, with connect() - ns-B loopback IP  [ OK ]
# TEST: No server, unbound client - ns-B loopback IP                            [ OK ]
# TEST: No server, device client - ns-B loopback IP                             [ OK ]
# TEST: Global server, local connection - ns-A IP                               [ OK ]
# TEST: Global server, local connection - ns-A loopback IP                      [ OK ]
# TEST: Global server, local connection - loopback                              [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IP               [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IP      [ OK ]
# TEST: Device server, unbound client, local connection - loopback              [ OK ]
# TEST: Global server, device client, local connection - ns-A IP                [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A IP         [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A IP  [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IP       [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A loopback IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A loopback IP  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A loopback IP  [ OK ]
# TEST: Global server, device client, local connection - loopback               [ OK ]
# TEST: Global server, device send via cmsg, local connection - loopback        [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - loopback  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - loopback  [ OK ]
# TEST: Device server, device client, local conn - ns-A IP                      [ OK ]
# TEST: No server, device client, local conn - ns-A IP                          [ OK ]
# TEST: SO_DONTROUTE client - ns-B IP                                           [ OK ]
# TEST: SO_DONTROUTE client - ns-B loopback IP                                  [ OK ]
# 
# #################################################################
# With VRF
# 
# 
# #################################################################
# Global server disabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: VRF server - ns-A IP                                                    [ OK ]
# TEST: Enslaved device server - ns-A IP                                        [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server, VRF client, local connection - ns-A IP                   [ OK ]
# TEST: Global server - VRF IP                                                  [ OK ]
# TEST: VRF server - VRF IP                                                     [ OK ]
# TEST: Enslaved device server - VRF IP                                         [ OK ]
# TEST: No server - VRF IP                                                      [ OK ]
# TEST: Global server, VRF client, local connection - VRF IP                    [ OK ]
# TEST: VRF server, VRF client, local conn - ns-A IP                            [ OK ]
# TEST: VRF server, enslaved device client, local connection - ns-A IP          [ OK ]
# TEST: Enslaved device server, VRF client, local conn - ns-A IP                [ OK ]
# TEST: Enslaved device server, device client, local conn - ns-A IP             [ OK ]
# 
# #################################################################
# Global server enabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IP                                                 [ OK ]
# TEST: VRF server - ns-A IP                                                    [ OK ]
# TEST: Enslaved device server - ns-A IP                                        [ OK ]
# TEST: No server - ns-A IP                                                     [ OK ]
# TEST: Global server - VRF IP                                                  [ OK ]
# TEST: VRF server - VRF IP                                                     [ OK ]
# TEST: Enslaved device server - VRF IP                                         [ OK ]
# TEST: No server - VRF IP                                                      [ OK ]
# TEST: VRF client                                                              [ OK ]
# TEST: Enslaved device client                                                  [ OK ]
# TEST: No server, VRF client                                                   [ OK ]
# TEST: No server, enslaved device client                                       [ OK ]
# TEST: Global server, VRF client, local conn - ns-A IP                         [ OK ]
# TEST: VRF server, VRF client, local conn - ns-A IP                            [ OK ]
# TEST: VRF server, device client, local conn - ns-A IP                         [ OK ]
# TEST: Enslaved device server, VRF client, local conn - ns-A IP                [ OK ]
# TEST: Enslaved device server, device client, local conn - ns-A IP             [ OK ]
# TEST: Global server, VRF client, local conn - VRF IP                          [ OK ]
# TEST: Global server, VRF client, local conn - loopback                        [ OK ]
# TEST: VRF server, VRF client, local conn - VRF IP                             [ OK ]
# TEST: VRF server, VRF client, local conn - loopback                           [ OK ]
# TEST: No server, VRF client, local conn - ns-A IP                             [ OK ]
# TEST: No server, VRF client, local conn - VRF IP                              [ OK ]
# TEST: No server, VRF client, local conn - loopback                            [ OK ]
# 
# ###########################################################################
# IPv4 address binds
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# TEST: Raw socket bind to local address - ns-A IP                              [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A IP            [ OK ]
# TEST: Raw socket bind to local address - ns-A loopback IP                     [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A loopback IP   [ OK ]
# TEST: Raw socket bind to nonlocal address - nonlocal IP                       [ OK ]
# TEST: TCP socket bind to nonlocal address - nonlocal IP                       [ OK ]
# TEST: ICMP socket bind to nonlocal address - nonlocal IP                      [ OK ]
# TEST: ICMP socket bind to broadcast address - broadcast                       [ OK ]
# TEST: ICMP socket bind to multicast address - multicast                       [ OK ]
# TEST: TCP socket bind to local address - ns-A IP                              [ OK ]
# TEST: TCP socket bind to local address after device bind - ns-A IP            [ OK ]
# 
# #################################################################
# With VRF
# 
# TEST: Raw socket bind to local address - ns-A IP                              [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A IP            [ OK ]
# TEST: Raw socket bind to local address after VRF bind - ns-A IP               [ OK ]
# TEST: Raw socket bind to local address - VRF IP                               [ OK ]
# TEST: Raw socket bind to local address after device bind - VRF IP             [ OK ]
# TEST: Raw socket bind to local address after VRF bind - VRF IP                [ OK ]
# TEST: Raw socket bind to out of scope address after VRF bind - ns-A loopback IP  [ OK ]
# TEST: Raw socket bind to nonlocal address after VRF bind - nonlocal IP        [ OK ]
# TEST: TCP socket bind to nonlocal address after VRF bind - nonlocal IP        [ OK ]
# TEST: ICMP socket bind to nonlocal address after VRF bind - nonlocal IP       [ OK ]
# TEST: ICMP socket bind to broadcast address after VRF bind - broadcast        [ OK ]
# TEST: ICMP socket bind to multicast address after VRF bind - multicast        [ OK ]
# TEST: TCP socket bind to local address - ns-A IP                              [ OK ]
# TEST: TCP socket bind to local address after device bind - ns-A IP            [ OK ]
# TEST: TCP socket bind to local address - VRF IP                               [ OK ]
# TEST: TCP socket bind to local address after device bind - VRF IP             [ OK ]
# TEST: TCP socket bind to invalid local address for VRF - ns-A loopback IP     [ OK ]
# TEST: TCP socket bind to invalid local address for device bind - ns-A loopback IP  [ OK ]
# 
# ###########################################################################
# Run time tests - ipv4
# ###########################################################################
# 
# TEST: Device delete with active traffic - ping in - ns-A IP                   [ OK ]
# TEST: Device delete with active traffic - ping in - VRF IP                    [ OK ]
# TEST: Device delete with active traffic - ping out - ns-B IP                  [ OK ]
# TEST: TCP active socket, global server - ns-A IP                              [ OK ]
# TEST: TCP active socket, global server - VRF IP                               [ OK ]
# TEST: TCP active socket, VRF server - ns-A IP                                 [ OK ]
# TEST: TCP active socket, VRF server - VRF IP                                  [ OK ]
# TEST: TCP active socket, enslaved device server - ns-A IP                     [ OK ]
# TEST: TCP active socket, VRF client - ns-A IP                                 [ OK ]
# TEST: TCP active socket, enslaved device client - ns-A IP                     [ OK ]
# TEST: TCP active socket, global server, VRF client, local - ns-A IP           [ OK ]
# TEST: TCP active socket, global server, VRF client, local - VRF IP            [ OK ]
# TEST: TCP active socket, VRF server and client, local - ns-A IP               [ OK ]
# TEST: TCP active socket, VRF server and client, local - VRF IP                [ OK ]
# TEST: TCP active socket, global server, enslaved device client, local - ns-A IP  [ OK ]
# TEST: TCP active socket, VRF server, enslaved device client, local - ns-A IP  [ OK ]
# TEST: TCP active socket, enslaved device server and client, local - ns-A IP   [ OK ]
# TEST: TCP passive socket, global server - ns-A IP                             [ OK ]
# TEST: TCP passive socket, global server - VRF IP                              [ OK ]
# TEST: TCP passive socket, VRF server - ns-A IP                                [ OK ]
# TEST: TCP passive socket, VRF server - VRF IP                                 [ OK ]
# TEST: TCP passive socket, enslaved device server - ns-A IP                    [ OK ]
# TEST: TCP passive socket, VRF client - ns-A IP                                [ OK ]
# TEST: TCP passive socket, enslaved device client - ns-A IP                    [ OK ]
# TEST: TCP passive socket, global server, VRF client, local - ns-A IP          [ OK ]
# TEST: TCP passive socket, global server, VRF client, local - VRF IP           [ OK ]
# TEST: TCP passive socket, VRF server and client, local - ns-A IP              [ OK ]
# TEST: TCP passive socket, VRF server and client, local - VRF IP               [ OK ]
# TEST: TCP passive socket, global server, enslaved device client, local - ns-A IP  [ OK ]
# TEST: TCP passive socket, VRF server, enslaved device client, local - ns-A IP  [ OK ]
# TEST: TCP passive socket, enslaved device server and client, local - ns-A IP  [ OK ]
# 
# ###########################################################################
# IPv4 Netfilter
# ###########################################################################
# 
# 
# #################################################################
# TCP reset
# 
# TEST: Global server, reject with TCP-reset on Rx - ns-A IP                    [ OK ]
# TEST: Global server, reject with TCP-reset on Rx - VRF IP                     [ OK ]
# 
# #################################################################
# ICMP unreachable
# 
# TEST: Global TCP server, Rx reject icmp-port-unreach - ns-A IP                [ OK ]
# TEST: Global TCP server, Rx reject icmp-port-unreach - VRF IP                 [ OK ]
# TEST: Global UDP server, Rx reject icmp-port-unreach - ns-A IP                [ OK ]
# TEST: Global UDP server, Rx reject icmp-port-unreach - VRF IP                 [ OK ]
# 
# ###########################################################################
# IPv6 ping
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# SYSCTL: net.ipv4.raw_l3mdev_accept=0
# 
# TEST: ping out - ns-B IPv6                                                    [ OK ]
# TEST: ping out - ns-B loopback IPv6                                           [ OK ]
# TEST: ping out - ns-B IPv6 LLA                                                [ OK ]
# TEST: ping out - multicast IP                                                 [ OK ]
# TEST: ping out, device bind - ns-B IPv6                                       [ OK ]
# TEST: ping out, loopback address bind - ns-B IPv6                             [ OK ]
# TEST: ping out, device bind - ns-B loopback IPv6                              [ OK ]
# TEST: ping out, loopback address bind - ns-B loopback IPv6                    [ OK ]
# TEST: ping in - ns-A IPv6                                                     [ OK ]
# TEST: ping in - ns-A loopback IPv6                                            [ OK ]
# TEST: ping in - ns-A IPv6 LLA                                                 [ OK ]
# TEST: ping in - multicast IP                                                  [ OK ]
# TEST: ping local, no bind - ns-A IPv6                                         [ OK ]
# TEST: ping local, no bind - ns-A loopback IPv6                                [ OK ]
# TEST: ping local, no bind - IPv6 loopback                                     [ OK ]
# TEST: ping local, no bind - ns-A IPv6 LLA                                     [ OK ]
# TEST: ping local, no bind - multicast IP                                      [ OK ]
# TEST: ping local, device bind - ns-A IPv6                                     [ OK ]
# TEST: ping local, device bind - ns-A IPv6 LLA                                 [ OK ]
# TEST: ping local, device bind - multicast IP                                  [ OK ]
# TEST: ping local, device bind - ns-A loopback IPv6                            [ OK ]
# TEST: ping local, device bind - IPv6 loopback                                 [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IPv6                          [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IPv6             [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IPv6                           [ OK ]
# TEST: ping out, blocked by route - ns-B loopback IPv6                         [ OK ]
# TEST: ping out, device bind, blocked by route - ns-B loopback IPv6            [ OK ]
# TEST: ping in, blocked by route - ns-A loopback IPv6                          [ OK ]
# TEST: ping out, unreachable route - ns-B loopback IPv6                        [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IPv6           [ OK ]
# SYSCTL: net.ipv4.raw_l3mdev_accept=0
# 
# TEST: ping out - ns-B IPv6                                                    [ OK ]
# TEST: ping out - ns-B loopback IPv6                                           [ OK ]
# TEST: ping out - ns-B IPv6 LLA                                                [ OK ]
# TEST: ping out - multicast IP                                                 [ OK ]
# TEST: ping out, device bind - ns-B IPv6                                       [ OK ]
# TEST: ping out, loopback address bind - ns-B IPv6                             [ OK ]
# TEST: ping out, device bind - ns-B loopback IPv6                              [ OK ]
# TEST: ping out, loopback address bind - ns-B loopback IPv6                    [ OK ]
# TEST: ping in - ns-A IPv6                                                     [ OK ]
# TEST: ping in - ns-A loopback IPv6                                            [ OK ]
# TEST: ping in - ns-A IPv6 LLA                                                 [ OK ]
# TEST: ping in - multicast IP                                                  [ OK ]
# TEST: ping local, no bind - ns-A IPv6                                         [ OK ]
# TEST: ping local, no bind - ns-A loopback IPv6                                [ OK ]
# TEST: ping local, no bind - IPv6 loopback                                     [ OK ]
# TEST: ping local, no bind - ns-A IPv6 LLA                                     [ OK ]
# TEST: ping local, no bind - multicast IP                                      [ OK ]
# TEST: ping local, device bind - ns-A IPv6                                     [ OK ]
# TEST: ping local, device bind - ns-A IPv6 LLA                                 [ OK ]
# TEST: ping local, device bind - multicast IP                                  [ OK ]
# TEST: ping local, device bind - ns-A loopback IPv6                            [ OK ]
# TEST: ping local, device bind - IPv6 loopback                                 [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IPv6                          [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IPv6             [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IPv6                           [ OK ]
# TEST: ping out, blocked by route - ns-B loopback IPv6                         [ OK ]
# TEST: ping out, device bind, blocked by route - ns-B loopback IPv6            [ OK ]
# TEST: ping in, blocked by route - ns-A loopback IPv6                          [ OK ]
# TEST: ping out, unreachable route - ns-B loopback IPv6                        [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IPv6           [ OK ]
# 
# #################################################################
# With VRF
# 
# SYSCTL: net.ipv4.raw_l3mdev_accept=1
# 
# TEST: ping out, VRF bind - ns-B IPv6                                          [ OK ]
# TEST: ping out, VRF bind - ns-B loopback IPv6                                 [ OK ]
# TEST: ping out, VRF bind - ns-B IPv6 LLA                                      [ OK ]
# TEST: ping out, VRF bind - multicast IP                                       [ OK ]
# TEST: ping out, device bind - ns-B IPv6                                       [ OK ]
# TEST: ping out, device bind - ns-B loopback IPv6                              [ OK ]
# TEST: ping out, device bind - ns-B IPv6 LLA                                   [ OK ]
# TEST: ping out, device bind - multicast IP                                    [ OK ]
# TEST: ping out, vrf device+address bind - ns-B IPv6                           [ OK ]
# TEST: ping out, vrf device+address bind - ns-B loopback IPv6                  [ OK ]
# TEST: ping out, vrf device+address bind - ns-B IPv6 LLA                       [ OK ]
# TEST: ping in - ns-A IPv6                                                     [ OK ]
# TEST: ping in - VRF IPv6                                                      [ OK ]
# TEST: ping in - ns-A IPv6 LLA                                                 [ OK ]
# TEST: ping in - multicast IP                                                  [ OK ]
# TEST: ping in - ns-A loopback IPv6                                            [ OK ]
# TEST: ping local, VRF bind - ns-A IPv6                                        [ OK ]
# TEST: ping local, VRF bind - VRF IPv6                                         [ OK ]
# TEST: ping local, VRF bind - IPv6 loopback                                    [ OK ]
# TEST: ping local, device bind - ns-A IPv6                                     [ OK ]
# TEST: ping local, device bind - ns-A IPv6 LLA                                 [ OK ]
# TEST: ping local, device bind - multicast IP                                  [ OK ]
# TEST: ping in, LLA to GUA - ns-A IPv6                                         [ OK ]
# TEST: ping in, LLA to GUA - VRF IPv6                                          [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IPv6                          [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IPv6             [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IPv6                           [ OK ]
# TEST: ping out, unreachable route - ns-B loopback IPv6                        [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IPv6           [ OK ]
# TEST: ping in, unreachable route - ns-A loopback IPv6                         [ OK ]
# SYSCTL: net.ipv4.raw_l3mdev_accept=1
# 
# TEST: ping out, VRF bind - ns-B IPv6                                          [ OK ]
# TEST: ping out, VRF bind - ns-B loopback IPv6                                 [ OK ]
# TEST: ping out, VRF bind - ns-B IPv6 LLA                                      [ OK ]
# TEST: ping out, VRF bind - multicast IP                                       [ OK ]
# TEST: ping out, device bind - ns-B IPv6                                       [ OK ]
# TEST: ping out, device bind - ns-B loopback IPv6                              [ OK ]
# TEST: ping out, device bind - ns-B IPv6 LLA                                   [ OK ]
# TEST: ping out, device bind - multicast IP                                    [ OK ]
# TEST: ping out, vrf device+address bind - ns-B IPv6                           [ OK ]
# TEST: ping out, vrf device+address bind - ns-B loopback IPv6                  [ OK ]
# TEST: ping out, vrf device+address bind - ns-B IPv6 LLA                       [ OK ]
# TEST: ping in - ns-A IPv6                                                     [ OK ]
# TEST: ping in - VRF IPv6                                                      [ OK ]
# TEST: ping in - ns-A IPv6 LLA                                                 [ OK ]
# TEST: ping in - multicast IP                                                  [ OK ]
# TEST: ping in - ns-A loopback IPv6                                            [ OK ]
# TEST: ping local, VRF bind - ns-A IPv6                                        [ OK ]
# TEST: ping local, VRF bind - VRF IPv6                                         [ OK ]
# TEST: ping local, VRF bind - IPv6 loopback                                    [ OK ]
# TEST: ping local, device bind - ns-A IPv6                                     [ OK ]
# TEST: ping local, device bind - ns-A IPv6 LLA                                 [ OK ]
# TEST: ping local, device bind - multicast IP                                  [ OK ]
# TEST: ping in, LLA to GUA - ns-A IPv6                                         [ OK ]
# TEST: ping in, LLA to GUA - VRF IPv6                                          [ OK ]
# TEST: ping out, blocked by rule - ns-B loopback IPv6                          [ OK ]
# TEST: ping out, device bind, blocked by rule - ns-B loopback IPv6             [ OK ]
# TEST: ping in, blocked by rule - ns-A loopback IPv6                           [ OK ]
# TEST: ping out, unreachable route - ns-B loopback IPv6                        [ OK ]
# TEST: ping out, device bind, unreachable route - ns-B loopback IPv6           [ OK ]
# TEST: ping in, unreachable route - ns-A loopback IPv6                         [ OK ]
# 
# ###########################################################################
# IPv6/TCP
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# 
# #################################################################
# tcp_l3mdev_accept disabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - ns-A loopback IPv6                                      [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - ns-A loopback IPv6                                          [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Client - ns-B IPv6                                                      [ OK ]
# TEST: Client - ns-B loopback IPv6                                             [ OK ]
# TEST: Client - ns-B IPv6 LLA                                                  [ OK ]
# TEST: Client, device bind - ns-B IPv6                                         [ OK ]
# TEST: Client, device bind - ns-B loopback IPv6                                [ OK ]
# TEST: Client, device bind - ns-B IPv6 LLA                                     [ OK ]
# TEST: No server, device client - ns-B IPv6                                    [ OK ]
# TEST: No server, device client - ns-B loopback IPv6                           [ OK ]
# TEST: No server, device client - ns-B IPv6 LLA                                [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: Global server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Global server, local connection - IPv6 loopback                         [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IPv6             [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IPv6    [ OK ]
# TEST: Device server, unbound client, local connection - IPv6 loopback         [ OK ]
# TEST: Global server, device client, local connection - ns-A IPv6              [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IPv6     [ OK ]
# TEST: Global server, device client, local connection - IPv6 loopback          [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6 LLA                [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6                        [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6 LLA                    [ OK ]
# TEST: MD5: Single address config                                              [ OK ]
# TEST: MD5: Server no config, client uses password                             [ OK ]
# TEST: MD5: Client uses wrong password                                         [ OK ]
# TEST: MD5: Client address does not match address configured with password     [ OK ]
# TEST: MD5: Prefix config                                                      [ OK ]
# TEST: MD5: Prefix config, client uses wrong password                          [ OK ]
# TEST: MD5: Prefix config, client address not in configured prefix             [ OK ]
# 
# #################################################################
# tcp_l3mdev_accept enabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - ns-A loopback IPv6                                      [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - ns-A loopback IPv6                                          [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Client - ns-B IPv6                                                      [ OK ]
# TEST: Client - ns-B loopback IPv6                                             [ OK ]
# TEST: Client - ns-B IPv6 LLA                                                  [ OK ]
# TEST: Client, device bind - ns-B IPv6                                         [ OK ]
# TEST: Client, device bind - ns-B loopback IPv6                                [ OK ]
# TEST: Client, device bind - ns-B IPv6 LLA                                     [ OK ]
# TEST: No server, device client - ns-B IPv6                                    [ OK ]
# TEST: No server, device client - ns-B loopback IPv6                           [ OK ]
# TEST: No server, device client - ns-B IPv6 LLA                                [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: Global server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Global server, local connection - IPv6 loopback                         [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IPv6             [ OK ]
# TEST: Device server, unbound client, local connection - ns-A loopback IPv6    [ OK ]
# TEST: Device server, unbound client, local connection - IPv6 loopback         [ OK ]
# TEST: Global server, device client, local connection - ns-A IPv6              [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IPv6     [ OK ]
# TEST: Global server, device client, local connection - IPv6 loopback          [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6 LLA                [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6                        [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6 LLA                    [ OK ]
# TEST: MD5: Single address config                                              [ OK ]
# TEST: MD5: Server no config, client uses password                             [ OK ]
# TEST: MD5: Client uses wrong password                                         [ OK ]
# TEST: MD5: Client address does not match address configured with password     [ OK ]
# TEST: MD5: Prefix config                                                      [ OK ]
# TEST: MD5: Prefix config, client uses wrong password                          [ OK ]
# TEST: MD5: Prefix config, client address not in configured prefix             [ OK ]
# 
# #################################################################
# With VRF
# 
# 
# #################################################################
# Global server disabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - VRF IPv6                                                [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: VRF server - ns-A IPv6                                                  [ OK ]
# TEST: VRF server - VRF IPv6                                                   [ OK ]
# TEST: VRF server - ns-A IPv6 LLA                                              [ OK ]
# TEST: Device server - ns-A IPv6                                               [ OK ]
# TEST: Device server - VRF IPv6                                                [ OK ]
# TEST: Device server - ns-A IPv6 LLA                                           [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - VRF IPv6                                                    [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: MD5: VRF: Single address config                                         [ OK ]
# TEST: MD5: VRF: Server no config, client uses password                        [ OK ]
# TEST: MD5: VRF: Client uses wrong password                                    [ OK ]
# TEST: MD5: VRF: Client address does not match address configured with password  [ OK ]
# TEST: MD5: VRF: Prefix config                                                 [ OK ]
# TEST: MD5: VRF: Prefix config, client uses wrong password                     [ OK ]
# TEST: MD5: VRF: Prefix config, client address not in configured prefix        [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in VRF     [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in default VRF  [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in default VRF with VRF pw  [ OK ]
# TEST: MD5: VRF: Single address config in default VRF and VRF, conn in VRF with default VRF pw  [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in VRF             [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in default VRF     [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in default VRF with VRF pw  [ OK ]
# TEST: MD5: VRF: Prefix config in default VRF and VRF, conn in VRF with default VRF pw  [ OK ]
# TEST: MD5: VRF: Device must be a VRF - single address                         [ OK ]
# TEST: MD5: VRF: Device must be a VRF - prefix                                 [ OK ]
# 
# #################################################################
# VRF Global server enabled
# 
# SYSCTL: net.ipv4.tcp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - VRF IPv6                                                [ OK ]
# TEST: VRF server - ns-A IPv6                                                  [ OK ]
# TEST: VRF server - VRF IPv6                                                   [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: VRF server - ns-A IPv6 LLA                                              [ OK ]
# TEST: Device server - ns-A IPv6                                               [ OK ]
# TEST: Device server - ns-A IPv6 LLA                                           [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - VRF IPv6                                                    [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: Global server, local connection - VRF IPv6                              [ OK ]
# TEST: Client, VRF bind - ns-B IPv6                                            [ OK ]
# TEST: Client, VRF bind - ns-B loopback IPv6                                   [ OK ]
# TEST: Client, VRF bind - ns-B IPv6 LLA                                        [ OK ]
# TEST: Client, device bind - ns-B IPv6                                         [ OK ]
# TEST: Client, device bind - ns-B loopback IPv6                                [ OK ]
# TEST: Client, device bind - ns-B IPv6 LLA                                     [ OK ]
# TEST: No server, VRF client - ns-B IPv6                                       [ OK ]
# TEST: No server, VRF client - ns-B loopback IPv6                              [ OK ]
# TEST: No server, device client - ns-B IPv6                                    [ OK ]
# TEST: No server, device client - ns-B loopback IPv6                           [ OK ]
# TEST: No server, device client - ns-B IPv6 LLA                                [ OK ]
# TEST: VRF server, VRF client, local connection - ns-A IPv6                    [ OK ]
# TEST: VRF server, VRF client, local connection - VRF IPv6                     [ OK ]
# TEST: VRF server, VRF client, local connection - IPv6 loopback                [ OK ]
# TEST: VRF server, device client, local connection - ns-A IPv6                 [ OK ]
# TEST: VRF server, unbound client, local connection - ns-A IPv6                [ OK ]
# TEST: Device server, VRF client, local connection - ns-A IPv6                 [ OK ]
# TEST: Device server, device client, local connection - ns-A IPv6              [ OK ]
# TEST: Device server, device client, local connection - ns-A IPv6 LLA          [ OK ]
# SYSCTL: net.ipv4.udp_early_demux=1
# 
# 
# ###########################################################################
# IPv6/UDP
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# 
# #################################################################
# udp_l3mdev_accept disabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Device server - ns-A IPv6                                               [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: Device server - ns-A IPv6 LLA                                           [ OK ]
# TEST: Global server - ns-A loopback IPv6                                      [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - ns-A loopback IPv6                                          [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Client - ns-B IPv6                                                      [ OK ]
# TEST: Client, device bind - ns-B IPv6                                         [ OK ]
# TEST: Client, device send via cmsg - ns-B IPv6                                [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B IPv6                     [ OK ]
# TEST: No server, unbound client - ns-B IPv6                                   [ OK ]
# TEST: No server, device client - ns-B IPv6                                    [ OK ]
# TEST: Client - ns-B loopback IPv6                                             [ OK ]
# TEST: Client, device bind - ns-B loopback IPv6                                [ OK ]
# TEST: Client, device send via cmsg - ns-B loopback IPv6                       [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B loopback IPv6            [ OK ]
# TEST: No server, unbound client - ns-B loopback IPv6                          [ OK ]
# TEST: No server, device client - ns-B loopback IPv6                           [ OK ]
# TEST: Client - ns-B IPv6 LLA                                                  [ OK ]
# TEST: Client, device bind - ns-B IPv6 LLA                                     [ OK ]
# TEST: Client, device send via cmsg - ns-B IPv6 LLA                            [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B IPv6 LLA                 [ OK ]
# TEST: No server, unbound client - ns-B IPv6 LLA                               [ OK ]
# TEST: No server, device client - ns-B IPv6 LLA                                [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: Global server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Global server, local connection - IPv6 loopback                         [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IPv6             [ OK ]
# TEST: Device server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Device server, local connection - IPv6 loopback                         [ OK ]
# TEST: Global server, device client, local connection - ns-A IPv6              [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A IPv6       [ OK ]
# TEST: Global server, device client via IPV6_UNICAST_IF, local connection - ns-A IPv6  [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IPv6     [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client, local connection - IPv6 loopback          [ OK ]
# TEST: Global server, device send via cmsg, local connection - IPv6 loopback   [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - IPv6 loopback  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - IPv6 loopback  [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6                        [ OK ]
# TEST: UDP in - LLA to GUA                                                     [ OK ]
# 
# #################################################################
# udp_l3mdev_accept enabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Device server - ns-A IPv6                                               [ OK ]
# TEST: Global server - ns-A IPv6 LLA                                           [ OK ]
# TEST: Device server - ns-A IPv6 LLA                                           [ OK ]
# TEST: Global server - ns-A loopback IPv6                                      [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - ns-A loopback IPv6                                          [ OK ]
# TEST: No server - ns-A IPv6 LLA                                               [ OK ]
# TEST: Client - ns-B IPv6                                                      [ OK ]
# TEST: Client, device bind - ns-B IPv6                                         [ OK ]
# TEST: Client, device send via cmsg - ns-B IPv6                                [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B IPv6                     [ OK ]
# TEST: No server, unbound client - ns-B IPv6                                   [ OK ]
# TEST: No server, device client - ns-B IPv6                                    [ OK ]
# TEST: Client - ns-B loopback IPv6                                             [ OK ]
# TEST: Client, device bind - ns-B loopback IPv6                                [ OK ]
# TEST: Client, device send via cmsg - ns-B loopback IPv6                       [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B loopback IPv6            [ OK ]
# TEST: No server, unbound client - ns-B loopback IPv6                          [ OK ]
# TEST: No server, device client - ns-B loopback IPv6                           [ OK ]
# TEST: Client - ns-B IPv6 LLA                                                  [ OK ]
# TEST: Client, device bind - ns-B IPv6 LLA                                     [ OK ]
# TEST: Client, device send via cmsg - ns-B IPv6 LLA                            [ OK ]
# TEST: Client, device bind via IPV6_UNICAST_IF - ns-B IPv6 LLA                 [ OK ]
# TEST: No server, unbound client - ns-B IPv6 LLA                               [ OK ]
# TEST: No server, device client - ns-B IPv6 LLA                                [ OK ]
# TEST: Global server, local connection - ns-A IPv6                             [ OK ]
# TEST: Global server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Global server, local connection - IPv6 loopback                         [ OK ]
# TEST: Device server, unbound client, local connection - ns-A IPv6             [ OK ]
# TEST: Device server, local connection - ns-A loopback IPv6                    [ OK ]
# TEST: Device server, local connection - IPv6 loopback                         [ OK ]
# TEST: Global server, device client, local connection - ns-A IPv6              [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A IPv6       [ OK ]
# TEST: Global server, device client via IPV6_UNICAST_IF, local connection - ns-A IPv6  [ OK ]
# TEST: Global server, device client, local connection - ns-A loopback IPv6     [ OK ]
# TEST: Global server, device send via cmsg, local connection - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - ns-A loopback IPv6  [ OK ]
# TEST: Global server, device client, local connection - IPv6 loopback          [ OK ]
# TEST: Global server, device send via cmsg, local connection - IPv6 loopback   [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection - IPv6 loopback  [ OK ]
# TEST: Global server, device client via IP_UNICAST_IF, local connection, with connect() - IPv6 loopback  [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6                        [ OK ]
# TEST: UDP in - LLA to GUA                                                     [ OK ]
# 
# #################################################################
# With VRF
# 
# 
# #################################################################
# Global server disabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=0
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - VRF IPv6                                                [ OK ]
# TEST: VRF server - ns-A IPv6                                                  [ OK ]
# TEST: VRF server - VRF IPv6                                                   [ OK ]
# TEST: Enslaved device server - ns-A IPv6                                      [ OK ]
# TEST: Enslaved device server - VRF IPv6                                       [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - VRF IPv6                                                    [ OK ]
# TEST: Global server, VRF client, local conn - ns-A IPv6                       [ OK ]
# TEST: Global server, VRF client, local conn - VRF IPv6                        [ OK ]
# TEST: VRF server, VRF client, local conn - ns-A IPv6                          [ OK ]
# TEST: VRF server, VRF client, local conn - VRF IPv6                           [ OK ]
# TEST: Global server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: VRF server, device client, local conn - ns-A IPv6                       [ OK ]
# TEST: Enslaved device server, VRF client, local conn - ns-A IPv6              [ OK ]
# TEST: Enslaved device server, device client, local conn - ns-A IPv6           [ OK ]
# 
# #################################################################
# Global server enabled
# 
# SYSCTL: net.ipv4.udp_l3mdev_accept=1
# 
# TEST: Global server - ns-A IPv6                                               [ OK ]
# TEST: Global server - VRF IPv6                                                [ OK ]
# TEST: VRF server - ns-A IPv6                                                  [ OK ]
# TEST: VRF server - VRF IPv6                                                   [ OK ]
# TEST: Enslaved device server - ns-A IPv6                                      [ OK ]
# TEST: Enslaved device server - VRF IPv6                                       [ OK ]
# TEST: No server - ns-A IPv6                                                   [ OK ]
# TEST: No server - VRF IPv6                                                    [ OK ]
# TEST: VRF client                                                              [ OK ]
# TEST: No server, VRF client                                                   [ OK ]
# TEST: Enslaved device client                                                  [ OK ]
# TEST: No server, enslaved device client                                       [ OK ]
# TEST: Global server, VRF client, local conn - ns-A IPv6                       [ OK ]
# TEST: VRF server, VRF client, local conn - ns-A IPv6                          [ OK ]
# TEST: Global server, VRF client, local conn - VRF IPv6                        [ OK ]
# TEST: VRF server, VRF client, local conn - VRF IPv6                           [ OK ]
# TEST: No server, VRF client, local conn - ns-A IPv6                           [ OK ]
# TEST: No server, VRF client, local conn - VRF IPv6                            [ OK ]
# TEST: Global server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: VRF server, device client, local conn - ns-A IPv6                       [ OK ]
# TEST: Device server, VRF client, local conn - ns-A IPv6                       [ OK ]
# TEST: Device server, device client, local conn - ns-A IPv6                    [ OK ]
# TEST: No server, device client, local conn - ns-A IPv6                        [ OK ]
# TEST: Global server, linklocal IP                                             [ OK ]
# TEST: No server, linklocal IP                                                 [ OK ]
# TEST: Enslaved device client, linklocal IP                                    [ OK ]
# TEST: No server, device client, peer linklocal IP                             [ OK ]
# TEST: Enslaved device client, local conn - linklocal IP                       [ OK ]
# TEST: No server, device client, local conn  - linklocal IP                    [ OK ]
# TEST: UDP in - LLA to GUA                                                     [ OK ]
# 
# ###########################################################################
# IPv6 address binds
# ###########################################################################
# 
# 
# #################################################################
# No VRF
# 
# TEST: Raw socket bind to local address - ns-A IPv6                            [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A IPv6          [ OK ]
# TEST: Raw socket bind to local address - ns-A loopback IPv6                   [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A loopback IPv6  [ OK ]
# TEST: Raw socket bind to nonlocal address - nonlocal IPv6                     [ OK ]
# TEST: TCP socket bind to local address - ns-A IPv6                            [ OK ]
# TEST: TCP socket bind to local address after device bind - ns-A IPv6          [ OK ]
# TEST: TCP socket bind to out of scope local address - ns-A loopback IPv6      [ OK ]
# 
# #################################################################
# With VRF
# 
# TEST: Raw socket bind to local address after vrf bind - ns-A IPv6             [ OK ]
# TEST: Raw socket bind to local address after device bind - ns-A IPv6          [ OK ]
# TEST: Raw socket bind to local address after vrf bind - VRF IPv6              [ OK ]
# TEST: Raw socket bind to local address after device bind - VRF IPv6           [ OK ]
# TEST: Raw socket bind to invalid local address after vrf bind - ns-A loopback IPv6  [ OK ]
# TEST: Raw socket bind to nonlocal address after VRF bind - nonlocal IPv6      [ OK ]
# TEST: TCP socket bind to local address with VRF bind - ns-A IPv6              [ OK ]
# TEST: TCP socket bind to local address with VRF bind - VRF IPv6               [ OK ]
# TEST: TCP socket bind to local address with device bind - ns-A IPv6           [ OK ]
# TEST: TCP socket bind to VRF address with device bind - VRF IPv6              [ OK ]
# TEST: TCP socket bind to invalid local address for VRF - ns-A loopback IPv6   [ OK ]
# TEST: TCP socket bind to invalid local address for device bind - ns-A loopback IPv6  [ OK ]
# 
# ###########################################################################
# Run time tests - ipv6
# ###########################################################################
# 
# TEST: Device delete with active traffic - ping in - ns-A IPv6                 [ OK ]
# TEST: Device delete with active traffic - ping out - ns-A IPv6                [ OK ]
# TEST: TCP active socket, global server - ns-A IPv6                            [ OK ]
# TEST: TCP active socket, global server - VRF IPv6                             [ OK ]
# TEST: TCP active socket, VRF server - ns-A IPv6                               [ OK ]
# TEST: TCP active socket, VRF server - VRF IPv6                                [ OK ]
# TEST: TCP active socket, enslaved device server - ns-A IPv6                   [ OK ]
# TEST: TCP active socket, enslaved device server - VRF IPv6                    [ OK ]
# TEST: TCP active socket, VRF client                                           [ OK ]
# TEST: TCP active socket, enslaved device client                               [ OK ]
# TEST: TCP active socket, global server, VRF client - ns-A IPv6                [ OK ]
# TEST: TCP active socket, global server, VRF client - VRF IPv6                 [ OK ]
# TEST: TCP active socket, VRF server and client - ns-A IPv6                    [ OK ]
# TEST: TCP active socket, VRF server and client - VRF IPv6                     [ OK ]
# TEST: TCP active socket, global server, device client - ns-A IPv6             [ OK ]
# TEST: TCP active socket, VRF server, device client - ns-A IPv6                [ OK ]
# TEST: TCP active socket, device server, device client - ns-A IPv6             [ OK ]
# TEST: TCP passive socket, global server - ns-A IPv6                           [ OK ]
# TEST: TCP passive socket, global server - VRF IPv6                            [ OK ]
# TEST: TCP passive socket, VRF server - ns-A IPv6                              [ OK ]
# TEST: TCP passive socket, VRF server - VRF IPv6                               [ OK ]
# TEST: TCP passive socket, enslaved device server - ns-A IPv6                  [ OK ]
# TEST: TCP passive socket, enslaved device server - VRF IPv6                   [ OK ]
# TEST: TCP passive socket, VRF client                                          [ OK ]
# TEST: TCP passive socket, enslaved device client                              [ OK ]
# TEST: TCP passive socket, global server, VRF client - ns-A IPv6               [ OK ]
# TEST: TCP passive socket, global server, VRF client - VRF IPv6                [ OK ]
# TEST: TCP passive socket, VRF server and client - ns-A IPv6                   [ OK ]
# TEST: TCP passive socket, VRF server and client - VRF IPv6                    [ OK ]
# TEST: TCP passive socket, global server, device client - ns-A IPv6            [ OK ]
# TEST: TCP passive socket, VRF server, device client - ns-A IPv6               [ OK ]
# TEST: TCP passive socket, device server, device client - ns-A IPv6            [ OK ]
# TEST: UDP active socket, global server - ns-A IPv6                            [ OK ]
# TEST: UDP active socket, global server - VRF IPv6                             [ OK ]
# TEST: UDP active socket, VRF server - ns-A IPv6                               [ OK ]
# TEST: UDP active socket, VRF server - VRF IPv6                                [ OK ]
# TEST: UDP active socket, enslaved device server - ns-A IPv6                   [ OK ]
# TEST: UDP active socket, enslaved device server - VRF IPv6                    [ OK ]
# TEST: UDP active socket, VRF client                                           [ OK ]
# TEST: UDP active socket, enslaved device client                               [ OK ]
# TEST: UDP active socket, global server, VRF client - ns-A IPv6                [ OK ]
# TEST: UDP active socket, global server, VRF client - VRF IPv6                 [ OK ]
# TEST: UDP active socket, VRF server and client - ns-A IPv6                    [ OK ]
# TEST: UDP active socket, VRF server and client - VRF IPv6                     [ OK ]
# TEST: UDP active socket, global server, device client - ns-A IPv6             [ OK ]
# TEST: UDP active socket, VRF server, device client - ns-A IPv6                [ OK ]
# TEST: UDP active socket, device server, device client - ns-A IPv6             [ OK ]
# 
# ###########################################################################
# IPv6 Netfilter
# ###########################################################################
# 
# 
# #################################################################
# TCP reset
# 
# TEST: Global server, reject with TCP-reset on Rx - ns-A IPv6                  [ OK ]
# TEST: Global server, reject with TCP-reset on Rx - VRF IPv6                   [ OK ]
# 
# #################################################################
# ICMP unreachable
# 
# TEST: Global TCP server, Rx reject icmp-port-unreach - ns-A IPv6              [ OK ]
# TEST: Global TCP server, Rx reject icmp-port-unreach - VRF IPv6               [ OK ]
# TEST: Global UDP server, Rx reject icmp-port-unreach - ns-A IPv6              [ OK ]
# TEST: Global UDP server, Rx reject icmp-port-unreach - VRF IPv6               [ OK ]
# 
# ###########################################################################
# Use cases
# ###########################################################################
# 
# 
# #################################################################
# Device enslaved to bridge
# 
# TEST: Bridge into VRF - IPv4 ping out                                         [ OK ]
# TEST: Bridge into VRF - IPv6 ping out                                         [ OK ]
# TEST: Bridge into VRF - IPv4 ping in                                          [ OK ]
# TEST: Bridge into VRF - IPv6 ping in                                          [ OK ]
# modprobe: FATAL: Module br_netfilter not found in directory /lib/modules/6.8.0-virtme
# TEST: Bridge vlan into VRF - IPv4 ping out                                    [ OK ]
# TEST: Bridge vlan into VRF - IPv6 ping out                                    [ OK ]
# TEST: Bridge vlan into VRF - IPv4 ping in                                     [ OK ]
# TEST: Bridge vlan into VRF - IPv6 ping in                                     [ OK ]
# modprobe: FATAL: Module br_netfilter not found in directory /lib/modules/6.8.0-virtme
# 
# #################################################################
# Ping LLA with multiple interfaces
# 
# TEST: Pre cycle, ping out ns-B - multicast IP                                 [ OK ]
# TEST: Pre cycle, ping out ns-C - multicast IP                                 [ OK ]
# TEST: Post cycle nsa-oiZe2R eth1, ping out ns-B - multicast IP                [ OK ]
# TEST: Post cycle nsa-oiZe2R eth1, ping out ns-C - multicast IP                [ OK ]
# TEST: Post cycle nsa-oiZe2R eth2, ping out ns-B - multicast IP                [ OK ]
# TEST: Post cycle nsa-oiZe2R eth2, ping out ns-C - multicast IP                [ OK ]
# 
# #################################################################
# SNAT on VRF
# 
# TEST: IPv4 TCP connection over VRF with SNAT                                  [ OK ]
# TEST: IPv6 TCP connection over VRF with SNAT                                  [ OK ]
# 
# Tests passed: 906
# Tests failed:   0
ok 1 selftests: net: fcnal-test.sh
make[1]: Leaving directory '/home/virtme/testing-3/tools/testing/selftests/net'
make: Leaving directory '/home/virtme/testing-3/tools/testing/selftests'
xx__-> echo $?
0
xx__->