This patch set adds a recipe to perform a simple L2TP tunnel test.
A minor modification to the BaseTunnelRecipe was required to enable
users to bypass running the packet assert test if it's not required.
The Device.ip_add() method was updated to support the configuration of
addresses with peer address included. This is a typical use case of the
I have also found several issues in the LNST code while implementing the
test, so I'm including them here.
Most important one is handling of RTM_NEWADDR netlink update message
that contained a bug for the point-to-point network address assignment.
Jan Tluka (6):
Recipes.ENRT.BaseTunnelRecipe: handle empty packet assert configs
Recipes.ENRT: add L2TPTunnelRecipe
RecipeCommon.Ping.Evaluators.RatePingEvaluator: fix the rate_text
RatePingEvaluator: handle None result of the Ping test
Devices.Device: fix RTM_NEWADDR handling
Devices.Device: modify _ip_add_one method to handle peer addresses
docs/source/l2tp_tunnel_recipe.rst | 6 +
docs/source/specific_scenarios.rst | 1 +
lnst/Devices/Device.py | 50 ++++--
.../Ping/Evaluators/RatePingEvaluator.py | 8 +-
lnst/Recipes/ENRT/BaseTunnelRecipe.py | 15 +-
lnst/Recipes/ENRT/L2TPTunnelRecipe.py | 147 ++++++++++++++++++
6 files changed, 209 insertions(+), 18 deletions(-)
create mode 100644 docs/source/l2tp_tunnel_recipe.rst
create mode 100755 lnst/Recipes/ENRT/L2TPTunnelRecipe.py