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

370 Commits

Author SHA1 Message Date
Roopa Prabhu
97a907c5fe Fix mstp settings ordering issues when bridge stp is toggled on and off
(when mstp settings are specified under the port)

Ticket: CM-6626
Reviewed By: CCR-3599
Testing Done: Tested the problem case mentioned in the bug (Plan to
re-work the fix a bit for 2.5.5)

problem:
    mstp parameters can be specified under the port or under the bridge
    When they are specified under the bridge, there should be no problem
(When you process the bridge, all things on the bridge port are set in
order)
    When they are specified under the port:
    we check if the bridge is up, if yes, and stp is already configured,
we process mstpctl settings
    This check today only checks running stp_state
    We should also check the user configured stp state for the bridge
    Note that the problem exists only if the bridge and ports are
already up and user executes ifup again and when we need to re-evaluate
the bridge port settings

solution:
    When the bridge port is being checked for mstp settings, not only
check running stp state, but also check user specified stp state and
correct bridge stp state before proceeding with mstp configuration

Few things to note with this patch:
    - If user changed stp state on bridge to 'on', and did `ifup
    <bridge_port>'`,
    though the user has not ifup'ed the bridge yet, the bridge stp state
    will be applied (very few people will run into this and practically this
    should not be a problem atall. But from correctness POV it is
    a voilation. ).

    - To avoid this, the other solution would have been to let the bridge
    port code be as is, but handle this during bringing up the bridge,
    but, this can confuse the user, because when processing the
    bridge_port, you will still throw warnings even if the port stp config
    is later reapplied when the bridge comes up

    - note that the patch only handles the case when stp state is not on and
    somebody turned it on.  For the case where stp state was on and somebody
    turned it off, this patch wont throw warnings for the mstpctl config. But
    it will not cause any issues because once stp is off things will be ok
    everywhere. I want to keep any changes here out of this patch. I will
    document this in the bug...and see if i can handle this in 2.5.5
2015-09-29 10:22:58 -07:00
Roopa Prabhu
f012209e19 Fix ifquery json output for --running and other options
Ticket: CM-7635
Reviewed By: CCR-3575
Testing Done: Tested failing ifquery output in json format

This patch fixes a bug introduced by 0dea0cfeeec8b342ee2e2b767daa4071ac760f31
("Add support to display status (pass, fail) in ifquery --check json
output").

This patch separates the json encoders for iface objects with and
without status (ifaceJsonEncoder and ifaceJsonEncoderWithStatus) so
that they dont interfere with each other.
2015-09-24 15:47:31 -07:00
Roopa Prabhu
fb10449e55 Add support to display status (pass, fail) in ifquery --check json output
Ticket: CM-7464
Reviewed By: CCR-3507
Testing Done: Tested ifquery check sanity

ifquery --check non-json output displays 'pass' and 'fail' for
each attribute on the same line (see below). This output is not json
friendly. For json, include status in 'config_status' a dictionary
whose keys are similar to the 'config' dictionary but values are status
for the corresponding keys in the 'config' dictionary (see example below)

auto bond4
iface bond4 inet static
[pass]
    bond-mode 802.3ad                                           [pass]
    bond-miimon 100                                             [pass]
    bond-use-carrier 1                                          [pass]
    bond-lacp-rate 1                                            [pass]
    bond-min-links 1                                            [pass]
    bond-xmit-hash-policy layer3+4                              [pass]
    bond-slaves swp3 swp4                                       [pass]

[
  {
    "name": "bond4",
    "addr_method": "static",
    "addr_family": "inet",
    "auto": true,
    "config": {
      "bond-use-carrier": "1",
      "bond-miimon": "100",
      "bond-lacp-rate": "1",
      "bond-min-links": "1",
      "bond-slaves": "swp3 swp4",
      "bond-mode": "802.3ad",
      "bond-xmit-hash-policy": "layer3+4"
    },
    "config_status": {
      "bond-use-carrier": "pass",
      "bond-miimon": "pass",
      "bond-lacp-rate": "pass",
      "bond-min-links": "pass",
      "bond-slaves": "pass",
      "bond-mode": "pass",
      "bond-xmit-hash-policy": "pass"
    },
    "status": "pass"
  }
]
2015-09-17 21:57:06 -07:00
Roopa Prabhu
264dcaa073 Make sure an interface is down (in the bond case, its slaves are also
down) when setting mac address

Ticket: CM-6982
Reviewed By: CCR-3516
Testing Done: Tested ifreload setting of mac on an already up bond
2015-09-17 11:26:56 -07:00
Roopa Prabhu
b4ea30ca2c Fix batch_commit to reset vars if batch buffer is NULL.
Ticket: CM-6982
Reviewed By: trivial but imp
Testing Done:

This will make sure a stale batch.start() with no real batch commands
is ended cleanly.
2015-09-17 11:26:38 -07:00
Wilson Kok
dae9c5dee0 ifupdown: vxlan-remoteip not getting applied when vxrd is not configured to run
Ticket: CM-7410
Reviewed By: CCR-3470
Testing Done:

When vxrd is not enabled in /etc/default/vxrd, the 'service vxrd status'
command returns 0, causing the vxlan-remoteip to be not applied even
though it should have. Fix is to change to checking pidfile of vxrd.
2015-09-10 14:00:53 -07:00
Roopa Prabhu
42a9d19335 Add a check to see if it is indeed a bridge port before applying mstpctl
config

Ticket: CM-6965
Reviewed By: CCR-3472
Testing Done: Tested with interfaces file specified in the bug
2015-09-09 11:43:19 -07:00
Roopa Prabhu
f6d2d5eab5 fix errors in examples that were generate warnings
Ticket:
Reviewed By: trivial
Testing Done: Tested all example files with latest from 2.5.4
2015-09-09 11:21:24 -07:00
Roopa Prabhu
21289e4a74 warn on stale interfaces left as dependents + warn on reuse of bond
slaves under other interfaces

Ticket: CM-7322, CM-6772
Reviewed By: CCR-3464
Testing Done: Tested with faulty configs and checked for warnings
2015-09-04 16:16:12 -07:00
Balakrishnan Raman
a794fb3142 ifupdown2 changes for vxlan anycast_ip, head-end fdb entries, protodown
Ticket: CM-7087
Reviewed By: CCR-3379
Testing Done: unit testing with clag_vxlan_clos_spec/cfg.py

On clag pairing, clagd changes local address of vxlan device to anycast ip.
If user does ifreload now, ifupdown2 will overwrite local address with
individual ip contained in /etc/netwrok/interfaces. vxlan.py caches
anycast_ip configuration so that ifquery -c can skip it from flagging error
and ifreload skip overwriting vxlan device's local ip.

vxrd provisions head-end replication endpoints by adding bridge fdb entries.
If /etc/network/interfaces doesn't have remote-ip attribute, then on ifreload
ifupdown2 will delete all vxrd provisioned entries. ifupdown will check for
presence of vxrd service and skip add/delete bridge fdb entries for
head-end replication

On ifreload vxlan device are put in proto-down even if they are up and running.
Check for operstate and put it in proto-down only if operstate transitions from
down to up.
2015-09-04 00:38:47 -07:00
Balakrishnan Raman
0be01c1048 Fix ifupdown2 pre-up order
Ticket: CM-7313
Reviewed By: trivial
Testing Done: tested in active-active vxlan scale testbed

With recent change to ifupdown2 to create dummy devices (CM-3525), pre-up
sequence has been inadvertently changed to invoke clag before vxlan. This
causes protodown of vxlan device by clag addon to happen before vxlan device
gets added. Revert the pre-up order to have vxlan pre-up before clag's.
2015-08-31 16:28:52 -07:00
Roopa Prabhu
2ec2da0cf9 new ifupdown2 link module to create dummy devices
Ticket: CM-3525
Reviewed By: CCR-3326
Testing Done: Tested creating dummy devices using ifupdown2

This is modification to gospos loopback module. It solves the same
purpose ie using linux dummy device like a loopback device but there were
objections on calling it loopback so i have renamed it to link and i have changed it
into a generic module that can do any 'ip link'. Can be extended for
link args in the future.

below example creates a loopy device

$ifquery loopy
auto loopy
iface loopy
link-type dummy

$ifup loopy
$ifquery -c loopy
auto loopy
iface loopy [pass]
link-type dummy [pass]

(cherry picked from commit 1151420408a53c106d29183a1e0da5562c8b03a3)
2015-08-29 07:02:50 -07:00
Sam Tannous
7496605db3 ifupdown2 ethtool does not handle link-* settings on enslaved ports
Ticket: CM-7128
Reviewed By: Trivial
Testing Done: unit tested on Ken's machine

The ifupdown2 ethtool addon module fails to set/check
the link-speed on bridge ports.
I removed excessive ifaceLinkKind checking since CM-6619
(03642a9a) added BRIDGE_PORT and BOND_SLAVE.  This is ok
since we now check to see if ports have defaults (only swp do)
before showing or changing settings).
2015-08-20 23:12:26 -04:00
Sam Tannous
1e6d7bd76c add param in ifupdown2.conf to prevent fupdown2 users from specify interface config file on the CLI
Ticket: CM-7066
Reviewed By: scotte,roopa,olson
Testing Done: Unit testing and regression testing

This patch does two things:

1. It moves the interfaces config file name to the ifupdown2.conf file in /etc/network/ifupdown2.
This should allow administrators to specify a config file location different from the default and allow
subsets of users to use it without giving them access to specifying their own with the -i option in ifup/ifdown.

2. It also adds a new config setting called "disable_cli_interfacesfile" used to prevent users
from specifying their own interfaces file. This defaults to "1" (even if it is not configured).

Note: this new default takes away users ability to specify an interfaces file.

This should close the vulnerability where users could specify their own interfaces file
and add arbitrary user commands.

This leaves the shell=True option in the user commands add-on module since the ifup/ifdown/ifreload/ifquery
commands already require root access to run and the interfaces config file also requires root access to modify.
2015-08-20 22:59:44 -04:00
Wilson Kok
a2f424643a ifupdown: added bridge-allow-untagged bridge port option
Ticket: CM-6862
Reviewed By: CCR-3278
Testing Done:

Currently, ifupdown implicitly configures pvid on a bridge port
in case user doesn't configure it.  There is no way to configure
a bridge port to not accept untagged packets.  The new option
allows user to do that without changing the current default
behavior.
2015-08-10 14:38:57 -07:00
Wilson Kok
b37ec99a0c ifupdown: fixed warning when apply lacp attributes to non lacp bonds
Ticket: CM-6161
Reviewed By: Roopa
Testing Done:

Check bond mode when applying lacp attributes.
2015-08-10 14:19:09 -07:00
Roopa Prabhu
4994b48f42 change /bin/bridge path to /sbin/bridge to be same as upstream
Ticket: CM-6519
Reviewed By:
Testing Done: sanity test
2015-08-08 23:14:55 -07:00
Satish Ashok
34cdd4a39c break down the bridge port batch add in ifupdown2
Ticket:  CM-6496
Reviewed By: CCR-3196
Testing Done:

The "ip batch command to add a bridge port and flush the dev" command with 1k netdevices was taking 1.4G of memory. With 2k netdevices batch, this command was causing a OOM condition. To avoid this, commit the batch after 250 ports. Ideally we have to look at the internal batch implementation to see if there is an underlying issue.
2015-07-30 15:01:24 -07:00
Sam Tannous
4dcac660c2 Document --exclude option a little better for ifupdown2
Ticket: CM-6587
Reviewed By: roopa
Testing Done: checked man paged

If we do an ifdown on all ports and try to exclude a bond or bridge port.
But we also have an iface defined for swp1 or swp4
(even if these are empty).
The lower interfaces will not be excluded. So if we
do an "ifdown -a -X bridge", swp ports in the bridge or bond
will go down effectively bringing a bond or bridge down.

This patch simply adds some documentation to the man pages.

ifupdown2 never follows dependents if the user has given an
interface list (unless explicitly requested with --with-depends
option which is available with some options).
2015-07-30 11:15:17 -04:00
Sam Tannous
55072bd128 ifupdown2 patch to properly remove address-virtual mac addresses
Ticket: CM-6702
Reviewed By: roopa
Testing Done: unit and smoke tested with ifupdown2 suite

When address-virtual mac adddress is modified, removed from an SVI, or the SVI is removed,
the permanent mac address is not removed.

This patch addresses all three cases but creating a global statemanager instance
and removing address-virtual FDB entries that were previously configured.
2015-07-23 15:43:45 -04:00
Balakrishnan Raman
27f2a937d8 ifupdown2 fixes for svcnode, vxlan-ageing, bridge-vlan-aware
Ticket: CM-6815, CM-6816, CM-6817
Reviewed By: CCR-3234
Testing Done: unit testing

CM-6815 : ip link set syntax for svcnode has been changed. Absence of svcnode
will retain the existing values. svcnode 0.0.0.0 is needed to wipe out service
node addresses in vxlan device. Modified ifupdown2 to use svcnode 0.0.0.0 to
clean up service node address.

CM-6816: "bridge-clan-aware no" is not handled in query-check and hence ifquery
on bridge interface with "bridge-vlan-aware no" fails. Modified bridge's
query-check to take care of this.

CM-6817: With default ageing value (300), if query -c <vxlan device> was
failing. Set ageing to 300 if not specified and compare it with running config.
2015-07-23 12:17:47 -07:00
Roopa Prabhu
65e0c27674 Dont up a vlan aware bridge during upper iface bringup (optimization)
Ticket: CM-6619
Reviewed By: CCR-3191
Testing Done:  Tested upperiface bringup for bridge and vlan devices

'up' on bridge was always done to add the newly created port to the bridge
in cases where the bridge is not part of the interfaces being brought
up. But This will try to re-apply bridge port attributes on all bridge
ports and that can take a while when there are large number of bridge
ports. This patch currently avoids the bridge up for only the vlan
aware bridge case.
2015-07-23 10:17:02 -07:00
Roopa Prabhu
56e6d1009c Merge branch 'CumulusLinux-2.5_br' of ssh://stash.cumulusnetworks.com:7999/ccmr/cumulus into CumulusLinux-2.5_br 2015-07-23 10:15:43 -07:00
Sam Tannous
6cb589dfdf Allow customer set bond defaults for CL with ifupdown2
Ticket: CM-6723
Reviewed By: roopa
Testing Done: unit tested and testifupdown2 test suite

This patch installs bond interface defaults in

     /etc/network/ifupdown2/policy.d/bond_defaults.json

and allows users to modify this file.   Users can then leave out these
bond attributes in their configs to save typing and space.

It also changes the ifenslave and ifenslaveutil module to bond and
bondutil, respectively to be consistent with other modules
(and also because customers think of "bond" interfaces not
"ifenslave" interfaces.)

For example, the default file installed looks like the following:

{
    "README": "This file is user generated and modifiable.",
    "bond": {
        "defaults": {
                "bond-mode": "802.3ad",
                "bond-miimon": "100",
                "bond-use-carrier": "1",
                "bond-lacp-rate": "0",
                "bond-min-links": "1",
                "bond-xmic-hash-policy": "layer3+4"
         }
    }
}
Please enter the commit message for your changes. Lines starting
2015-07-22 18:38:07 -04:00
Roopa Prabhu
cb5ee151ff Merge branch 'CumulusLinux-2.5_br' of ssh://stash.cumulusnetworks.com:7999/ccmr/cumulus into CumulusLinux-2.5_br 2015-07-13 15:19:47 -07:00
Roopa Prabhu
31b2afbe89 Merge branch 'CumulusLinux-2.5_br' of ssh://stash.cumulusnetworks.com:7999/ccmr/cumulus into CumulusLinux-2.5_br 2015-07-13 15:02:14 -07:00
Roopa Prabhu
c78cae3d24 Fix ip addr parsing breakage on sid
Ticket:
Reviewed By: stannous
Testing Done: sanity testing
2015-07-13 14:33:01 -07:00
Roopa Prabhu
f63fb59d27 Merge branch 'CumulusLinux-2.5_br' of ssh://stash.cumulusnetworks.com:7999/ccmr/cumulus into CumulusLinux-2.5_br 2015-07-13 14:26:28 -07:00
Sam Tannous
29de56fe14 apt-get remove of python-ifupdown2 fails due to postrm script error
Ticket: CM-6655
Reviewed By: Trivial
Testing Done: tested install and removal of python-ifupdown2

There was an invalid equality test in the postrm script for
ifupdown2.  In Dash, equality is tested with a single '='
and not '=='.
2015-07-13 11:12:44 -04:00
Roopa Prabhu
06e398ff47 Move interface name check to networkinterfaces.py where all other parse
errors are reported

Ticket: CM-5882
Reviewed By: stannous
Testing Done: Tested with a long interface name
2015-07-09 11:07:06 -07:00
Roopa Prabhu
cabbb4dc93 Merge branch 'CumulusLinux-2.5_br' of ssh://stash.cumulusnetworks.com:7999/ccmr/cumulus into CumulusLinux-2.5_br 2015-07-09 11:04:39 -07:00
Sam Tannous
9fe90c103e ifupdown2 ethtool add-on module should not get unnecessary running configs for performance reasons
Ticket: CM-6630
Reviewed By: roopa
Testing Done: unit tested

We still run ethtool on most interfaces even if we don't have defaults to use.
The last bug I fixed (CM-6557) should have also fixed that (even if it was specific to
ifquery).

We now check if there is a configured attribute and if there is a default
value. If we do not have both, we continue without calling ethtool to get the running value.
2015-07-09 13:40:00 -04:00
Roopa Prabhu
9432c6717e Catch the interface long error during parsing
Ticket: CM-5882
Reviewed By:
Testing Done:
2015-07-08 21:08:43 -07:00
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
Sam Tannous
6faeff30af Running ifquery --running -a will truncate the pvid number to a single digit
Ticket: CM-6284
Reviewed By: roopa
Testing Done: unit tested change

Running ifquery --running -a will truncate the pvid number to a single digit for the bridge.
This patch appendis the entire pvid instead of only the first character.
2015-07-02 17:14:24 -04:00
Sam Tannous
d3ad131ee8 Make ifupdown2 print meaningful error when interface name length exceeds 15 characters
Ticket: CM-5882
Reviewed By: gospo
Testing Done: unit tested

When a user enters an interface name longer than 15 characters,
the error message is not clear about what the problem is.

   warning: netlink: Numerical result out of range <<<<<<<<<<<<<<<<

This patch catches the error before netlink gets the call and
prints

    error: the following interface names are too long: bond-xconnect.1006
2015-07-02 17:10:04 -04:00
Sam Tannous
8d60ab4163 ifquery --running should not show link attributes on logical interfaces
Ticket: CM-6557
Reviewed By: roopa, gospo
Testing Done: unit tested

ifquery should not show link attributes for interfaces we do not have defaults for.
Although somewhat useful, we don't want people saving the bond link attributes
to try to use then in a config
2015-07-02 15:59:34 -04:00
Roopa Prabhu
d005639cac Fix warning (was emitting two lines)
Ticket:
Reviewed By: trivial
Testing Done:
2015-07-01 15:01:15 -07:00
Roopa Prabhu
547084c312 un-glob expression in sample file
Ticket:
Reviewed By: trivial
Testing Done: Tested that sample works fine
2015-07-01 15:00:07 -07:00
Sam Tannous
9e1b366e33 ifreload causes unnecessary dhcp restart for eth0
Ticket: CM-5730
Reviewed By: roopa
Testing Done: tested change on Sean and Jason's lab setup

The dhcp restart on all interfaces using dhcp causes a reconnection
for NTP and in addition, a recent addition of rack management packages
(CM-5782) added ntp and a exit-hook script that also interrupted NTP
for a second time.   This patch will check for dhclient running (IPv4 and IPv6)
and not restart dhcp if it's already running.
2015-06-30 13:47:08 -04:00
Roopa Prabhu
914caaa2d0 Fix check for bridge interface in scheduler during upperiface check
Ticket: CM-6525
Reviewed By: trivial
Testing Done: Tested with failing config mentioned in the bug

c4d27f53e965af5edc938acae25bcb249a2214a7 introduced a
new interface kind of BRIDGE_VLAN_AWARE which broke the
scheduler check. This patch fixes the check.
2015-06-27 10:12:21 -07:00
Sam Tannous
7f67f3e59f ifupdown2 should not allow IP address command under vlan aware bridge stanza
Ticket: CM-6106
Reviewed By: roopa,scotte
Testing Done: ran ifupdown2 regression suite and hand tested

This patch prevents IP address assignment under vlan aware bridges.
This prevents some confusion because a bridge subinterface is required
for layer 3 termination.
2015-06-24 11:39:56 -04:00
Roopa Prabhu
0532f0a3d3 skip adding filtered or blacklisted interfaces in the dependency graph
Ticket:
Reviewed By: CCR-3043
Testing Done:

This was resulting in lower interfaces not being brought up at boot
when their upper-ifaces were not-marked auto. And this was because
the dependency graph continued to have the non-auto upper interfaces
and the whole tree was ignored by the scheduler.

This fix eliminates filtered interfaces from the dependency graph
to simplify the scheduler and also to avoid scheduler picking up
non-auto (or non-class interfaces).

testcase (Without this patch swp1 was skipped at boot)
iface swp1.100

auto swp1
iface swp1
2015-06-21 17:37:27 -07:00
Sam Tannous
d2431a3dbf Eliminate confusing and unnecessary ethtool calls
Ticket: CM-6275
Reviewed By: roopa,dustin
Testing Done: Unit tested and ran complete ifupdown2 test suite

There are unnecessary calls to the ethtool module that cause some error messages to be printed.
We currently don't check ifaceobj.link_kind at the start
so this check was added.

If someone creates a new interface without setting link_kind, we still printed error message.
This patch adds a check at the start of ethtool.

This patch also removes the global link defaults (used by ifupdown2/ethtool)
created when update-ports is called.  The defaults are created for each swp port
so we don't have defaults (and therefore will not attempt to set) for interfaces
like eth0, loopbacks, dummys, vxlans, or any other non swp interface.
2015-06-19 21:27:49 -04: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
139662ee08 Enhance globbing in ifupdown2 to support breakout cables
Ticket: CM-5365
Reviewed By: roopa,dwalton
Testing Done: Ran regression suite and hand tested.

This patch extends the globbing support in ifupdown2
to handle two levels of square brackets so that breakout
cables can be handled (e.g. swp[2-7]s[0-3]).  Also modified
the user's guide and the man pages.
2015-06-16 20:58:15 -04:00
Sam Tannous
76cb1a631e vxlan error 'str' object has no attribute 'append'
Ticket: CM-6329
Reviewed By: roopa
Testing Done: unit testing with vxlan configs

A bug iproute2.py creates an unnecessary warning
about appending the ageing value to a string.
This patch removes the append and simply sets the ageing value.
2015-06-16 17:15:57 -04:00
Sam Tannous
6f10696cc3 Document exclude (-X) option in ifreload
Ticket: CM-5419
Reviewed By: Trivial
Testing Done: built ifupdown2 deb and tested on switch

This patch adds man page mention of undocumented (but working)
option to exclude interfaces from a reload (-X option)
(cherry picked from commit 0358905782a4c0290a967d6f730fdcb27f2af3d9)
2015-06-04 15:32:48 -04:00
Sam Tannous
0a3bee28ca Don't allow IP addresses on ports enslaved in bonds or bridges
Ticket: CM-5146
Reviewed By: roopa,jtoppins
Testing Done: built new ifupdown package and ran testifupdown2 suite of tests

This patch prevents enslaved interfaces from having IP addresses.
(cherry picked from commit 0c00606fbc76db11557a8e946310e93a2b376aa7)
(cherry picked from commit dc30987acfc6af356b9e055db95d94ae45f0de9f)
2015-06-04 15:28:57 -04: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