patch set applied, thanks.
-Ondrej
On Thu, Jun 10, 2021 at 03:28:22PM +0200, Jan Tluka wrote:
This is an aggregation of my previous patch series:
- Recipes.ENRT: add L2TPTunnelRecipe to ENRT module imports
- Device.GeneveDevice: add external property
- Various tunnel recipes
- Tunnel recipes enhancements
There was a major issue with loopback device and also multiple issues with how the devices were handled in namespaces which is fixed now by additional patches.
The original series that were merged here are identical, only the new patches should be reviewed.
Additional patches fixes several bugs with the namespaces. In particular:
- Machine's device_database is now namespace aware
- loopback device is handled separately while initializing InterfaceManager
- Machine's device_delete method is now namespace aware
- added special handler for RTM_DELLINK event on device net namespace changes
Summary of the original series cover letters follows.
Series: Various tunnel recipes
This patch series extends the ENRT test recipe set with additional tunnel recipes.
The series also includes updates to VxlanDevice and a bug fix for Device class required by VxlanGpeTunnelRecipe.
Series: Tunnel recipes enhancements
This includes several enhancements for the recently added tunnel recipes.
The L2TPTunnelRecipe is updated to automatically load the l2tp_eth kernel module that is required by the L2TPTunnelManager to function properly. A new parameter carrier_ipversion is added to this recipe.
Rest of the patches adds specific HWConfigMixins to the recipes, to allow mtu, pause frames and offload settings configuration.
Jan Tluka (43): Recipes.ENRT: add L2TPTunnelRecipe to ENRT module imports Recipes.ENRT: add Ip6GreNetnsTunnelRecipe.py Device.GeneveDevice: add external property Devices.GreDevice: add external property Devices.VxlanDevice: add external property Devices: add LoopbackDevice Machine: remove unused get_configuration method NetTestSlave: include netns when forwarding a from_netns message Controller.MessageDispatcher: pass netns argument to device_created method Slave.InterfaceManager: use LoopbackDevice for loopback devices Controller.Machine: change _namespaces to dictionary Controller.Machine: make device_database namespace aware Controller.Machine: handle loopback devices in device_create() call Controller.Namespace: handle LoopbackDevice assignment Controller.Namespace: update device's _id in device_database in special cases Controller.Machine: make device_delete netns-aware Controller.MessageDispatcher: pass netns in device_delete call Controller/Slave: handle RTM_DELLINK on net namespace changes Recipes.ENRT.ConfigMixins: enable usage of individual HWConfigMixins Recipes.ENRT: add GeneveLwtTunnelRecipe Recipes.ENRT: add GreLwtTunnelRecipe Recipes.ENRT: add VxlanLwtTunnelRecipe Recipes.ENRT: add GreOvsTunnelRecipe Recipes.ENRT: add GeneveOvsTunnelRecipe Recipes.ENRT: add VxlanOvsTunnelRecipe Recipes.ENRT: add GreTunnelOverVlanRecipe Recipes.ENRT: add GreTunnelOverMacvlanRecipe Recipes.ENRT: add VxlanNetnsTunnelRecipe Devices.VxlanDevice: add gpe property Devices.VxlanDevice: add learning property Devices.Device: handle RTM_NEWLINK messages without any IFLA_ADDRESS Recipes.ENRT: add VxlanGpeTunnelRecipe Recipes.ENRT.L2TPTunnelRecipe: add carrier_ipversion parameter Recipes.ENRT.L2TPTunnelRecipe: load l2tp_eth module before creating the tunnel Recipes.ENRT.L2TPTunnelRecipe: add PauseFramesHWConfigMixin Recipes.ENRT.GeneveTunnelRecipe: add OffloadSubConfigMixin and PauseFramesHWConfigMixin Recipes.ENRT.SitTunnelRecipe: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.Ip6TnlTunnelRecipe: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.IpIpTunnelRecipe: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.GreTunnelRecipe: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.GreTunnelOverBondRecipe: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.Ip6GreNetnsTunnelRecipe.py: add {MTU,PauseFrames}HWConfigMixins Recipes.ENRT.Ip6GreTunnelRecipe.py: add {MTU,PauseFrames}HWConfigMixins
docs/source/geneve_lwt_tunnel_recipe.rst | 6 + docs/source/geneve_ovs_tunnel_recipe.rst | 6 + docs/source/gre_lwt_tunnel_recipe.rst | 6 + docs/source/gre_ovs_tunnel_recipe.rst | 6 + .../source/gre_tunnel_over_macvlan_recipe.rst | 6 + docs/source/gre_tunnel_over_vlan_recipe.rst | 6 + docs/source/ip6gre_netns_tunnel_recipe.rst | 6 + docs/source/specific_scenarios.rst | 11 + docs/source/vxlan_gpe_tunnel_recipe.rst | 6 + docs/source/vxlan_lwt_tunnel_recipe.rst | 6 + docs/source/vxlan_netns_tunnel_recipe.rst | 6 + docs/source/vxlan_ovs_tunnel_recipe.rst | 6 + lnst/Controller/Machine.py | 133 +++++---- lnst/Controller/MessageDispatcher.py | 35 ++- lnst/Controller/Namespace.py | 29 +- lnst/Devices/Device.py | 5 +- lnst/Devices/GeneveDevice.py | 17 +- lnst/Devices/GreDevice.py | 16 +- lnst/Devices/LoopbackDevice.py | 26 ++ lnst/Devices/VxlanDevice.py | 53 +++- lnst/Devices/__init__.py | 2 + .../ENRT/ConfigMixins/BaseHWConfigMixin.py | 17 +- .../ConfigMixins/CommonHWSubConfigMixin.py | 16 +- lnst/Recipes/ENRT/GeneveLwtTunnelRecipe.py | 228 +++++++++++++++ lnst/Recipes/ENRT/GeneveOvsTunnelRecipe.py | 166 +++++++++++ lnst/Recipes/ENRT/GeneveTunnelRecipe.py | 14 +- lnst/Recipes/ENRT/GreLwtTunnelRecipe.py | 233 ++++++++++++++++ lnst/Recipes/ENRT/GreOvsTunnelRecipe.py | 174 ++++++++++++ lnst/Recipes/ENRT/GreTunnelOverBondRecipe.py | 17 +- .../ENRT/GreTunnelOverMacvlanRecipe.py | 211 ++++++++++++++ lnst/Recipes/ENRT/GreTunnelOverVlanRecipe.py | 212 ++++++++++++++ lnst/Recipes/ENRT/GreTunnelRecipe.py | 19 +- lnst/Recipes/ENRT/Ip6GreNetnsTunnelRecipe.py | 261 ++++++++++++++++++ lnst/Recipes/ENRT/Ip6GreTunnelRecipe.py | 17 +- lnst/Recipes/ENRT/Ip6TnlTunnelRecipe.py | 20 +- lnst/Recipes/ENRT/IpIpTunnelRecipe.py | 14 +- lnst/Recipes/ENRT/L2TPTunnelRecipe.py | 68 +++-- lnst/Recipes/ENRT/SitTunnelRecipe.py | 14 +- lnst/Recipes/ENRT/VxlanGpeTunnelRecipe.py | 227 +++++++++++++++ lnst/Recipes/ENRT/VxlanLwtTunnelRecipe.py | 227 +++++++++++++++ lnst/Recipes/ENRT/VxlanNetnsTunnelRecipe.py | 245 ++++++++++++++++ lnst/Recipes/ENRT/VxlanOvsTunnelRecipe.py | 185 +++++++++++++ lnst/Recipes/ENRT/__init__.py | 12 + lnst/Slave/InterfaceManager.py | 25 +- lnst/Slave/NetTestSlave.py | 1 + 45 files changed, 2884 insertions(+), 132 deletions(-) create mode 100644 docs/source/geneve_lwt_tunnel_recipe.rst create mode 100644 docs/source/geneve_ovs_tunnel_recipe.rst create mode 100644 docs/source/gre_lwt_tunnel_recipe.rst create mode 100644 docs/source/gre_ovs_tunnel_recipe.rst create mode 100644 docs/source/gre_tunnel_over_macvlan_recipe.rst create mode 100644 docs/source/gre_tunnel_over_vlan_recipe.rst create mode 100644 docs/source/ip6gre_netns_tunnel_recipe.rst create mode 100644 docs/source/vxlan_gpe_tunnel_recipe.rst create mode 100644 docs/source/vxlan_lwt_tunnel_recipe.rst create mode 100644 docs/source/vxlan_netns_tunnel_recipe.rst create mode 100644 docs/source/vxlan_ovs_tunnel_recipe.rst create mode 100644 lnst/Devices/LoopbackDevice.py create mode 100644 lnst/Recipes/ENRT/GeneveLwtTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/GeneveOvsTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/GreLwtTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/GreOvsTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/GreTunnelOverMacvlanRecipe.py create mode 100644 lnst/Recipes/ENRT/GreTunnelOverVlanRecipe.py create mode 100644 lnst/Recipes/ENRT/Ip6GreNetnsTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/VxlanGpeTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/VxlanLwtTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/VxlanNetnsTunnelRecipe.py create mode 100644 lnst/Recipes/ENRT/VxlanOvsTunnelRecipe.py
-- 2.26.3 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos... Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure