]>
git.puffer.fish Git - mirror/pve-network.git/log
Stoiko Ivanov [Tue, 5 May 2020 15:22:01 +0000 (17:22 +0200)]
only parse version if local sdn file exists
if a file does not exist PVE::Tools::file_read_firstline returns undef.
This happens e.g. if you install the libpve-network-perl package before
creating the local sdn file.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Thomas Lamprecht [Sat, 2 May 2020 17:20:37 +0000 (19:20 +0200)]
bump version to 0.4-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Sun, 3 May 2020 16:56:26 +0000 (18:56 +0200)]
d/triggers: activate-noawait pve-api-updates
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Sun, 3 May 2020 16:55:32 +0000 (18:55 +0200)]
sdn version: default to 0 for undef/empty-string
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Mon, 13 Apr 2020 06:13:13 +0000 (08:13 +0200)]
zones: status : use version to compare local sdn vs cluster sdn
Alexandre Derumier [Mon, 13 Apr 2020 06:13:12 +0000 (08:13 +0200)]
/etc/network/interfaces.d/sdn : add version
Alexandre Derumier [Mon, 13 Apr 2020 06:13:11 +0000 (08:13 +0200)]
sdn: use .version and global lock
Alexandre Derumier [Mon, 13 Apr 2020 06:13:10 +0000 (08:13 +0200)]
remove .new files
Thomas Lamprecht [Thu, 9 Apr 2020 08:27:53 +0000 (10:27 +0200)]
zones: sort network config keys when iterating for stabillity
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 9 Apr 2020 08:27:24 +0000 (10:27 +0200)]
zones: code cleanup fallback to classic bridge case
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 9 Apr 2020 08:26:59 +0000 (10:26 +0200)]
zones: factor out get_plugin_config
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 9 Apr 2020 06:03:33 +0000 (08:03 +0200)]
sdn zones: indentation and whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 9 Apr 2020 06:03:18 +0000 (08:03 +0200)]
sdn zones: add newline to warn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 8 Apr 2020 17:58:14 +0000 (19:58 +0200)]
bump version to 0.4-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Thu, 26 Mar 2020 02:06:34 +0000 (03:06 +0100)]
add get_local_vnets()
return the vnets of the localnode
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Tue, 10 Mar 2020 18:02:16 +0000 (19:02 +0100)]
bump version to 0.4-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Mon, 9 Mar 2020 09:24:13 +0000 (10:24 +0100)]
add tap|veth create|plug
Thomas Lamprecht [Tue, 10 Mar 2020 17:58:52 +0000 (18:58 +0100)]
whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Thu, 13 Feb 2020 11:16:13 +0000 (12:16 +0100)]
vxlan|evpn : fix mtu
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 10 Feb 2020 16:26:10 +0000 (17:26 +0100)]
add get_bridge_vlan
return correct bridge/vlan from sdn for tap/veth create/plug
Alexandre Derumier [Mon, 10 Feb 2020 16:26:09 +0000 (17:26 +0100)]
move mtu properties to zone
Alexandre Derumier [Mon, 10 Feb 2020 16:26:08 +0000 (17:26 +0100)]
api2: fix vnet status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:07 +0000 (17:26 +0100)]
qinq plugin :add status
like vlanplugin, vnets are now virtual
Alexandre Derumier [Mon, 10 Feb 2020 16:26:06 +0000 (17:26 +0100)]
vlanplugin: add status
we use vlan-aware, so vnets status need to be done on main bridge status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:05 +0000 (17:26 +0100)]
move status code to zone plugin
Alexandre Derumier [Mon, 10 Feb 2020 16:26:04 +0000 (17:26 +0100)]
vlan/qinq: use bridge option instead uplink-id
Alexandre Derumier [Mon, 20 Jan 2020 11:01:22 +0000 (12:01 +0100)]
API2: Vnets: fix update
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Thu, 16 Jan 2020 10:14:53 +0000 (11:14 +0100)]
evpn: use file_{g,s}et_contents and import run_command
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 16 Jan 2020 10:14:15 +0000 (11:14 +0100)]
evpn: indentation, whitespace cleanup and code refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Thu, 16 Jan 2020 08:15:16 +0000 (09:15 +0100)]
controller : evpn : only allow 1 evpn controller
we can only have 1 bgp router on a server
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 16 Jan 2020 08:15:15 +0000 (09:15 +0100)]
evpn: add support for local frr.config
For users with complex setup (underlay ebgp for example),
allow user to add a /etc/frr/frr.conf.local
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sat, 11 Jan 2020 12:48:50 +0000 (13:48 +0100)]
vlan/qinq: use vlan-raw-device to support long predictable interfaces name
users have reported in the forum some crazy long interfaces names
like "enp0s20f0u8u2c2".
So they are no space for create a "enp0s20f0u8u2c2.vlan".
changelog V2:
small fix with reclared ifaces_variable
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Fri, 13 Dec 2019 11:10:15 +0000 (12:10 +0100)]
grammar fix: s/does not exists/does not exist/g
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 2 Dec 2019 08:51:07 +0000 (09:51 +0100)]
bump version to 0.3-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Thu, 28 Nov 2019 13:34:48 +0000 (14:34 +0100)]
create /etc/pve/sdn directory
like for /etc/pve/ha, create it in api create
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 28 Nov 2019 08:40:27 +0000 (09:40 +0100)]
move find_local_ip_interface sub helper to zone plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 28 Nov 2019 08:40:26 +0000 (09:40 +0100)]
zones: vlan|qinq: add get_uplink_iface sub
also check that interface is eth or bond
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 28 Nov 2019 08:40:25 +0000 (09:40 +0100)]
zones: vxlan : remove uplink-id and multicast
only unicast for now, as multicast is not too much used currently.
remove uplink-id like for evpn
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 28 Nov 2019 08:40:24 +0000 (09:40 +0100)]
evpn: remove uplink-id
instead, auto find interfaces
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Tue, 26 Nov 2019 11:57:01 +0000 (12:57 +0100)]
bump version to 0.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:30 +0000 (10:00 +0100)]
controller: evpn: use frr-reload.py for reloading frr
vtysh is not enough to cleanly reload configuration
This require frr-pythontools package
Also add default global values or frr-reload will try to remove them
each time
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:29 +0000 (10:00 +0100)]
cleanup old transport/router/sdn_cfg references
use zone/controller...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:28 +0000 (10:00 +0100)]
evpn zone plugin : remove vrf option
instead, use zone name as vrf
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:27 +0000 (10:00 +0100)]
limit vnet/zones/controller to 10 characters
linux have 16 characters limit for interfaces,
but we can prepend "vxlan", "vrf",... when we generate
interfaces
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:26 +0000 (10:00 +0100)]
add permissions
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:25 +0000 (10:00 +0100)]
fix zones on_update_hook
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:24 +0000 (10:00 +0100)]
rename frrevpn controller plugin to evpn plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:23 +0000 (10:00 +0100)]
add nodes option to zones
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:22 +0000 (10:00 +0100)]
remove vxlan|vlan allowed zone option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:21 +0000 (10:00 +0100)]
improve status error description
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:20 +0000 (10:00 +0100)]
rename transportzone option to zone
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:19 +0000 (10:00 +0100)]
update documentation.txt
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:18 +0000 (10:00 +0100)]
api2: sdn: add reload config
fixme: current using pvesh
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:17 +0000 (10:00 +0100)]
api2 : split vnets/zones/controllers
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:16 +0000 (10:00 +0100)]
split transport/controllers/vnet to separate plugins
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:39 +0000 (11:03 +0200)]
api2 : sdn : add role and type to index
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:38 +0000 (11:03 +0200)]
add qinq plugin
move code from vlanplugin, add transport tag option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:37 +0000 (11:03 +0200)]
rename plugins with controllers
For true sdn, We have 2 plugins, 1 for dataplane (switch), 1 for controlplane (controller)
rename:
- Frr to EvpnController
- Faucet to FaucetController
- OvsFaucet to Faucet
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:36 +0000 (11:03 +0200)]
add controller_reload
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:35 +0000 (11:03 +0200)]
add evpnplugin (splitted from vxlanplugin)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:34 +0000 (11:03 +0200)]
add faucet sdn controller plugins
1 plugin for controller, 1 plugin for dataplane
This is not 100% complete, but it's a proof of concept
to test differents sdn controller
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:33 +0000 (11:03 +0200)]
vxlan: move transport controller config to frrplugin
To be able to use differents controllers model
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:32 +0000 (11:03 +0200)]
make sdn controller plugin generic
move all code for frr to frrplugin,
rename router option to controller.
This will allow to manage more controller in the future (ovn, faucet,....)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Fri, 20 Sep 2019 14:57:35 +0000 (16:57 +0200)]
bump version to 0.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Fri, 13 Sep 2019 10:33:45 +0000 (12:33 +0200)]
add format for multicast-address
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 13 Sep 2019 10:33:44 +0000 (12:33 +0200)]
add format for ip-list and mtu
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 9 Sep 2019 15:56:37 +0000 (17:56 +0200)]
frr: remove "no bgp default ipv6-unicast"
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Mon, 9 Sep 2019 14:37:30 +0000 (16:37 +0200)]
followup trailing whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Mon, 9 Sep 2019 06:45:53 +0000 (08:45 +0200)]
move gateway-nodes option to frr plugin and add gateway-external-peers
It's make more sense, as We use default vrf for routing.
Also add gateway-external-peers to define an external bgp peer.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 9 Sep 2019 06:45:52 +0000 (08:45 +0200)]
vxlan: frr : remove unneeded prefix-list
no bgp default ipv4-unicast already deny redistribution
of routes in default vrf
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 9 Sep 2019 06:45:51 +0000 (08:45 +0200)]
vxlan: evpn: fix routing to local vms on gateway nodes
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 9 Sep 2019 06:45:50 +0000 (08:45 +0200)]
generate_frr_config: cleanup hash and ordering
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Wed, 4 Sep 2019 05:49:31 +0000 (07:49 +0200)]
don't regenerate frr config if no router is defined
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 3 Sep 2019 09:14:55 +0000 (11:14 +0200)]
vxlan: add ip-forward|ip6-forward|arp-accept for routing
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 3 Sep 2019 09:14:54 +0000 (11:14 +0200)]
vxlan: add gateway-nodes option
Allow to define 1 or more gateway node,
to route the traffic to the outside world
import vrf is bugged in frr 7.1
works fine with current stable/7.1 branch
https://github.com/FRRouting/frr/issues/4905
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Tue, 3 Sep 2019 06:25:00 +0000 (08:25 +0200)]
trailing whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:54 +0000 (12:32 +0200)]
add documentation.txt
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:53 +0000 (12:32 +0200)]
sdn: add write_frr_config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:52 +0000 (12:32 +0200)]
add update_delete hook on frr related options
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:51 +0000 (12:32 +0200)]
sdn: add generate_frr_config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:50 +0000 (12:32 +0200)]
generate network config in a hash
more clean and avoid duplicate interface
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:49 +0000 (12:32 +0200)]
vxlan: add support for ipv4/ipv6/mac for anycast routing
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:48 +0000 (12:32 +0200)]
vxlanplugin: add vrf and vrfvxlan
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:47 +0000 (12:32 +0200)]
add frr plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:46 +0000 (12:32 +0200)]
make Vxlanplugin generic for multicast/unicast/frr
if no multicast or unicast address is defined, default to frr
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:45 +0000 (12:32 +0200)]
api2: add local endpoint for listing transportzones status
pvesh get /nodes/<node>/sdn/
┌─────────────────┬───────────┐
│ sdn │ status │
├─────────────────┼───────────┤
│ transportzone10 │ error │
├─────────────────┼───────────┤
│ zone1 │ available │
├─────────────────┼───────────┤
│ zone4 │ available │
└─────────────────┴───────────┘
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:44 +0000 (12:32 +0200)]
api2: add local endpoint for listing content of a transportzone
pveset get /nodes/<node>/sdn/<transportzone>/content
┌─────────┬────────┐
│ vnet │ status │
├─────────┼────────┤
│ vnet100 │ error │
├─────────┼────────┤
│ vnet101 │ error │
└─────────┴────────┘
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:43 +0000 (12:32 +0200)]
add new status sub and move code from test
old status sub was renamed ifquery_check
also check if local config exist or if local config is too old.
(fixme : compare mtime, maybe could we use some kind of version for this?)
we can have 4 status code:
- pending : local config is absent but sdn.cfg exist
- unknown : local config is too old, we can't be sure of the running state
- error : local config is present, but don't match the running state
- available : all is ok, local config is present and match running state.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 29 Aug 2019 10:32:42 +0000 (12:32 +0200)]
add generate_etc_network_config && write_etc_network_config subs
moved from test script,
also skip vnet generation instead die in case of error
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Wed, 10 Jul 2019 15:53:17 +0000 (17:53 +0200)]
d/compat: bump level to 11 and fix lintian warnings
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 10 Jul 2019 15:52:49 +0000 (17:52 +0200)]
buildsys: use dpkg-dev makefile helpers for pkg info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 18 Jun 2019 08:20:23 +0000 (10:20 +0200)]
bump version to 0.2-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 18 Jun 2019 08:21:18 +0000 (10:21 +0200)]
buildsys: clean also old build directories when running make clean
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Mon, 17 Jun 2019 09:26:36 +0000 (11:26 +0200)]
rename $network to $sdn everywhere
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 17 Jun 2019 09:26:35 +0000 (11:26 +0200)]
api: add missing additional properties=0 on network reload/revert
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Mon, 17 Jun 2019 09:26:34 +0000 (11:26 +0200)]
add pve-network-id jsonschema
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Wed, 12 Jun 2019 05:04:16 +0000 (07:04 +0200)]
d/control: depend on defined ${perl:Depends}
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Fri, 7 Jun 2019 04:52:13 +0000 (06:52 +0200)]
rename PVE::Network::Network to PVE::Network::SDN
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 7 Jun 2019 04:52:12 +0000 (06:52 +0200)]
remove vnet bridge delete hook
We can check that in local reload when we'll generate config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Thu, 6 Jun 2019 12:16:56 +0000 (14:16 +0200)]
vxlan interface : use vxlan$vnetid
vxlan number can be huge (16millions), don't use tag for interface name.
(my last ifupdown2 patch ifdown/ifup vxlan interface on reload)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>