Beispiel #1
0
    def test_port_state(self):
        """ Check the update method of the GaugePortStateInfluxDBLogger class"""

        conf = self.create_config_obj(create_mock_datapath(3))
        db_logger = gauge_influx.GaugePortStateInfluxDBLogger(
            conf, '__name__', mock.Mock())

        statuses = [
            ofproto.OFPPR_ADD, ofproto.OFPPR_DELETE, ofproto.OFPPR_MODIFY
        ]
        for i in range(1, len(conf.dp.ports) + 1):
            port = parser.OFPPort(i, '00:00:00:d0:00:0' + str(i),
                                  conf.dp.ports[i].name, 0, 0, i, i, i, i, i,
                                  i)

            message = parser.OFPPortStatus(conf.dp.id, statuses[i - 1], port)
            rcv_time = int(time.time())
            db_logger.update(rcv_time, conf.dp.id, message)

            self.server.output_file.seek(0)
            output = self.server.output_file.readlines()[i - 1]
            influx_data = self.parse_influx_output(output)[1]
            data = {
                conf.dp.name, conf.dp.ports[i].name, rcv_time, statuses[i - 1]
            }
            self.assertEqual(data, set(influx_data.values()))
Beispiel #2
0
def port_state_msg(datapath, port_num, reason, status=0):
    """ Create an OFPPortStatus message with random values. """

    port = parser.OFPPort(port_num, '00:00:00:d0:00:0' + str(port_num),
                          datapath.ports[port_num].name, 0, status,
                          random.randint(1, 10000), random.randint(1, 10000),
                          random.randint(1, 10000), random.randint(1, 10000),
                          random.randint(1, 10000), random.randint(1, 10000))

    return parser.OFPPortStatus(datapath, reason, port)
Beispiel #3
0
    def _createPort(self, dpid, port_no):
        hw_addr = 'c0:26:53:c4:29:e2'
        name = 'name'.ljust(16)
        config = 2226555987
        state = 1678244809
        curr = 2850556459
        advertised = 2025421682
        supported = 2120575149
        peer = 2757463021
        curr_speed = 2641353507
        max_speed = 1797291672

        ofpport = ofproto_v1_3_parser.OFPPort(port_no, hw_addr, name, config,\
                                              state, curr, advertised, supported,\
                                              peer, curr_speed, max_speed)
        port = Port(dpid, ofproto_v1_3, ofpport)
        return port
Beispiel #4
0
 def connect_dp(self):
     """Call DP connect and set all ports to up."""
     discovered_ports = []
     for port_no in range(1, self.NUM_PORTS + 1):
         ofpport = parser.OFPPort(port_no=port_no,
                                  hw_addr=None,
                                  name=str(port_no),
                                  config=0,
                                  state=0,
                                  curr=0,
                                  advertised=0,
                                  supported=0,
                                  peer=0,
                                  curr_speed=1e6,
                                  max_speed=1e6)
         discovered_ports.append(ofpport)
     self.table.apply_ofmsgs(self.valve.datapath_connect(discovered_ports))
     for port in discovered_ports:
         self.set_port_up(port.port_no)