Julien Fortin ffdf73e14a ifupdown2.conf: vlan_aware_bridge_address_support: allow ip on vlan-aware bridge (closes #58)
In linux its possible to assign an ip address to a vlan-aware bridge
For some use cases is it useful to restrict users from configuring ips on
bridges VA. This patch will let admins and distributions decide if it is
necessary to warn the user in such case.

The patch introduces a new configuration variable in:
    /etc/network/ifudpown2/ifupdown2.conf

vlan_aware_bridge_address_support: yes|no|on|off|0|1 (default to yes)

[8:30:41] root:~ # cat /etc/network/ifupdown2/ifupdown2.conf | grep "vlan_aware_bridge_address_support"
[8:30:43] root:~ # ifquery bridge
auto bridge
iface bridge
	bridge-ports swp1
	bridge-vlan-aware yes
	address 10.10.10.10

[8:30:46] root:~ # ifup bridge --syntax-check
[8:30:52] root:~ # echo $?
0
[8:30:54] root:~ # echo "vlan_aware_bridge_address_support=no" >> /etc/network/ifupdown2/ifupdown2.conf
[8:31:11] root:~ # ifup bridge --syntax-check
warning: bridge: ignoring ip address. Assigning an IP address is not allowed on bridge vlan aware interfaces
[8:31:14] root:~ # echo $?
1
[8:31:17] root:~ #
[8:31:20] root:~ # ifup -a
[8:31:22] root:~ # echo $?
0
[8:31:25] root:~ # ifquery bridge -c
auto bridge
iface bridge                                                        [fail]
	bridge-vlan-aware yes                                       [pass]
	bridge-ports swp1                                           [pass]
	address 10.10.10.10                                         [fail]

[8:31:29] root:~ # ifdown bridge && ifup bridge -v |& grep "bridge vlan aware interfaces"
info: bridge: ignoring ip address. Assigning an IP address is not allowed on bridge vlan aware interfaces
[8:31:57] root:~ #

Reviewed-by: Roopa Prabhu <[email protected]>
Signed-off-by: Julien Fortin <[email protected]>
2018-12-13 14:42:35 -08:00
2018-12-13 11:43:32 -08:00
2018-12-13 11:43:32 -08:00
2018-12-13 14:42:35 -08:00
2015-08-02 05:05:52 -07:00
2018-12-13 11:43:32 -08:00
2018-12-13 14:42:35 -08:00

=========
ifupdown2
=========

Linux Interface Network Manager

* Free software: GNU General Public License v2

============
Installation
============

As of today (early june 2018), the preferred method to install ifupdown2, is by
building the source code (as it will always install the most recent stable
release). See `Installing latest stable release from sources`_ chapter.

Installing latest stable release from sources
---------------------------------------------

The sources for ifupdown2 can be downloaded from the `Github repo`_.

You can either clone the public repository:

.. code-block:: console

    $ git clone git://github.com/CumulusNetworks/ifupdown2

Or download the `tarball`_:

.. code-block:: console

    $ curl  -OL https://github.com/CumulusNetworks/ifupdown2/tarball/master

Once you have a copy of the source, you should build a deb-package and install it

.. code-block:: console

    $ cd ifupdown2 && make deb

The generated deb should be in the root directory (``../ifupdown2_2.0.0_all.deb``)

.. code-block:: console

    $ dpkg -i ../ifupdown2_2.0.0_all.deb

We don't recommend using ``setup.py install`` directly, as it's still missing systemd/init.d scripts.
This capability should be added in the near future.

You might need to manually download dependencies. Mandatory dependencies:

.. code-block:: console

    $ apt-get install dh-systemd python-all python-docutils rst2man iproute2 python-ipaddr python-argcomplete

Suggested dependencies:

.. code-block:: console

    $ apt-get install ethtool bridge-utils python-gvgen python-mako

.. _Github repo: https://github.com/CumulusNetworks/ifupdown2
.. _tarball: https://github.com/CumulusNetworks/ifupdown2/tarball/master


============
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every little bit
helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions
----------------------

Report Bugs
~~~~~~~~~~~

Report bugs at https://github.com/CumulusNetworks/ifupdown2/issues.

If you are reporting a bug, please include:

* Your operating system name and version (``uname -a``).
* Any details about your setup that might be helpful in troubleshooting.
* Content of configuration files such as ``/etc/network/interfaces``
* Detailed steps to reproduce the bug.
* Debug output of the ifupdown2 command (see ``--debug`` option)

Write Documentation
~~~~~~~~~~~~~~~~~~~

ifupdown2 could always use more documentation, whether as part of the
official ifupdown2 docs, in docstrings, or even on the web in blog posts,
articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~

The best way to send feedback is to file an issue at https://github.com/CumulusNetworks/ifupdown2/issues.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.

=======
Credits
=======

Development Lead
----------------

* Roopa Prabhu <[email protected]>
* Julien Fortin <[email protected]>

Contributors
------------

* Nikhil Gajendrakumar <[email protected]>
* Maximilian Wilhelm <[email protected]>
* Sven Auhagen <[email protected]>
* skorpy <[email protected]>
* Sam Tannous <[email protected]>
* Wilson Kok <[email protected]>
* John Berezovik <[email protected]>
* Daniel Walton <[email protected]>
* Anuradha Karuppiah <[email protected]>
* Balakrishnan Raman <[email protected]>
* Scott Emery <[email protected]>
* Dave Olson <[email protected]>
* David Ahern <[email protected]>
* Jonathan Toppins <>
* Nolan Leake <[email protected]>
* Sergey Sudakovich <[email protected]>
* Andy Gospodarek <>
* Satish Ashok <[email protected]>
* Scott Laffer <[email protected]>
* Vidya Sagar Ravipati <[email protected]>
* Marek Grzybowski <[email protected]>
* Gaudenz Steinlin <[email protected]>
* Nigel Kukard <[email protected]>
* Jeffrey <[email protected]>
* kokel <[email protected]>

Why not you too? :)


=======
History
=======

See changelog here: https://github.com/CumulusNetworks/ifupdown2/blob/master/debian/changelog


Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
S
Description
No description provided
Readme
6.2 MiB
Languages
Python 99.2%
Shell 0.6%
Makefile 0.2%