This also pulls in python-gvgen package from wheezy sid into our
upstream dir. Previously i had packaged the gvgen module directly
into the ifupdown package
dpkg-configure during build seems to be picking up python2.6 and
python2.6 was complaining about the syntax. Fixed with syntax
compatible with python2.6
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/
Old ifupdown allowed multiple stanza's for the same interface.
To support older files ifupdown2 will continue to support duplicate interfaces.
However this check will warn on interfaces with same config more than
once. The check is done at a higher level during parsing and hence only
does a string compare of the iface section.
roopa [Thu, 27 Mar 2014 21:00:00 +0000 (14:00 -0700)]
Remove upper device check warnings + implicitly follow upperifaces when
a logical interface comes up
Ticket: CM-2493
Reviewed By:
Testing Done: Tested ifup, ifdown in bond bridge setup
Also, implicitly pick up the upperifaces (even when user has not
specified --with-depends) for logical interfaces.
This is because when a logical interface goes down/deleted, kernel
impilicity deletes its upperifaces. so its better to implicitly bring
up upperifaces.
Before this patch, `ifup --with-depends <iface>` only brought up
lowerdevices. Because those were enough for iface to function.
And if ifaces above it (upperdevices) needed fixing, user could just
execute `ifup --with-depends <ifaceupper>`.
But in a recent, bond under a bridge bug in 2.0, got me thinking that
its probably better to up the upperdevices which might be impacted as
well. and this patch does just that.
The patch includes changes to make ifupdown generate dependency
information for all interfaces even if the user requested to operate
on a single interface. This is to get a full view of the interfaces file.
This might add some overhead. Should not change anything during boot.
Still looking at ways to optimize.
roopa [Thu, 6 Mar 2014 14:41:28 +0000 (06:41 -0800)]
A few state manager optimizations + and some other fixes
Ticket: CM-1438
Reviewed By:
Testing Done:
This also fixes a bug with address handling:
- If the user changed a primary address, flush all the addresses and
re-add them. Previously, if user added a new primary address, it would
ust get appended to the end of the address list as a secondary address.
roopa [Fri, 28 Feb 2014 06:23:03 +0000 (22:23 -0800)]
ip batch support for mstp bridges + add support for multiple globs in a
single port expression + cleanup
Ticket: CM-1438
Reviewed By:
Testing Done:
This has left some dead code in. cleanup comming in subsequent patches.
ip batch support is not complete. It currently works only for mstpctl
bridges. more coming ..
roopa [Thu, 20 Feb 2014 17:07:55 +0000 (09:07 -0800)]
Disable exec of legacy /etc/network/<scripts> for now because of the
overhead
Ticket: CM-1438
Reviewed By:
Testing Done:
These are executed with shell=True and python subprocess performance
with shell=True sucks. This seems to have improved in python3. Will try
that out next. And also plan to make this controllable via an option.
roopa [Tue, 18 Feb 2014 03:01:37 +0000 (19:01 -0800)]
Support for manual method + rearrange some code
Ticket: CM-1438
Reviewed By:
Testing Done:
- Moved link config to base ifupdown. I had been debating about this,
this is need to support manual and also the --no-scripts option.
- helps executing only link up/down operations if needed on an interface
- While at it, i also moved the scheduler methods to be classmethods
instead of instance methods (which again was a pending cleanup task)
roopa [Thu, 13 Feb 2014 06:29:41 +0000 (22:29 -0800)]
Fix l3 lag test failure
Ticket: CM-1438
Reviewed By:
Testing Done: l3 lag test with help from purna
- THe down sequence in the new ifupdown was causing switchd some grief
(wilson is looking at it). readded the topological sort which i had
removed in favor of only walking the tree. With the fix,i dont see the
switchd problem anymore.
- And another down bug was causing the bond to go away prematurely (only
with the all depends option). Added a upperdevice list to track upperdev references
roopa [Fri, 31 Jan 2014 06:36:41 +0000 (22:36 -0800)]
More fixes and changes
Ticket: CM-1438
Reviewed By:
Testing Done: unit tested with all kinds of interfaces
some high level changes
- moved ipv4/ipv6 address handling in a single module. dhcp
into a separate module.
- new link 'up' module
- igmp fixes
- many other fixes
roopa [Sat, 18 Jan 2014 07:10:12 +0000 (23:10 -0800)]
some ifquery fixes + make the default to not follow dependents (
added a --with-depends option)
Ticket: CM-1438
Reviewed By:
Testing Done:
still debating on the default behaviour for following dependents.
for now not following dependents might be better.
When all interfaces are selected, it always follows dependents
roopa [Sat, 18 Jan 2014 07:10:12 +0000 (23:10 -0800)]
some ifquery fixes + make the default to not follow dependents (
added a --with-depends option)
Ticket: CM-1438
Reviewed By:
Testing Done:
still debating on the default behaviour for following dependents.
for now not following dependents might be better.
When all interfaces are selected, it always follows dependents
roopa [Fri, 20 Dec 2013 21:59:37 +0000 (13:59 -0800)]
some fixes + template support
Ticket: CM-1438
Reviewed By:
Testing Done:
This patch adds support for mako style templates.
Example:
% for v in [20,30,40]:
auto vlan${v}
iface vlan${v} inet static
address 10.20.${v}.3/24
mstpctl_ports glob swp1-52.${v}
mstpctl_stp on
% endfor
open items:
- currently templates will only work if python-mako is installed
(Its apt-gettable from debian wheezy).
roopa [Sun, 1 Dec 2013 07:52:30 +0000 (23:52 -0800)]
Some fixes in dependency handling
Ticket: CM-1438
Reviewed By:
Testing Done: tested with configs involving vlan devices and bridges
- fix dependency handling which i had broken recently with my last
checkin (nat reported this one)
- In inet pluggins, dont issue ip addr get unless required (saw cpu
spike up because of CM-1889)
- and some other minor changes lying in my tree
roopa [Mon, 11 Nov 2013 06:35:40 +0000 (22:35 -0800)]
Some fixes + enhancements
Ticket: CM-1438
Reviewed By:
Testing Done: Tested installing new ifupdown on the box
- fixed a few things in ifquery
- added new perfmode to skip some of the checks (useful during boot when there is
no previous state)
- updated doc dir with example
- Added README, TODO and KNOWN_ISSUES file
roopa [Mon, 11 Nov 2013 06:35:40 +0000 (22:35 -0800)]
Some fixes + enhancements
Ticket: CM-1438
Reviewed By:
Testing Done: Tested installing new ifupdown on the box
- fixed a few things in ifquery
- added new perfmode to skip some of the checks (useful during boot when there is
no previous state)
- updated doc dir with example
- Added README, TODO and KNOWN_ISSUES file