Commit Graph

49 Commits

Author SHA1 Message Date
Fabian Grünbichler
c971330601 api2: network: anybridge: re-add regular bridges
commit 89d146f207 introduced permission
checks here that caused all regular bridges to be removed from the
returned list as soon as the SDN package is installed, unless the user
is root@pam or there exists a VNET with the same ID.

this is arguably a breaking change, so limit the priv check to actually
defined VNETs for the time being, and add ALL regular bridges
uncondtionally like before.

get_local_vnets already filters by the same prvs, so we need to get the
full config to find out which IDs are VNETs and which are not.

once/iff we introduce ACL paths for *all* bridges in the future, we can
limit accordingly here.

CC: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-04-27 13:55:57 +02:00
Thomas Lamprecht
7851068108 api: sdn: code/whitespace refactor/fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-16 17:00:50 +01:00
Alexandre Derumier
89d146f207 api2 : network: anybridge: don't display bridges if user have access to vnets.
This remove vmbr* from bridgeselector if user have access to vnets.
if user need to have also access to vmbr, we can add a permission
in path "/sdn/vnets/vmbrX"

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-03-16 16:43:42 +01:00
Thomas Lamprecht
560bdfd846 api: network apply: fix check for ifupdown2 origin
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-15 14:30:52 +02:00
Stoiko Ivanov
6cd854d8c7 fix #3385: api: network: check for used ports before writing
Currently the check for used ports for bonds and bridges happens
while rendering '/etc/network/interfaces.new' in PVE::Inotify
(pve-common).
However at that stage the new/updated interface is already merged
with the old settings, making it impossible to indicate where a NIC
is currently used.

The code is adapted from the renderer in
PVE::Inotify::__write_etc_network_interfaces.

Tested on a virtual PVE instance.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-22 21:32:26 +02:00
Thomas Lamprecht
9ad4656d57 sdn: use new helper methods to update config
and do a breaks on older network package as we do not depend on it
due to it being an optional/experimental feature, so reverse the
depends with the breaks.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 14:22:21 +02:00
Alexandre Derumier
30f5d4769c API2: Network: display vnets in any_bridge
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-04-08 19:58:44 +02:00
Alexandre Derumier
a93e105209 API2: network reload: allow ovs reloading
ifupdown2 support it now

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-03-23 09:44:41 +01:00
Thomas Lamprecht
e9af22b08d Revert "API2: Network: allow cidr-list && use cidr for address"
applied by mistake, needs compat code in common or the like

This reverts commit 3b82e4cf43.
2020-03-13 12:02:59 +01:00
Alexandre Derumier
3b82e4cf43 API2: Network: allow cidr-list && use cidr for address
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-03-12 15:33:12 +01:00
Alexandre Derumier
9d2e1c8b6e API2: Network: add vlan-raw-device && vlan-id options.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-25 16:02:06 +01:00
Thomas Lamprecht
a6ed0aa605 network reload: check if recent enough PVE ifupdown2 version is present
We need a recent version *and* our patches on top of the vanilla
ifupdown2:
0001-don-t-remove-tap-veth-fwpr-interfaces-from-bridge-on.patch
0004-don-t-remove-bridge-is-tap-veth-are-still-plugged.patch

So check for at least 1.2.8 and the pve string in the version output.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-14 11:00:26 +01:00
Alexandre Derumier
94011309e2 api2 : network : add mtu
min 1280 to handle ipv6 && ipv4
max 65520 (infinibad support it)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 17:22:46 +01:00
Alexandre Derumier
7942a7bb5b api2: network: add bond-primary option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 17:22:46 +01:00
Alexandre Derumier
20dc8bbeb8 api2 : reload : use zones/controllers sdn plugins 2019-11-26 17:08:23 +01:00
Thomas Lamprecht
6159470e4d api: network reload: more granular OVS change check
Just because OVS is installed it doesn't mean that OVS interface
(changes) are configured - so check for that.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-26 11:43:43 +01:00
Alexandre Derumier
e06c0dab3d api2 : network : use vtysh for frr reload instead systemd
avoid extra dep on frr-pythontools and parse error messages

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-19 15:17:09 +02:00
Thomas Lamprecht
084e60304e api network reload: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-05 14:31:24 +02:00
Alexandre Derumier
bc700dbc5b api2: network reload: add frr config generation and reload
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-05 12:29:13 +02:00
Alexandre Derumier
2bca9b773e api2: network reload : generate local sdn config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 10:28:55 +02:00
Dominik Csapak
47d13c02b0 fix #2267: delete address(6) and netmas(6) with cidr(6)
otherwise a user cannot delete an ip from an interface

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-07-08 19:19:15 +02:00
Thomas Lamprecht
7618913027 perl: fix some common typos found with codespell
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-15 10:40:20 +02:00
Alexandre Derumier
f31cc71c03 network api : reload : don't allow openswitch at all
ifupdown2 reload can't work with openswitch until we implement
ovs.

I don't think that too much users are mixing ovs && bridge anyway.

It's possible to use ifupdown2 with ovs for ifup/down with ifupdown script,
but config need to be changed, and I don't have tested too much.
(maybe add a conflict in ifupdown2 package with openvswitch package for now)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-14 09:14:58 +02:00
Alexandre Derumier
feaf369e77 network api : reload : always reload
reload also if interfaces.new don't exist
(for vnet or other user change in different file)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-14 09:14:58 +02:00
Alexandre Derumier
bf32b90e89 network api : reload : don't check bridge delete
we are doing it in ifupdown2 directly

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-14 09:14:58 +02:00
Alexandre Derumier
e46bf624d5 network api : reload : remove ifdown/up hack
This was for vxlan interfaces and fixed in ifupdown2 with my last patches.

simply reload network, and if we still have errors, we can use ifquery to check them later

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-14 09:14:58 +02:00
Thomas Lamprecht
68f371d4d1 fixup: while not an error here a trailing semicolon is good to have
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-13 11:08:28 +02:00
Thomas Lamprecht
0f6e6f6b5c api network: make IPv6 address checking spew out useful errors
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-13 11:06:15 +02:00
Dominik Csapak
69106e5cf3 add new parameters cidr(6) to the network api
to also allow to set it directly and not via address/netmask

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-08 14:56:40 +00:00
Dietmar Maurer
930d267849 use 'die' instead of 'raise_param_exc'
Because there is not 'config' parameter.
2018-10-08 13:32:03 +02:00
Alexandre Derumier
cacd7547ad API2 : Network : add network config reload
This add a new api to online reload networking configuration
with ifupdown2.

This work with native ifupdown2 modules, as ifupdown2 have
interface dependency relationships.

Some specific interfaces options can't be reloaded online
(because kernel don't implement it), it this case, we ifdown/ifup
theses interfaces. (mainly vxlan interfaces options)
2018-10-08 13:32:03 +02:00
Wolfgang Bumiller
ef456bd0b0 Remove IPv4 netmask check 2016-06-06 14:50:25 +02:00
Alexandre Derumier
3f0d1a4bfd NetworkEdit : add support for vlan interfaces.
Edit only for now, create will come soon in another patch

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-09-25 07:06:48 +02:00
Alexandre Derumier
a1604d7046 add bridge vlan aware checkbox
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-09-16 11:02:43 +02:00
Wolfgang Bumiller
3ed15e6c11 PVE::API2::Network: network_interfaces update + ipv6 2015-06-26 08:54:17 +02:00
Dietmar Maurer
b5eda02313 bump version to 3.1-43 (fix network API) 2014-02-16 09:27:41 +01:00
Dietmar Maurer
44d353a7ac API extension: allow to set comments inside network interfaces file 2014-02-12 11:28:53 +01:00
Dietmar Maurer
4c917e974d make it easier to set VLAN tags on OVS ports/bond 2013-12-30 11:06:34 +01:00
Dietmar Maurer
ffffb625e5 add support to change bond_xmit_hash_policy on linux bond devices 2013-12-30 08:21:44 +01:00
Dietmar Maurer
10a9563eb4 use new ovs bond modes (changed in pve-common) 2013-12-30 07:38:13 +01:00
Dietmar Maurer
bdfa249812 check if ovs is installed when creation ovs network components 2013-12-27 09:52:22 +01:00
Dietmar Maurer
d11733f8da add GUI for openvswitch network 2013-12-27 09:45:31 +01:00
Dietmar Maurer
1904114e36 network config: allow empty IP address/netmask
bump version to 2.3-13
2013-03-05 06:48:26 +01:00
Dietmar Maurer
d09f6f7d3c fix IP address verification 2013-03-04 06:56:42 +01:00
Damien PIQUET
e16a27be12 Added ipv4 validation, forbid network and broadcast addresses
Signed-off-by: Damien PIQUET <piqudam@gmail.com>
2013-02-27 10:34:09 +01:00
Dietmar Maurer
e4d5bf7257 improve network API - add more gettext markers 2012-02-29 12:39:12 +01:00
Dietmar Maurer
449f1b5d2f require Sys.Audit to read cluster status 2012-02-06 11:23:30 +01:00
Dietmar Maurer
7d020b4246 implement new check attribute for permissions.
We use a simple prefix notation to express complex expressions.
2012-01-23 12:18:27 +01:00
Dietmar Maurer
beb651ee65 removed automake/autoconf, removed unused files 2011-08-23 16:11:04 +02:00