1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

251 Commits

Author SHA1 Message Date
716316cf3b bond: add bond-primary-reselect option
This option exist in ifupdown1/ifenslave,
used for active-backup bond
2020-02-21 09:13:55 +01:00
49cb2925f1 nlpacket: AttributeIPAddress: fix decode handler for Routes
During the python2 to 3 migration there was some refactoring
Seems like some code specific to Route-decoding was removed
This patch is fixing the issue by re-adding this code and
tweaking it a little bit (to make it nice and clean :))

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-02-14 02:44:56 +01:00
79bd5819b9 addons: tunnel: support ifupdown1 tunnel attribute as aliases (fixes #133)
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-02-07 18:40:35 +01:00
09a6a3fd46 lib: addon: translate aliases to attribute name (fixes #133)
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-02-07 18:40:28 +01:00
7050c6fc73 Merge branch 'master-next' into python3
* master-next:
  This also adds ipip6 to nlpacket IFLA_INFO_KIND.
2020-02-04 15:47:00 +01:00
cb61aad1d9 This also adds ipip6 to nlpacket IFLA_INFO_KIND. 2020-02-04 13:51:42 +01:00
07325f6b5e Merge branch 'master-next' into python3
* master-next:
  Add XFRM to IFLA_INFO_KIND and reverse change to iproute2 class.
  This patch fixes the XFRM addon for ifupdown2 version 2. The nlpacket for XFRM had a bug, I also changed iproute2 to add the XFRM interface to the local cache after creation. Since XFRM has no IFLA_LINKINFO I made the argument optional. Otherwise no further operation will be done like adding an IP.
2020-02-03 17:18:57 +01:00
8dcaeb6439 Add XFRM to IFLA_INFO_KIND and reverse change to iproute2 class. 2020-02-03 17:06:32 +01:00
69015cb30b Merge remote-tracking branch 'upstream/master-next' into bugfix/xfrm 2020-02-03 17:06:15 +01:00
f60f58374d Merge branch 'master-next' into python3
* master-next:
  nlmanager: nlpacket: add "ip6ip6" link kind to LINKINFO encode handler
2020-02-03 16:56:09 +01:00
51d0d2e477 nlmanager: nlpacket: add "ip6ip6" link kind to LINKINFO encode handler
Alternative to patch proposed in PR#137

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-02-03 15:23:37 +01:00
6552d825e0 This patch fixes the XFRM addon for ifupdown2 version 2.
The nlpacket for XFRM had a bug, I also changed iproute2 to add
the XFRM interface to the local cache after creation.
Since XFRM has no IFLA_LINKINFO I made the argument optional.
Otherwise no further operation will be done like adding an IP.

I also removed an unecessary variable in the addon.

Signed-off-by: Sven Auhagen <sven.auhagen@voleatech,de>
2020-02-03 14:23:44 +01:00
4d3cdf73c9 modulebase: fix Invalid python3 Syntax after merge
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-28 12:33:52 +01:00
13d85ea31a addons: dhcp: if mgmt vrf context exec dhclient in default vrf
Ticket: CM-27644

If we are running in mgmt vrf context and vrf is not specified
on the dhcp interface, use ip vrf exec to start dhclient in the
default context

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
2020-01-28 12:04:22 +01:00
55dab2f772 python3: remove str.encode(ascii, ignore) call from python3 tree
because of this line the string was converted to bytes and would
cause side effects.

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-28 12:02:10 +01:00
0c6b76af51 Merge branch 'master-next' into python3
* master-next:
  nlpacket: add tunnel link_kind to encode support list
  addons.conf: remove duplicate entry for tunnel pre-up
2020-01-28 12:00:03 +01:00
040192991d nlpacket: add tunnel link_kind to encode support list
fixing: TypeError: cannot concatenate 'str' and 'NoneType' objects

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-28 11:56:19 +01:00
2771a88e13 addons: ethtool: fix: _modinfo dictionary got renamed to modinfo in a merge
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-27 20:15:49 +01:00
a3f9506e37 python3: addons: address: update IPNetwork call after master-next merge
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-21 09:34:57 +01:00
4955b6017a Merge branch 'master-next' into python3
* master-next:
  addons: address: convert ip addresses from statemanager to IPNetwork objects
  main: add extra log info to output the exit status
2020-01-21 09:33:20 +01:00
67c84dad3f addons: address: convert ip addresses from statemanager to IPNetwork objects
Ticket: CM-27841
Reviewed By: Roopa
Testing Done: tests from the CM

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-21 09:30:26 +01:00
9873823902 main: add extra log info to output the exit status
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-21 09:29:09 +01:00
bc7effff52 python3: ipnetwork: create new ipnetwork object from existing ones
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-21 08:56:41 +01:00
7a6d8252cc python3: addons: addressvirtual: convert user ip addr to ipnetwork format 2020-01-21 08:56:10 +01:00
0e936c3ffa python3: replacing ipaddr with custom ipnetwork.IPNetwork object
As mentioned in a previous commit:
python3 ipaddress behave differently from python2-ipaddr, this is
a serious problem for us since it breaks most of the ip addresses
code.

>>> import ipaddress
>>> ipaddress.ip_network("10.10.10.242/10", False)
IPv4Network('10.0.0.0/10')

This is a problem for us, so we need to use a custom IPNetwork object.
Our custom IPNetwork object uses ipaddress.IPAddress under the hood

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-08 11:09:08 +01:00
447796a6c3 python3: ethtool: port offload code to python3
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2020-01-02 15:53:12 +01:00
3aa8da8a6c Merge branch 'master-next' into python3
* master-next:
  argv: move --nldebug option to common_argparse to avoid exception in ifreload
  debian: changelog: new 2.0.1-1 entry
  argv: add new command line argument --nldebug
  This commit adds the feature to change offloads for nics. Currently GRO, LRO GSO, TSO, UFO, TX and RX Offload are supported.
2020-01-02 15:50:51 +01:00
8e9960454d argv: move --nldebug option to common_argparse to avoid exception in ifreload
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-31 20:26:46 +01:00
9e4c83547c argv: add new command line argument --nldebug
if --nldebug is provided, netlink debug message will be printed

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-31 15:15:15 +01:00
da9915399f Merge branch 'master' into master-next
* master:
  This commit adds the feature to change offloads for nics. Currently GRO, LRO GSO, TSO, UFO, TX and RX Offload are supported.
2019-12-30 15:59:15 +01:00
e1b7bcd382 Merge pull request #118 from svenauhagen/feature/offload
This commit adds the feature to change offloads for nics
2019-12-30 15:36:19 +01:00
66f27594a4 python3: fixes for batman_adv, ppp and xfrm addons
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 18:27:22 +01:00
45864399b0 Revert "python3: ipaddress is now part of the standard library (removing python-ipaddr)"
This reverts commit 5dded70eaa1be660f80ebb50bfdb35e86d7e1fac.
2019-12-17 17:35:51 +01:00
5dded70eaa python3: ipaddress is now part of the standard library (removing python-ipaddr)
IPNetwork doesn't exists anymore and is replaced by ip_network. IPv?Network (4 and 6)
objects take an optional argument "strict" that defaults to True. If strict is set
and the ip address has the host bit set it will raise an exception. This is bad
for ifupdown2, so we need to replace all calls to IPNetwork and IPv?Network with
function who will set strict to False. That way we can limit the number of changes
for this patch.

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:27:51 +01:00
964e8e5c2f python3: comment out traceback.print_exc in main exception
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:26:25 +01:00
bd441a519d python3: pypi support: except ImportError and ModuleNotFoundError
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:25:32 +01:00
e36ad206ac python3: utils.exec_command now returns str and not bytes
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:20:27 +01:00
166bc29384 python3: scheduler: comment out traceback.print_exc
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:20:02 +01:00
6f89e48939 python3: scheduler: python3 set can't handle None value
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:55 +01:00
9dfc8a4446 addons: bridge: use string.replace.split instead of regex.split()
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:51 +01:00
c817ba4d53 python3: bridge: use integer python3 division instead of float division
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:46 +01:00
c3231ed0f1 addons: addressvirtual: fix ifquery output if no address is found on the macvlan
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:24 +01:00
a73adcd99f python3: popen.communicate returns bytes (str are expected)
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:18 +01:00
eea20c9dff python3: nlpacket: encode_ipv4: convert to string before converting to bytes
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:12 +01:00
c46af1c992 python3: logging: the 'warn' method is deprecated, use warning instead
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:19:05 +01:00
c8eec61e41 python3: nlpacket: importing python3 fixes from nlmanager repo
more fixes for strings/bytes, netlink packet pack/unpack and
python3 floating division

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:16:30 +01:00
997910cd2a python3: nlmanager: fix sequence.next() call
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:09:17 +01:00
f508b51eb1 python3: mstpctlutils: .strip() expects bytes and not a string
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:08:29 +01:00
fefbda193d python3: nlpacket: LINKINFO: info_kind as a string not bytes
The rest of the code expects link kind to be a string(str) and not bytes

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:02:34 +01:00
2ead3536f2 python3: nlpacket: LINKINFO: workaround: converting strings to bytes and ignoring NoneType
Not sure why there's NoneType objects here...

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
2019-12-17 17:01:18 +01:00