.. _srv6_mobile_runner_doc:

SRv6 Mobile Runner
==================

What’s ``runner.py`` doing?

Common configurations
---------------------

VPP1
~~~~

::

   create host-interface name eth1
   set int ip addr host-eth1 A1::1/120
   set int state host-eth1 up
   ip route add ::/0 via host-eth1 A1::2

VPP2
~~~~

::

   create host-interface name eth1
   set int ip addr host-eth1 A1::2/120
   create host-interface name eth2
   set int ip addr host-eth2 A2::1/120
   set int state host-eth1 up
   set int state host-eth2 up
   ip route add ::/0 via host-eth2 A2::2

VPP3
~~~~

::

   create host-interface name eth1
   set int ip addr host-eth1 A2::2/120
   create host-interface name eth2
   set int ip addr host-eth2 A3::1/120
   set int state host-eth1 up
   set int state host-eth2 up
   ip route add ::/0 via host-eth1 A2::1

VPP4
~~~~

::

   create host-interface name eth1
   set int ip addr host-eth1 A3::2/120
   set int state host-eth1 up
   ip route add ::/0 via host-eth1 A3::1

Drop-in for GTP-U over IPv4
---------------------------

Drop-in mode is handy to test both GTP-U-to-SRv6 and SRv6-to-GTP-U
functions at same time. Let’s see what’s happened when you run
``test gtp4``:

::

   $ ./runner.py test gtp4

Setting up a virtual interface of packet generator:

.. _vpp1-1:

VPP1
~~~~

::

   create packet-generator interface pg0
   set int mac address pg0 aa:bb:cc:dd:ee:01
   set int ip addr pg0 172.16.0.1/30
   set ip arp pg0 172.16.0.2/30 aa:bb:cc:dd:ee:02

.. _vpp4-1:

VPP4
~~~~

::

   create packet-generator interface pg0
   set int mac address pg0 aa:bb:cc:dd:ee:11
   set int ip addr pg0 1.0.0.2/30
   set ip arp pg0 1.0.0.1 aa:bb:cc:dd:ee:22

SRv6 and IP routing settings:

.. _vpp1-2:

VPP1
~~~~

::

   sr policy add bsid D4:: next D2:: next D3::
   sr policy add bsid D5:: behavior t.m.gtp4.d D4::/32 v6src_prefix C1::/64 nhtype ipv4
   sr steer l3 172.20.0.1/32 via bsid D5::

.. _vpp2-1:

VPP2
~~~~

::

   sr localsid address D2:: behavior end
   ip route add D3::/128 via host-eth2 A2::2

.. _vpp3-1:

VPP3
~~~~

::

   sr localsid address D3:: behavior end
   ip route add D4::/32 via host-eth2 A3::2

.. _vpp4-2:

VPP4
~~~~

::

   sr localsid prefix D4::/32 behavior end.m.gtp4.e v4src_position 64
   ip route add 172.20.0.1/32 via pg0 1.0.0.1