1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00
Cumulus Builds 585a9a8a35 Merge branch 'vmware_L2'
Conflicts:
	build-config/conf/extra-pkgs
	build-config/conf/linux.vci.config
	build-config/conf/snapshot-manifest-amd64
	build-config/conf/version
	build-config/make/bcm-sdk.make
	build-config/make/local-pkgs.make
	build-config/make/local-pkgs2.make
	packages/cafe/scripts/build.py
	packages/cl-platform-config/usr/share/platform-config/accton/as6701_32x/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/cel/smallstone/etc/bcm.d/config.d/01config.bcm
	packages/cl-platform-config/usr/share/platform-config/dell/s6000_s1220/etc/bcm.d/config.d/01config.bcm
	packages/cl-utilities/usr/share/cumulus/support/functions
	packages/cl-utilities/usrlib/datapath-update
	packages/clag/init.d/clagd
	packages/clag/man/clagctl.8
	packages/clag/sbin/clagctl
	packages/clag/sbin/clagd
	packages/clag/setup.py
	packages/ifupdown2-addons/addons/bridge.py
	packages/ifupdown2-addons/pkg/bridgeutils.py
	packages/ifupdown2-addons/pkg/ifenslaveutil.py
	packages/ifupdown2-addons/pkg/iproute2.py
	packages/ifupdown2-addons/pkg/modulebase.py
	packages/ifupdown2/pkg/ifupdownmain.py
	packages/ifupdown2/pkg/networkinterfaces.py
	packages/ifupdown2/pkg/scheduler.py
	packages/portwd/portwd
	packages/ptm/ptm_conf.c
	patches/bcm-sdk/series
	patches/bridge-utils/series
	patches/iproute/fix-bridge-batch.patch
	patches/iproute/fix-fdb-add.patch
	patches/iproute/ip-add-batch-mode-to-man-page.patch
	patches/iproute/series
	patches/iproute/show-fdb-bridge.patch
	patches/kernel/debian-cumulus-controlfiles.patch
	patches/kernel/network-bridge-fdb-learn-priority.patch
	patches/kernel/network-bridge-igmp-fast-leave.patch
	patches/kernel/network-bridge-igmpv3.patch
	patches/kernel/network-bridge-querier-ifaddr.patch
	patches/kernel/network-bridge-use-spin_lock_bh-from-process-context.patch
	patches/kernel/network-tun-ethtool.patch
	patches/kernel/network-vxlan-fix-fdb-update.patch
	patches/kernel/series
	patches/libnl/series
	rootconf/default/etc/cumulus/switchd.conf
	switchd/hal.c
	switchd/hal.h
	switchd/hal_bcm.c
	switchd/hal_bcm_vxlan.c
	switchd/hal_config.c
	switchd/hal_dummy.c
	switchd/hal_int.h
	switchd/hal_util.c
	switchd/switchd.c
	switchd/sync.c
	tests/config/__init__.py
	tests/config/default.cfg
	tests/examples/testssim2.py
	tests/infra/testssim2.py
	tests/smoke/testifupdown2.py
	tests/tests/examples/testssim2.py
	utilities/distro-cmd
	utilities/packages/ssim2/simlib.py
	utilities/packages/testfu/scripts/runteststmpl.sh
	utilities/packages/testfu/scripts/xmltoresults.py
2014-08-30 12:35:23 -07:00
2014-07-22 11:15:56 -07:00
2014-07-22 11:15:56 -07:00
2014-08-24 18:39:31 -07:00
2014-07-22 11:15:56 -07:00
2014-02-14 11:13:09 -08:00
2014-03-27 16:53:32 -07:00
2014-07-22 11:15:56 -07:00
2014-07-17 11:44:36 -07:00
2014-07-22 11:15:56 -07:00
2014-07-17 11:44:36 -07:00
2014-07-22 11:15:56 -07:00
2013-11-04 06:06:11 -08:00
2014-07-17 11:44:36 -07:00

python-ifupdown2
================

This package is a replacement for the debian ifupdown package.
It is ifupdown re-written in python. It maintains the original ifupdown
pluggable architecture and extends it further.

The python-ifupdown2 package provides the infrastructure for
parsing /etc/network/interfaces file, loading, scheduling and state
management of interfaces.

It dynamically loads python modules from /usr/share/ifupdownmodules (provided
 by the python-ifupdown2-addons package). To remain compatible with other
packages that depend on ifupdown, it also executes scripts under /etc/network/.
To make the transition smoother, a python module under
/usr/share/ifupdownmodules will override a script by the same name under
/etc/network/.

It publishes an interface object which is passed to all loadble python
modules. For more details on adding a addon module, see the section on
adding python modules.


pluggable python modules:
=========================
Unlike original ifupdown, all interface configuration is moved to external
python modules. That includes inet, inet6 and dhcp configurations.

A set of default modules are provided by the python-ifupdown2-addons deb.

python-ifupdown2 expects a few things from the pluggable modules:
- the module should implement a class by the same name
- the interface object (class iface) and the operation to be performed is
  passed to the modules
- the python addon class should provide a few methods:
	- run() : method to configure the interface.
	- get_ops() : must return a list of operations it supports.
		eg: 'pre-up', 'post-down'
	- get_dependent_ifacenames() : must return a list of interfaces the
	  interface is dependent on. This is used to build the dependency list
	  for sorting and executing interfaces in dependency order.
	- if the module supports -r option to ifquery, ie ability to construct the
      ifaceobj from running state, it can optionally implement the
      get_dependent_ifacenames_running() method, to return the list of
      dependent interfaces derived from running state of the interface.
      This is different from get_dependent_ifacenames() where the dependent
      interfaces are derived from the interfaces config file (provided by the
      user).

Example: Address handling module /usr/share/ifupdownaddons/address.py


build
=====
- get source

- install build dependencies:
    apt-get install python-stdeb
    apt-get install python-docutils

- cd <python-ifupdown2 sourcedir> && ./build.sh

  (generates python-ifupdown2-<ver>.deb)

install
=======

- remove existing ifupdown package
  dpkg -r ifupdown

- install python-ifupdown2 using `dpkg -i`

- or install from deb
    dpkg -i python-ifupdown2-<ver>.deb

- note that python-ifupdown2 requires python-ifupdown2-addons package to
  function. And python-ifupdown2-addons deb has an install dependency on
  python-ifupdown2
Description
No description provided
Readme 6.2 MiB
Languages
Python 99.2%
Shell 0.6%
Makefile 0.2%