404

[ Avaa Bypassed ]




Upload:

Command:

botdev@52.15.57.203: ~ $
# Copyright (C) 2015 Canonical Ltd.
#
# Author: Ryan Harper <ryan.harper@canonical.com>
#
# This file is part of cloud-init. See LICENSE file for license information.


def compose_udev_equality(key, value):
    """Return a udev comparison clause, like `ACTION=="add"`."""
    assert key == key.upper()
    return '%s=="%s"' % (key, value)


def compose_udev_attr_equality(attribute, value):
    """Return a udev attribute comparison clause, like `ATTR{type}=="1"`."""
    assert attribute == attribute.lower()
    return 'ATTR{%s}=="%s"' % (attribute, value)


def compose_udev_setting(key, value):
    """Return a udev assignment clause, like `NAME="eth0"`."""
    assert key == key.upper()
    return '%s="%s"' % (key, value)


def generate_udev_rule(interface, mac, driver=None):
    """Return a udev rule to set the name of network interface with `mac`.

    The rule ends up as a single line looking something like:

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}="ff:ee:dd:cc:bb:aa", NAME="eth0"
    """
    if not driver:
        driver = "?*"

    rule = ", ".join(
        [
            compose_udev_equality("SUBSYSTEM", "net"),
            compose_udev_equality("ACTION", "add"),
            compose_udev_equality("DRIVERS", driver),
            compose_udev_attr_equality("address", mac),
            compose_udev_setting("NAME", interface),
        ]
    )
    return "%s\n" % rule


# vi: ts=4 expandtab syntax=python

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 42.56 KB 0644
activators.py File 9.81 KB 0644
bsd.py File 8.48 KB 0644
cmdline.py File 9.05 KB 0644
dhcp.py File 11.61 KB 0644
eni.py File 21.56 KB 0644
ephemeral.py File 14.5 KB 0644
freebsd.py File 3.2 KB 0644
netbsd.py File 1.43 KB 0644
netplan.py File 18.73 KB 0644
network_manager.py File 13.06 KB 0644
network_state.py File 36.05 KB 0644
networkd.py File 12.63 KB 0644
openbsd.py File 2.2 KB 0644
renderer.py File 2.08 KB 0644
renderers.py File 1.8 KB 0644
sysconfig.py File 40.04 KB 0644
udev.py File 1.42 KB 0644