• Martin KaFai Lau's avatar
    bpf: Add test for bpf_redirect to ipip/ip6tnl · 90e02896
    Martin KaFai Lau authored
    The test creates two netns, ns1 and ns2.  The host (the default netns)
    has an ipip or ip6tnl dev configured for tunneling traffic to the ns2.
        ping VIPS from ns1 <----> host <--tunnel--> ns2 (VIPs at loopback)
    The test is to have ns1 pinging VIPs configured at the loopback
    interface in ns2.
    The VIPs are and 2401:face::66 (which are configured
    at lo@ns2). [Note: 0x66 => 102].
    At ns1, the VIPs are routed _via_ the host.
    At the host, bpf programs are installed at the veth to redirect packets
    from a veth to the ipip/ip6tnl.  The test is configured in a way so
    that both ingress and egress can be tested.
    At ns2, the ipip/ip6tnl dev is configured with the local and remote address
    specified.  The return path is routed to the dev ipip/ip6tnl.
    During egress test, the host also locally tests pinging the VIPs to ensure
    that bpf_redirect at egress also works for the direct egress (i.e. not
    forwarding from dev ve1 to ve2).
    Acked-by: default avatarAlexei Starovoitov <ast@fb.com>
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>