mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
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
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
Languages
Python
99.2%
Shell
0.6%
Makefile
0.2%