예제 #1
0
def get_patch_port_names(bridge_name):
    int_if_name = p_utils.get_interface_name(
        bridge_name, prefix=constants.PEER_INTEGRATION_PREFIX)
    phys_if_name = p_utils.get_interface_name(
        bridge_name, prefix=constants.PEER_PHYSICAL_PREFIX)

    return int_if_name, phys_if_name
예제 #2
0
 def test_get_interface_max_len(self, mock_sha1):
     self.assertEqual(constants.DEVICE_NAME_MAX_LEN,
                      len(utils.get_interface_name(LONG_NAME1)))
     self.assertEqual(10, len(utils.get_interface_name(LONG_NAME1,
                                                       max_len=10)))
     self.assertEqual(12, len(utils.get_interface_name(LONG_NAME1,
                                                       prefix="pre-",
                                                       max_len=12)))
예제 #3
0
 def test_get_interface_max_len(self, mock_sha1):
     self.assertEqual(constants.DEVICE_NAME_MAX_LEN,
                      len(utils.get_interface_name(LONG_NAME1)))
     self.assertEqual(10, len(utils.get_interface_name(LONG_NAME1,
                                                       max_len=10)))
     self.assertEqual(12, len(utils.get_interface_name(LONG_NAME1,
                                                       prefix="pre-",
                                                       max_len=12)))
예제 #4
0
    def get_subinterface_name(physical_interface, vlan_id):
        if not vlan_id:
            LOG.warning("Invalid VLAN ID, will lead to incorrect "
                        "subinterface name")
        vlan_postfix = '.%s' % vlan_id

        # For the vlan subinterface name prefix we use:
        # * the physical_interface, if len(physical_interface) +
        #   len(vlan_postifx) <= 15 for backward compatibility reasons
        #   Example: physical_interface = eth0
        #            prefix = eth0.1
        #            prefix = eth0.1111
        #
        # * otherwise a unique hash per physical_interface to help debugging
        #   Example: physical_interface = long_interface
        #            prefix = longHASHED.1
        #            prefix = longHASHED.1111
        #
        # Remark: For some physical_interface values, the used prefix can be
        # both, the physical_interface itself or a hash, depending
        # on the vlan_postfix length.
        # Example: physical_interface = mix_interface
        #          prefix = mix_interface.1 (backward compatible)
        #          prefix = mix_iHASHED.1111
        if (len(physical_interface) + len(vlan_postfix) >
                constants.DEVICE_NAME_MAX_LEN):
            physical_interface = plugin_utils.get_interface_name(
                physical_interface,
                max_len=(constants.DEVICE_NAME_MAX_LEN - MAX_VLAN_POSTFIX_LEN))
        return "%s%s" % (physical_interface, vlan_postfix)
    def get_subinterface_name(physical_interface, vlan_id):
        if not vlan_id:
            LOG.warning("Invalid VLAN ID, will lead to incorrect "
                        "subinterface name")
        vlan_postfix = '.%s' % vlan_id

        # For the vlan subinterface name prefix we use:
        # * the physical_interface, if len(physical_interface) +
        #   len(vlan_postifx) <= 15 for backward compatibility reasons
        #   Example: physical_interface = eth0
        #            prefix = eth0.1
        #            prefix = eth0.1111
        #
        # * otherwise a unique hash per physical_interface to help debugging
        #   Example: physical_interface = long_interface
        #            prefix = longHASHED.1
        #            prefix = longHASHED.1111
        #
        # Remark: For some physical_interface values, the used prefix can be
        # both, the physical_interface itself or a hash, depending
        # on the vlan_postfix length.
        # Example: physical_interface = mix_interface
        #          prefix = mix_interface.1 (backward compatible)
        #          prefix = mix_iHASHED.1111
        if (len(physical_interface) + len(vlan_postfix) >
                constants.DEVICE_NAME_MAX_LEN):
            physical_interface = plugin_utils.get_interface_name(
                physical_interface, max_len=(constants.DEVICE_NAME_MAX_LEN -
                                             MAX_VLAN_POSTFIX_LEN))
        return "%s%s" % (physical_interface, vlan_postfix)
예제 #6
0
def get_vlan_device_name(src_dev, vlan):
    """Generating the vlan device name."""

    # Ensure that independent of the vlan len the same name prefix is used.
    src_dev = plugin_utils.get_interface_name(
        src_dev, max_len=n_const.DEVICE_NAME_MAX_LEN - MAX_VLAN_POSTFIX_LEN)
    return "%s.%s" % (src_dev, vlan)
예제 #7
0
def get_vlan_device_name(src_dev, vlan):
    """Generating the vlan device name."""

    # Ensure that independent of the vlan len the same name prefix is used.
    src_dev = plugin_utils.get_interface_name(
        src_dev, max_len=n_const.DEVICE_NAME_MAX_LEN - MAX_VLAN_POSTFIX_LEN)
    return "%s.%s" % (src_dev, vlan)
예제 #8
0
    def test_get_interface_name(self, mock_sha1):
        prefix = "pre-"
        prefix_long = "long_prefix"
        prefix_exceeds_max_dev_len = "much_too_long_prefix"
        hash_used = MOCKED_HASH[0:6]

        self.assertEqual("A_REALLY_" + hash_used,
                         utils.get_interface_name(LONG_NAME1))
        self.assertEqual("SHORT",
                         utils.get_interface_name(SHORT_NAME))
        self.assertEqual("pre-A_REA" + hash_used,
                         utils.get_interface_name(LONG_NAME1, prefix=prefix))
        self.assertEqual("pre-SHORT",
                         utils.get_interface_name(SHORT_NAME, prefix=prefix))
        # len(prefix) > max_device_len - len(hash_used)
        self.assertRaises(ValueError, utils.get_interface_name, SHORT_NAME,
                          prefix_long)
        # len(prefix) > max_device_len
        self.assertRaises(ValueError, utils.get_interface_name, SHORT_NAME,
                          prefix=prefix_exceeds_max_dev_len)
예제 #9
0
    def test_get_interface_name(self, mock_sha1):
        prefix = "pre-"
        prefix_long = "long_prefix"
        prefix_exceeds_max_dev_len = "much_too_long_prefix"
        hash_used = MOCKED_HASH[0:6]

        self.assertEqual("A_REALLY_" + hash_used,
                         utils.get_interface_name(LONG_NAME1))
        self.assertEqual("SHORT",
                         utils.get_interface_name(SHORT_NAME))
        self.assertEqual("pre-A_REA" + hash_used,
                         utils.get_interface_name(LONG_NAME1, prefix=prefix))
        self.assertEqual("pre-SHORT",
                         utils.get_interface_name(SHORT_NAME, prefix=prefix))
        # len(prefix) > max_device_len - len(hash_used)
        self.assertRaises(ValueError, utils.get_interface_name, SHORT_NAME,
                          prefix_long)
        # len(prefix) > max_device_len
        self.assertRaises(ValueError, utils.get_interface_name, SHORT_NAME,
                          prefix=prefix_exceeds_max_dev_len)
예제 #10
0
 def test_get_interface_uniqueness(self):
     prefix = "prefix-"
     if_prefix1 = utils.get_interface_name(LONG_NAME1, prefix=prefix)
     if_prefix2 = utils.get_interface_name(LONG_NAME2, prefix=prefix)
     self.assertNotEqual(if_prefix1, if_prefix2)
예제 #11
0
 def test_get_interface_uniqueness(self):
     prefix = "prefix-"
     if_prefix1 = utils.get_interface_name(LONG_NAME1, prefix=prefix)
     if_prefix2 = utils.get_interface_name(LONG_NAME2, prefix=prefix)
     self.assertNotEqual(if_prefix1, if_prefix2)