5
0
mirror of git://git.proxmox.com/git/pve-network.git synced 2025-01-20 18:03:53 +03:00

468 Commits

Author SHA1 Message Date
Stefan Hanreich
7ba1781725 subnet: vnet: refactor IPAM related methods
Those methods are used by the DHCP plugins to attain the next free
IP address for a given DHCP range, as well as delete all entries with
a certain MAC address.

Co-Authored-By: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-11-18 15:59:50 +01:00
Stefan Hanreich
8a8bba7083 ipam: plugins: preparations for DHCP
Adds a new file priv/macs.db for caching the queries to IPAM.

Additionally adds and imeplements methods to the IPAM plugins that
are required for the DHCP functionality.

Co-Authored-By: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-11-18 15:59:50 +01:00
Stefan Hanreich
1e5d8cacc6 sdn: zone: add dhcp option
Co-Authored-By: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-11-18 15:59:50 +01:00
Stefan Hanreich
290fa5c9af subnet: add dhcp options
Additionally add a helper function for parsing the DHCP ranges of a
subnet.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-11-18 15:59:50 +01:00
Stefan Hanreich
a1845dad80 sdn: preparations for DHCP plugin
Add the option to retrieve the running configuration instead of only
the pending configuration via the config methods. Refactor methods
using the running config to utilize the new parameter.

Add helper methods and return additional attributes from the getter
functions that are needed by the dhcp plugins.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2023-11-18 15:59:50 +01:00
Thomas Lamprecht
e8ca5bc603 gitignore: sort content
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-11-17 15:53:03 +01:00
Stefan Lendl
67fd119587 gitignore: add build artefacts and .vscode to ignore list
Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
 [ TL: avoid one-word subject & make build-dir glob more specific ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-11-17 15:50:23 +01:00
Fabian Grünbichler
1f3d638995 bump version to 0.8.2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-10-25 13:07:03 +02:00
Alexandre Derumier
9ce18f80bc controllers: add isis router plugin 2023-10-25 12:50:41 +02:00
Alexandre Derumier
ced9392063 controllers: frr: add parsing of "interfaces" section 2023-10-25 12:50:35 +02:00
Alexandre Derumier
e1ab3d7c28 controller: evpn: fix find_bgp_controller 2023-10-25 12:50:28 +02:00
Alexandre Derumier
e45154299d zones: evpn: add disable-bridge-learning
Allow to statically register mac address in evpn,

can be useful for silent hosts
2023-10-25 12:46:41 +02:00
Alexandre Derumier
9a03342a87 zones: add add|del_bridge_fdb to plugins
We want to be able to override it for some specific plugins.

Can be used by an sdn controller (like ovn for example), where
mac need to be registered manually.
2023-10-25 12:46:41 +02:00
Alexandre Derumier
22ac80580e zones: add|del_bridge_fdb : remove firewall param
It's not used anymore in Network.pm
2023-10-25 12:46:41 +02:00
Fabian Grünbichler
52ba64db27 zones: simplify status code
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-07-19 11:46:53 +02:00
Fabian Grünbichler
d227e3f488 zones: improve error message
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-07-19 11:46:53 +02:00
Alexandre Derumier
26e2abdbdc zones: status: display specific message if vnet is not generated.
also cleanup duplicate code in plugins

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-07-19 11:46:53 +02:00
Fabian Grünbichler
0eda9b9aad sdn: config generation : check if interfaces.d/sdn is sourced
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-07-19 11:46:51 +02:00
Alexandre Derumier
fd1ae5044e zones: fix status
Vnets were wrongly displayed in the main tree because of this,
and error was not set on zone

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-06-13 11:41:50 +02:00
Alexandre Derumier
d7c1620043 fix permissions && use new /sdn/zones/<zone>/<vnet> path
- use new /sdn/zones/zone/<vnet> path for vnet && subnets permissions

- fix some permissions on /sdn/zones  && /sdn

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-06-12 12:55:12 +02:00
Fabian Grünbichler
cbf906daae fix tests for bookworm
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-06-07 13:25:02 +02:00
Alexandre Derumier
f048b81513 get_local_vnets: fix permission path && perm
new path is /zones/<zone>/<vnetid>

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-06-07 12:05:18 +02:00
Thomas Lamprecht
a38775c818 bump version to 0.8.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Thomas Lamprecht
fa9c1ddd8d skip tests in sbuild environment for now
they access pmxcfs directly and so cannot really work, this needs to
be mocked some day (soon!), but as stop-gap just skip the tests if a
sbuild lock is present

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Thomas Lamprecht
13c75e8619 d/control: update dependencies
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
243fa522b6 evpn: update config to frr 8.5.1
add default values:
 "no bgp hard-administrative-reset"
 "no bgp graceful-restart notification"

to avoid frr-reload warning

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
0626bbf7b3 network reload: fix UPID parsing
When warning or error from ifreload are logged they are received in
1 line in result of pvesh.

So, the UPID might not always start at the beginning, which was
assumed by the old code, failing parsing it, throwing a warning like:

> Use of uninitialized value $upid in pattern match (m//) at /usr/share/perl5/PVE/Tools.pm line 1106.
> Use of uninitialized value $upid in concatenation (.) or string at /usr/share/perl5/PVE/Tools.pm line 1120.

Drop the start anchor of the regex.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
de4e2b9cf4 fix #4683: zones: QinQ: fix vlan-protocol when bridge is VLAN aware
The tagged bridge interface need to also have to correct
vlan-protocol

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
91b2f632c0 fix #4389: evpn: exit nodes: null routes subnets from other zones
We don't want to routes subnets between different zones when same
exit node is used.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
f56311de97 fix #4662: frr: fix config generation ordering
vrf and router bgp vrf need to be ordered by vrf name

ip protocol need to be at the end

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
b84eacc86a fix #4425: vxlan, evpn: add vxlan-port option to override default
Some users requested it as their physical network equipments don't
use standard vxlan port

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Alexandre Derumier
5d5b4099d1 fix #4657: evpn: fix exit-node with multiple vrf
Currently, if a node is primary exit-node for 1 vrf, and secondary
exit-node for another vrf,

The deny route-map is filtering routes imports for both vrf.

This patch adds filtering only for the vrf's where the node is
secondary.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-06 10:23:57 +02:00
Thomas Lamprecht
2bff8ab755 bump version to 0.8.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
11f3cfd9a1 d/control: raise compat level to 13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
b01d4855fc buildsys: derive upload dist automatically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
6029cbb071 separate packaging and source build system
like almost all of our repos do nowadays, modern git can detect such
things on rebase so in development stuff should be hopefully not too
much affected by this.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
cead0f28af d/control: reword package description slightly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
a4f5a945b7 d/control: drop outdated breaks for pve-manager << 5.2-12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
517b531b88 d/control: raise standards version compliance to 4.6.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
ed8c931cec buildsys: improve DSC target & add sbuild convenience target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
94b92a83d4 d/control: record missing libtest-mockmodule-perl build-dependency
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
1867144b23 buildsys: always pre-clean for dsc target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
734dccd3a9 buildsys: drop odd TARGZ
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
0af69e3bac makefile: convert to use simple parenthesis
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-25 18:18:57 +02:00
Thomas Lamprecht
50c52a494e bump version to 0.7.3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-03-20 17:20:01 +01:00
Fabian Grünbichler
9fad492e42 d/control: add missing build dependency
the File::Slurp module is used for test cases..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-01-20 10:12:17 +01:00
Alexandre Derumier
bc7cf91f71 frr: add prefix-list support
parsing of prefix-list in frr.conf.local was missing

reported on forum:
https://forum.proxmox.com/threads/using-the-proxmox-sdn-to-manage-host-connectivity-with-bgp.118553

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2023-01-16 16:54:00 +01:00
Alexandre Derumier
75ec6bfe45 controllers: evpn : correctly limit the number of controllers to max 1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-12-30 15:36:57 +01:00
Thomas Lamprecht
51a8fd2a2a bump version to 0.7.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-11-14 14:09:00 +01:00
Alexandre Derumier
55e68b4b44 bridge-disable-mac-learning : use $opts for tap_plug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-11-13 10:02:47 +01:00