Ejemplo n.º 1
0
class TestDrvinfo(TestCaseBase):

    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testBridgeEthtoolDrvinfo(self):
        self.assertEqual(ipwrapper.drv_name(self._bridge.devName),
                         ipwrapper.LinkType.BRIDGE)

    def testEnablePromisc(self):
        ipwrapper.getLink(self._bridge.devName).promisc = True
        self.assertTrue(ipwrapper.getLink(self._bridge.devName).promisc,
                        "Could not enable promiscuous mode.")

    def testDisablePromisc(self):
        ipwrapper.getLink(self._bridge.devName).promisc = True
        ipwrapper.getLink(self._bridge.devName).promisc = False
        self.assertFalse(ipwrapper.getLink(self._bridge.devName).promisc,
                         "Could not disable promiscuous mode.")
Ejemplo n.º 2
0
class TestDrvinfo(TestCaseBase):
    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testBridgeEthtoolDrvinfo(self):
        self.assertEqual(ipwrapper.drv_name(self._bridge.devName),
                         ipwrapper.LinkType.BRIDGE)

    def testEnablePromisc(self):
        ipwrapper.getLink(self._bridge.devName).promisc = True
        self.assertTrue(
            ipwrapper.getLink(self._bridge.devName).promisc,
            "Could not enable promiscuous mode.")

    def testDisablePromisc(self):
        ipwrapper.getLink(self._bridge.devName).promisc = True
        ipwrapper.getLink(self._bridge.devName).promisc = False
        self.assertFalse(
            ipwrapper.getLink(self._bridge.devName).promisc,
            "Could not disable promiscuous mode.")
Ejemplo n.º 3
0
class TestLinks(TestCaseBase):
    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testGetLink(self):
        link = ipwrapper.getLink(self._bridge.devName)
        self.assertTrue(link.isBRIDGE)
        self.assertEqual(link.master, None)
        self.assertEqual(link.name, self._bridge.devName)
Ejemplo n.º 4
0
class TestLinks(TestCaseBase):

    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testGetLink(self):
        link = ipwrapper.getLink(self._bridge.devName)
        self.assertTrue(link.isBRIDGE)
        self.assertEqual(link.master, None)
        self.assertEqual(link.name, self._bridge.devName)
Ejemplo n.º 5
0
class TestUnicodeDrvinfo(TestCaseBase):
    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        # First 3 Hebrew letters
        # See http://unicode.org/charts/PDF/U0590.pdf
        self._bridge = Bridge("\xd7\x90\xd7\x91\xd7\x92")
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testUtf8BridgeEthtoolDrvinfo(self):
        self.assertEqual(
            ipwrapper.drv_name(self._bridge.devName.decode('utf8')),
            ipwrapper.LinkType.BRIDGE)
Ejemplo n.º 6
0
class TestUnicodeDrvinfo(TestCaseBase):

    @ValidateRunningAsRoot
    @requires_brctl
    def setUp(self):
        # First 3 Hebrew letters
        # See http://unicode.org/charts/PDF/U0590.pdf
        self._bridge = Bridge("\xd7\x90\xd7\x91\xd7\x92")
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def testUtf8BridgeEthtoolDrvinfo(self):
        self.assertEqual(
            ipwrapper.drv_name(self._bridge.devName.decode('utf8')),
            ipwrapper.LinkType.BRIDGE)
Ejemplo n.º 7
0
class TestQdisc(TestCaseBase):

    @ValidateRunningAsRoot
    @requires_tc
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def _showQdisc(self):
        popen = Popen([EXT_TC, "qdisc", "show", "dev", self._bridge.devName],
                      stdout=PIPE)
        return popen.stdout.read()

    def _addIngress(self):
        tc._qdisc_replace_ingress(self._bridge.devName)
        self.assertIn("qdisc ingress", self._showQdisc())

    def testToggleIngress(self):
        self._addIngress()
        tc._qdisc_del(self._bridge.devName, 'ingress')
        self.assertNotIn("qdisc ingress", self._showQdisc())

    def testQdiscsOfDevice(self):
        self._addIngress()
        self.assertEquals(("ffff:", ),
                          tuple(tc._qdiscs_of_device(self._bridge.devName)))

    def testReplacePrio(self):
        self._addIngress()
        tc.qdisc.replace(self._bridge.devName, 'prio', parent=None)
        self.assertIn("root", self._showQdisc())

    def testException(self):
        self.assertRaises(tc.TrafficControlException, tc._qdisc_del,
                          "__nosuchiface__", 'ingress')
Ejemplo n.º 8
0
class TestQdisc(TestCaseBase):
    @ValidateRunningAsRoot
    @requires_tc
    def setUp(self):
        self._bridge = Bridge()
        self._bridge.addDevice()

    def tearDown(self):
        self._bridge.delDevice()

    def _showQdisc(self):
        popen = Popen([EXT_TC, "qdisc", "show", "dev", self._bridge.devName],
                      stdout=PIPE)
        return popen.stdout.read()

    def _addIngress(self):
        tc._qdisc_replace_ingress(self._bridge.devName)
        self.assertIn("qdisc ingress", self._showQdisc())

    def testToggleIngress(self):
        self._addIngress()
        tc._qdisc_del(self._bridge.devName, 'ingress')
        self.assertNotIn("qdisc ingress", self._showQdisc())

    def testQdiscsOfDevice(self):
        self._addIngress()
        self.assertEquals(("ffff:", ),
                          tuple(tc._qdiscs_of_device(self._bridge.devName)))

    def testReplacePrio(self):
        self._addIngress()
        tc.qdisc.replace(self._bridge.devName, 'prio', parent=None)
        self.assertIn("root", self._showQdisc())

    def testException(self):
        self.assertRaises(tc.TrafficControlException, tc._qdisc_del,
                          "__nosuchiface__", 'ingress')