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

36 Commits

Author SHA1 Message Date
Sameer Ladiwala
0f6dc7e67a vxfld: ifupdown2 addon for vxrd
Ticket: CM-6358
Reviewed By: roopa
Testing Done: Yes

ifupdown2 creates overrides vxrd's config when either (or both) the vxrd-src-ip and vxrd-svcnode-ip appear under the loopback interface's configuration.
Example
address 12.0.0.4/32
vxrd-src-ip 12.0.0.4
vxrd-svcnode-ip 99.99.99.9
2015-07-06 13:42:37 -07:00
Balakrishnan Raman
62e6f96043 ifupdown changes for active-active vxlan
Ticket: CM-3715
Reviewed By: CCR-3065
Testing Done: unit testing

Changes to proto down vxlan devices to avoid packet loops or duplicates before
clagd checks consistency and installs egress acl rules. When vxlan device is
brought up, check for presence of peer link and proto-down the device if peer
link exists.
- get_dependent_ifacenames is used to eliminate order dependency in specifying
peer link and vxlan configuration in /etc/network/interfaces.
- A separate script clagVxlanProtoDown is used to protodown vxlan devices if
peer link is configured separately (ifup peerlink) and vxlan devices are
already functional in the system.
2015-06-18 01:21:16 -07:00
Sam Tannous
3d44fbd0c9 Add default link parameter support for ethtool module
Ticket: CM-5254
Reviewed By: roopa
Testing Done: tested master and 2.5_br images with testifupdown2 suite and hand tested

This patch creates a json defaults file upon bootup
(which can be overridden by customer configs in /etc)
which the ethtool module in ifupdown2 will consult
when "link-x" configs are removed in order to restore
them to the initial settings used by the switch.
(cherry picked from commit 8388664f5a5a85f2a813cafbf40ac92d7b86f4bf)

Conflicts:
	packages/cl-utilities/usrlib/update-ports
(cherry picked from commit 21c9c10ab2fccaf60be9accb337e82541d497cc4)
2015-06-04 15:27:48 -04:00
Roopa Prabhu
77c920f2d9 Add new SKIP_DOWN_AT_SYSRESET /etc/init.d/networking config option to
skip deconfiguring interfaces

Ticket: CM-5900
Reviewed By: CCR-2921
Testing Done: Tested 'service networking stop' during system reboot and shutdown
2015-05-12 07:32:53 -07:00
Roopa Prabhu
e308cb8280 add new ifupdown2.conf option ifreload_down_changed to control ifreload
ifdown behaviour.

Ticket: CM-5819
Reviewed By: CCR-2846
Testing Done: tested ifreload evo test case

ifreload_down_changed is 0 by default which will make
sure ifreload will not execute down on changed interfaces
but only on deleted interfaces making it non-disruptive.

some notes from CCR:

ifreload was designed to be an optimization for 'service networking
restart' or 'ifdown -a + ifup -a'.
essentially it is a combination of 'ifdown + ifup' with some smarts in
which interfaces it will execute ifdown on.

By default it does the below:
ifdown all interfaces that were deleted from the interfaces file
ifdown all interfaces that were changed from the last time they were
ifup'ed
ifup -a (execute ifup on all interfaces marked auto)

Did not realize people will use ifreload as much as they do today. Also,
they may execute it on a production box when changes are made. ifdown on a production box can be
disruptive because if the ifdown which is part of the ifreload.

To have a non-disruptive option to ifreload, 2.5 added a new option -c
that only executed 'ifup' on all interfaces. Thus reloading all auto +
any other interfaces that were once brought up on the box (essentially
all interfaces present in the saved state file). This by default did not
do anything to the interfaces that got deleted from the file. But had an
ifupdown2.conf toggle to do so.

Looking at the evo use case, they do want to use a single command that
modifies, adds, deletes with
minimum disruption. we can achieve maybe what they want with multiple
commands (But there is also a case of a bug in the build evo is running
which makes it not so easy ).

This patch fixes the bug and also tries to change the default ifreload
behaviour controllable via a variable in ifupdown2.conf.
when ifreload_down_changed=0 in ifupdown2.conf, ifreload will only
ifdown interfaces that were deleted
from the file but not the ones that changed. subsequent ifup as part of
ifreload on the interfaces
that changed will apply the delta. And ifreload_down_changed default
value is '0'.

WIth the patch, ifreload by default will do the below (going back to the
previous default is just a toggle in the ifupdown.conf file):
ifdown all interfaces that were deleted from the interfaces file
ifup -a (execute ifup on all interfaces marked auto)

It sounds like a big change of behaviour for a hotfix release, but
essentially the patch just moves a few things around. And the change in
behaviour is so subtle that it is not very visible.
It just makes it non-disruptive.
(cherry picked from commit 2f7977834d4912a69159d27e54ba201f58a321d8)
2015-04-25 19:12:16 -07:00
anuradhak
ff01349dd4 Move clag_enable setting to ifupdown2 ifenslave.
Ticket: CM-4802
Reviewed By:
Testing Done: yes

1. clag_enable needs to be set before slaves are added to the bond. Otherwise
bonding driver will bring the slaves up independent of clagd.
2. also added post_down clagd addon to cleanup the clag-id on ifdown.
2015-02-02 12:53:14 -08:00
Roopa Prabhu
a53e80bca9 Fix typo in comment in default config file
Ticket:
Reviewed By: trivial
Testing Done: no code change
2015-01-16 09:54:19 -08:00
anuradhak
fff589ea4c Moved bond-clag-id attr setting from ifenslave.py to addons/clagd.py
Ticket:
Reviewed By:
Testing Done:

<DETAILED DESCRIPTION (REPLACE)>
(cherry picked from commit ed008ea9ec176e01b2043b872ad0b8b193f31d0f)
2014-12-29 12:33:30 -08:00
John Berezovik
97f4cff80c Merge branch 'release-2.5' into CumulusLinux-2.5_br
Conflicts:
	build-config/make/local-pkgs.make
	packages/cafe/clobjects.py
	packages/cafe/clobjects_l3_quagga.py
	packages/cl-basefiles/etc/cumulus/datapath/traffic.conf
	packages/cl-utilities/etc/monit/monitrc.d/cumulus
	packages/clag/ifupdown/clagd.py
	packages/ifupdown2/addons/bridge.py
	packages/ifupdown2/addons/ifenslave.py
	packages/ifupdown2/ifupdown/iface.py
	packages/ifupdown2/ifupdown/ifupdownmain.py
	packages/ifupdown2/ifupdown/scheduler.py
	packages/portwd/portwd
	patches/bcm-sdk/series
	patches/iproute/bridge-increase-netlink-rcv-buf-size.patch
	patches/iproute/series
	patches/kernel/driver-support-sff-8436-eeprom.patch
	patches/kernel/network-bridge-dont-install-local-mac.patch
	patches/kernel/series
	patches/lldpd/series
	patches/mstpd/clag_port_fsm_reset.patch
	patches/mstpd/mstpd_init_system.patch
	patches/mstpd/series
	patches/quagga/series
	rootconf/default/etc/default/cron
	switchd/hal.c
	switchd/hal_bcm.c
	switchd/hal_bcm_config.c
	switchd/hal_bcm_config.h
	switchd/hal_config.c
	switchd/hal_config.h
	switchd/hal_int.h
	switchd/sync.c
	tests/tests/l3/bgp_alpm_test.py
	tests/tests/l3/bgp_path_hunting.py
	tests/tests/l3/bgp_smoke_test.py
	tests/tests/l3/l3_node.py
	tests/tests/l3/mc_snoop_test.py
	tests/tests/lib/decorators.py
	tests/tests/smoke/testifupdown2.py
	utilities/ci/pretest.yml
	utilities/distro-cmd
	utilities/packages/ssim2/setup.py
	utilities/packages/ssim2/ssim2/simlib.py
2014-12-24 12:20:53 -08:00
Roopa Prabhu
a070c90ec3 Multiple fixes and cleanup
Ticket: CM-3346
Reviewed By:
Testing Done: Tested ifupdown2 sanity

- moved 'admin up' delays that we introduced recently to be
configurable via two ifupdown2.conf attributes
    # Let link master (bridges, bonds) own the link state of slaves
    link_master_slave=1

    # Delay admin state change till the end
    delay_admin_state_change=0

- reduced some redundant traversal of dependency trees

- fixed a few bugs in query check
2014-12-17 12:39:38 -08:00
Roopa Prabhu
6c3425307c Add clagd in the default shipped addons.conf and remove the editing of
addons file

Ticket: CM-4423
Reviewed By:
Testing Done: tested ifupdown2 in the presence and absence of clagd

This is a hack to get around an ifupdown2 limitation.
The real fix should come as part of CM-3782
(cherry picked from commit 6fb63d6cdcb660063cf5d07ff28f49c34a306371)
2014-12-09 14:24:06 -08:00
Roopa Prabhu
f4dbd14226 Add clagd in the default shipped addons.conf and remove the editing of
addons file

Ticket: CM-4423
Reviewed By:
Testing Done: tested ifupdown2 in the presence and absence of clagd

This is a hack to get around an ifupdown2 limitation.
The real fix should come as part of CM-3782
2014-12-09 13:49:23 -08:00
Roopa Prabhu
9562b117e4 Disable loopback module until we decide and document it
Ticket: CM-3525
Reviewed By:
Testing Done:
2014-12-04 08:24:22 -08:00
Roopa Prabhu
a594e025f5 Disable vrrpd until it is fully supported
Ticket: CM-3791
Reviewed By:
Testing Done: compile tested
(cherry picked from commit 382c2a165d9927ff26f22ce2a2a57c3742fbbfa5)
2014-12-04 08:23:44 -08:00
Roopa Prabhu
971c9b35c0 Disable vrrpd until it is fully supported
Ticket: CM-3791
Reviewed By:
Testing Done: compile tested
2014-12-04 08:09:05 -08:00
Andy Gospodarek
43876f38b6 ifupdown2: remove up op in config file
Ticket: CM-3525
Reviewed By: CCR-2035
Testing Done: ifup/ifdown, service networking restart, reboot

Need for this change noticed in review.
(cherry picked from commit 231e2cf74b0f55b65f76d315d04f3a9c8279f51b)
2014-12-02 19:59:06 -08:00
Andy Gospodarek
4b08367ba3 ifupdown2: remove up op in config file
Ticket: CM-3525
Reviewed By: CCR-2035
Testing Done: ifup/ifdown, service networking restart, reboot

Need for this change noticed in review.
2014-12-02 19:55:30 -08:00
Roopa Prabhu
5b4d304406 Fix formatting for ifquery check (cosmetic. only fixes prints)
Ticket: CM-3346
Reviewed By:
Testing Done: ifupdown2 sanity + ifquery check tests
(cherry picked from commit ba81bde56d04a8f90a6f5d548518605fd1e5ae5f)
2014-12-01 23:24:08 -08:00
Roopa Prabhu
0212f53ccb Fix formatting for ifquery check (cosmetic. only fixes prints)
Ticket: CM-3346
Reviewed By:
Testing Done: ifupdown2 sanity + ifquery check tests
2014-12-01 23:19:48 -08:00
Roopa Prabhu
a3c7ba7a09 Change to square brackets (hopefully last change on this before it goes
out)

Ticket: CM-3346
Reviewed By:
Testing Done: Tested ifquery check
(cherry picked from commit d8b03e1d50e2936d87a419f16564b79b908e6ef7)
2014-11-30 21:22:10 -08:00
Roopa Prabhu
1cb7f1c087 Change to square brackets (hopefully last change on this before it goes
out)

Ticket: CM-3346
Reviewed By:
Testing Done: Tested ifquery check
2014-11-30 21:15:10 -08:00
Roopa Prabhu
cd3059b82b Change case of check strings
Ticket: CM-3346
Reviewed By: cosmetic
Testing Done: ifquery check sanity
(cherry picked from commit 556a078a7f551f1f895f0ddc71b6124d960ffb4e)
2014-11-28 12:54:04 -08:00
Roopa Prabhu
a3b9ac1e99 Change case of check strings
Ticket: CM-3346
Reviewed By: cosmetic
Testing Done: ifquery check sanity
2014-11-28 12:48:01 -08:00
Roopa Prabhu
6ab14132fb Add exclude args to /etc/default/networking
Ticket: CM-3346
Reviewed By:
Testing Done: Tested service networking restart with exclude interface
list
2014-11-18 16:58:12 -08:00
Roopa Prabhu
fac4138bfe Change defaults result strings in ifquery check output
Ticket: CM-3810
Reviewed By:
Testing Done: tested ifquery check

defaults from /etc/network/ifupdown2/ifupdown2.conf
ifquery_check_success_str=(OK)
ifquery_check_error_str=(FAIL)
ifquery_check_unknown_str=
2014-11-15 23:34:02 -08:00
Roopa Prabhu
2da58137d8 Misc fixes + ifreload new option + cleanups + more ifquery support etc
Ticket: CM-3346, CM-3784, CM-3841
Reviewed By:
Testing Done: various ifupdown2 tests
2014-11-11 21:58:12 -08:00
Roopa Prabhu
830c91d7e6 First cut ifupdown2 module for vrrpd
Ticket: CM-3454
Reviewed By:
Testing Done: basic testing with vrrpd

There is no check support yet and an open issue
with checking existing ifplugd processes
2014-11-11 21:47:29 -08:00
Roopa Prabhu
261379f01b Add /etc/default/networking to provide an easier way to change
ifupdown logging from /etc/init.d/networking.

Ticket: CM-3891
Reviewed By:
Testing Done: Tested changing default networking parameters

- This provides a way to log to syslog
- if syslog is not enabled, msgs are output to stdout (in case of boot
  these should be captured by bootlog in > 2.5)

Note that these values only affect logging from the
/etc/init.d/networking script and has nothing to do with ifupdown2
logging when ifupdown2 is used outside of /etc/init.d/networking
2014-11-07 15:18:42 -08:00
Roopa Prabhu
8e113d6319 misc query and fdb/vlan add fixes
Ticket: CM-3346
Reviewed By:
Testing Done: ifupdown2 sanity
2014-11-03 17:55:51 -08:00
Roopa Prabhu
84ca006f82 First phase checkin for new format for vlan aware bridge
Ticket: CM-3346
Reviewed By:
Testing Done: Sanity test + test new bridge format

There are a bunch of open issues with `vlan` interface handling.
Below is the format.

auto swp1
iface swp1
    bridge-access 300
    mstpctl-pathcost 0
    mstpctl-adminedge yes
    mstpctl-autoedge yes
    mstpctl-p2p yes
    mstpctl-bpduguard yes
    mstpctl-treeprio 64
    mstpctl-network yes
    mstpctl-bpdufilter yes

auto swp2
iface swp2
    bridge-vids 301
    bridge-pvid 302
    bridge-pathcost 10
    bridge-priority 10
    bridge-multicast-router 0
    bridge-multicast-fast-leave 1

auto br0
iface br0
    bridge-vlan-aware yes
    bridge-stp on
    bridge-ports swp1 swp2
    bridge-vids 2001

auto br0.2001
iface br0.2001
    address 10.0.14.2
    hwaddress 00:03:00:00:00:12
    address-virtual 00:00:5e:00:01:01 11.0.4.1/24

auto br0.2001
vlan br0.2001
    bridge-igmp-querier-src 172.16.101.1
2014-10-24 10:11:07 -07:00
Roopa Prabhu
8c13865cd4 Fix a few ordering issues + fix following upperiface for bridge device
Ticket: CM-3346
Reviewed By:
Testing Done: sanity test
2014-10-10 14:05:19 -07:00
Roopa Prabhu
39804250c7 A few more fixes to the vlan aware bridge case
Ticket: CM-3346
Reviewed By:
Testing Done: Tested with new and old bridge formats
2014-10-09 19:10:20 -07:00
Roopa Prabhu
15ef32ea14 Move ifupdown2addons into ifupdown2 pacakge
Ticket: CM-3864
Reviewed By:
Testing Done: Tested build and install

open item:
- cleanup stale ifupdown2-addons package files
2014-10-09 16:02:46 -07:00
Roopa Prabhu
0fb49cf59d Initial checkin for ifup/ifdown svi config
Ticket:
Reviewed By:
Testing Done: Tested with old and new bridge driver

Examples:
old bridge driver:
%for v in range(100, 104):
auto br${v}
iface br${v}
    bridge-ports uplink1.${v} peerlink.${v} downlink.${v} glob
swp2-4.${v}
    bridge-stp on
    svi-router-ip 11.${v/256}.${v%256}.240/24
    svi-router-mac 00:00:5e:00:01:00
    svi-router-virtual-ip 11.${v/256}.${v%256}.241/24
    svi-router-virtual-mac 00:11:22:33:44:00
%endfor

new bridge driver:
%for v in range(100, 101):
auto br0.${v}
iface br0.${v}
    svi-router-ip 11.${v/256}.${v%256}.240/24
    svi-router-mac 00:00:5e:00:01:00
    svi-router-virtual-ip 11.${v/256}.${v%256}.241/24
    svi-router-virtual-mac 00:11:22:33:44:00
%endfor

Pending issues:
- optimization (its slow with 2000 svi's today)
- ifquery check and running support
- names of attributes and macvlan interfaces may change after review
2014-09-25 10:57:52 -07:00
roopa
86fc62e20c make a few things configurable (check output err/success string +
warnings on ifupdown)

Ticket: CM-1438
Reviewed By:
Testing Done: Tested ifupdown2 sanity

Some of the above mentioned configurable items can be specified in
ifupdown2.conf
2014-05-09 09:10:49 -07:00
roopa
14dc390d71 Fixes to some corner cases + support for some missing 'options and
attributes' for backward compatibility

Ticket: CM-1438
Reviewed By:
Testing Done: Tested ifupdown sanity and new functionality

support for:
- -i <interface file>
- template lookup path and move all template handling to a separate
  module template.py
- new ifupdown2 config file /etc/network/ifupdown2/ifupdown2.conf
- bridge_waitport and bridge_maxwait
- moved addons.conf to /var/lib/ifupdownaddons/
2014-04-18 14:09:20 -07:00