Exemplo n.º 1
0
    def test_delete_tc_policy_class_htb(self):
        priv_tc_lib.add_tc_qdisc(self.device,
                                 parent=rtnl.TC_H_ROOT,
                                 kind='htb',
                                 handle='1:',
                                 namespace=self.namespace)
        for classid, rates in self.CLASSES.items():
            priv_tc_lib.add_tc_policy_class(self.device,
                                            '1:',
                                            classid,
                                            'htb',
                                            namespace=self.namespace,
                                            **rates)

        tc_classes = priv_tc_lib.list_tc_policy_classes(
            self.device, namespace=self.namespace)
        self.assertEqual(len(self.CLASSES), len(tc_classes))

        for classid in self.CLASSES:
            priv_tc_lib.delete_tc_policy_class(self.device,
                                               '1:',
                                               classid,
                                               namespace=self.namespace)
            tc_classes = priv_tc_lib.list_tc_policy_classes(
                self.device, namespace=self.namespace)
            for tc_class in tc_classes:
                handle = tc_lib._handle_from_hex_to_string(tc_class['handle'])
                self.assertIsNot(classid, handle)

        tc_classes = priv_tc_lib.list_tc_policy_classes(
            self.device, namespace=self.namespace)
        self.assertEqual(0, len(tc_classes))
Exemplo n.º 2
0
    def test_delete_tc_policy_class_htb(self):
        priv_tc_lib.add_tc_qdisc(
            self.device, parent=rtnl.TC_H_ROOT, kind='htb', handle='1:',
            namespace=self.namespace)
        for classid, rates in self.CLASSES.items():
            priv_tc_lib.add_tc_policy_class(
                self.device, '1:', classid, 'htb', namespace=self.namespace,
                **rates)

        tc_classes = priv_tc_lib.list_tc_policy_classes(
            self.device, namespace=self.namespace)
        self.assertEqual(len(self.CLASSES), len(tc_classes))

        for classid in self.CLASSES:
            priv_tc_lib.delete_tc_policy_class(
                self.device, '1:', classid, namespace=self.namespace)
            tc_classes = priv_tc_lib.list_tc_policy_classes(
                self.device, namespace=self.namespace)
            for tc_class in tc_classes:
                handle = tc_lib._handle_from_hex_to_string(tc_class['handle'])
                self.assertIsNot(classid, handle)

        tc_classes = priv_tc_lib.list_tc_policy_classes(
            self.device, namespace=self.namespace)
        self.assertEqual(0, len(tc_classes))
Exemplo n.º 3
0
def delete_tc_policy_class(device, parent, classid, namespace=None):
    """Delete a TC policy class of a device.

    :param device: (string) device name
    :param parent: (string) qdisc parent class ('root', 'ingress', '2:10')
    :param classid: (string) major:minor handler identifier ('10:20')
    :param namespace: (string) (optional) namespace name
    """
    priv_tc_lib.delete_tc_policy_class(device, parent, classid,
                                       namespace=namespace)
Exemplo n.º 4
0
def delete_tc_policy_class(device, parent, classid, namespace=None):
    """Delete a TC policy class of a device.

    :param device: (string) device name
    :param parent: (string) qdisc parent class ('root', 'ingress', '2:10')
    :param classid: (string) major:minor handler identifier ('10:20')
    :param namespace: (string) (optional) namespace name
    """
    priv_tc_lib.delete_tc_policy_class(device, parent, classid,
                                       namespace=namespace)
Exemplo n.º 5
0
def delete_tc_policy_class(device, parent, classid, namespace=None):
    LOG.info('%s(): caller(): %s', log_utils.get_fname(1),
             log_utils.get_fname(2))
    """Delete a TC policy class of a device.

    :param device: (string) device name
    :param parent: (string) qdisc parent class ('root', 'ingress', '2:10')
    :param classid: (string) major:minor handler identifier ('10:20')
    :param namespace: (string) (optional) namespace name
    """
    priv_tc_lib.delete_tc_policy_class(device,
                                       parent,
                                       classid,
                                       namespace=namespace)