Exemplo n.º 1
0
void
ofctrl_init(void)
{
    swconn = rconn_create(5, 0, DSCP_DEFAULT, 1 << OFP13_VERSION);
    tx_counter = rconn_packet_counter_create();
    hmap_init(&installed_flows);
}
Exemplo n.º 2
0
/* Creates a new rconn, connects it (unreliably) to 'vconn', and returns it. */
struct rconn *
rconn_new_from_vconn(const char *name, struct vconn *vconn) 
{
    struct rconn *rc = rconn_create(60, 0);
    rconn_connect_unreliably(rc, name, vconn);
    return rc;
}
Exemplo n.º 3
0
/* Creates a new rconn, connects it (reliably) to 'name', and returns it. */
struct rconn *
rconn_new(const char *name, int inactivity_probe_interval, int max_backoff)
{
    struct rconn *rc = rconn_create(inactivity_probe_interval, max_backoff);
    rconn_connect(rc, name);
    return rc;
}
Exemplo n.º 4
0
int
main(int argc, char *argv[])
{
    struct rconn *rconn;
    int error;

    set_program_name(argv[0]);
    register_fault_handlers();
    time_init();
    vlog_init();
    parse_options(argc, argv);
    signal(SIGPIPE, SIG_IGN);

    if (argc - optind != 1) {
        ofp_fatal(0, "missing controller argument; use --help for usage");
    }


    rconn = rconn_create(60, max_backoff);
    error = rconn_connect(rconn, argv[optind]);
    if (error == EAFNOSUPPORT) {
        ofp_fatal(0, "no support for %s vconn", argv[optind]);
    }
    error = dp_new(&dp, dpid, rconn);
    if (listen_pvconn_name) {
        struct pvconn *listen_pvconn;
        int retval;

        retval = pvconn_open(listen_pvconn_name, &listen_pvconn);
        if (retval && retval != EAGAIN) {
            ofp_fatal(retval, "opening %s", listen_pvconn_name);
        }
        dp_add_listen_pvconn(dp, listen_pvconn);
    }
    if (error) {
        ofp_fatal(error, "could not create datapath");
    }
    if (port_list) {
        add_ports(dp, port_list); 
    }

    die_if_already_running();
    daemonize();

    error = vlog_server_listen(NULL, NULL);
    if (error) {
        ofp_fatal(error, "could not listen for vlog connections");
    }

    for (;;) {
        dp_run(dp);
        dp_wait(dp);
        poll_block();
    }

    return 0;
}
Exemplo n.º 5
0
Arquivo: pinctrl.c Projeto: albd/ovs
void
pinctrl_init(void)
{
    swconn = rconn_create(5, 0, DSCP_DEFAULT, 1 << OFP13_VERSION);
    conn_seq_no = 0;
}