Subject: Re: how to (cross)connect two (physical) eth ports for ping test?

From: Andrew Lunn <[email-masked]>
Date: Sat, 18 Aug 2018 21:10:25 +0200

On Sat, Aug 18, 2018 at 01:39:50PM -0400, Robert P. J. Day wrote:
> 
>   (i'm sure this has been explained many times before, so a link
> covering this will almost certainly do just fine.)
> 
>   i want to loop one physical ethernet port into another, and just
> ping the daylights from one to the other for stress testing. my fedora
> laptop doesn't actually have two unused ethernet ports, so i just want
> to emulate this by slapping a couple startech USB/net adapters into
> two empty USB ports, setting this up, then doing it all over again
> monday morning on the actual target system, which does have multiple
> ethernet ports.
> 
>   so if someone can point me to the recipe, that would be great and
> you can stop reading.
> 
>   as far as my tentative solution goes, i assume i need to put at
> least one of the physical ports in a network namespace via "ip netns",
> then ping from the netns to the root namespace. or, going one step
> further, perhaps putting both interfaces into two new namespaces, and
> setting up forwarding.

Namespaces is a good solution. Something like this should work:

ip netns add namespace1
ip netns add namespace2

ip link set eth1 netns namespace1
ip link set eth2 netns namespace2

ip netns exec namespace1 \
        ip addr add 10.42.42.42/24 dev eth1

ip netns exec namespace1 \
        ip link set eth1 up

ip netns exec namespace2 \
        ip addr add 10.42.42.24/24 dev eth2

ip netns exec namespace2 \
        ip link set eth2 up

ip netns exec namespace1 \
        ping 10.42.42.24

You might also want to consider iperf3 for stress testing, depending
on the sort of stress you need.

   Andrew