예제 #1
0
파일: __main__.py 프로젝트: JUDOKICK/KiBRA
def _main():
    global SERVER

    # Load database
    db.load()

    # Exterior network configuration
    global_netconfig()

    # Find connected dongle
    enable_ncp()

    # Start web interface
    webserver.start()

    # Start subtasks
    mdns = MDNS()
    TASKS.append(SERIAL())
    TASKS.append(NETWORK())
    TASKS.append(DHCP())
    TASKS.append(NAT())
    TASKS.append(DNS())
    TASKS.append(MDNS())
    TASKS.append(DIAGS())
    TASKS.append(COAPSERVER())

    # Launch mDNS already
    asyncio.ensure_future(mdns.run())

    if db.get('autostart') == 1:
        db.set('action_kibra', 'start')

    asyncio.ensure_future(_master())

    asyncio.get_event_loop().run_forever()
예제 #2
0
def clear_topology():
    db.load()
    _, ncps = _get_devices(db.get('ncp_serial'))
    threads = []

    for device in ncps:
        threads.append(Thread(target=_stop_topology, args=[device]))
예제 #3
0
def form_topology():
    db.load()
    brouter, ncps = _get_devices(db.get('ncp_serial'))
    threads = []

    oobcom = _get_oobcom(brouter)
    if oobcom:
        oobcom['timeout'] = TIMEOUT
        for device in ncps:
            mac = device.ksh_cmd('show eui64', True)[0]
            device.set_mac(mac)
            # oobcom['actstamp'] = _get_atimestamp()
            threads.append(
                Thread(target=_join_network, args=[device, 'fed', oobcom]))
    for thread in threads:
        thread.start()
    for thread in threads:
        thread.join()
예제 #4
0
def main():
    global SERVER

    logging.info('Launching KiBRA v%s' % kibra.__version__)

    # Load database
    db.load()

    # Exterior network configuration
    global_netconfig()

    # Find connected NCP
    enable_ncp()

    # Start web interface
    webserver.start()

    # Start subtasks
    mdns = MDNS()
    TASKS.append(NETWORK())
    TASKS.append(SERIAL())
    TASKS.append(SYSLOG())
    TASKS.append(DHCP())
    TASKS.append(NAT())
    TASKS.append(DNS())
    TASKS.append(mdns)
    TASKS.append(DIAGS())
    if db.get('bbr_enable'):
        TASKS.append(COAPSERVER())

    # Launch mDNS already
    asyncio.ensure_future(mdns.run())

    if db.get('autostart') == 1:
        db.set('action_kibra', 'start')

    asyncio.ensure_future(_master())

    asyncio.get_event_loop().run_forever()