X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport-capwap.c;h=fc2ea8e502ef920f64cea1f579c4da25f7100c9b;hb=e05924baf0c757b579eef2b3743130ade4b1a93c;hp=bf1465fc0b5d0dbc1a4c9893645afddb3886afa9;hpb=842cf6f472b236b6e61be04b41970116245b1759;p=openvswitch diff --git a/datapath/vport-capwap.c b/datapath/vport-capwap.c index bf1465fc..fc2ea8e5 100644 --- a/datapath/vport-capwap.c +++ b/datapath/vport-capwap.c @@ -212,7 +212,7 @@ out: return 0; } -struct tnl_ops capwap_tnl_ops = { +static const struct tnl_ops capwap_tnl_ops = { .tunnel_type = TNL_T_PROTO_CAPWAP, .ipproto = IPPROTO_UDP, .hdr_len = capwap_hdr_len, @@ -220,9 +220,9 @@ struct tnl_ops capwap_tnl_ops = { .update_header = capwap_update_header, }; -static struct vport *capwap_create(const char *name, const void __user *config) +static struct vport *capwap_create(const struct vport_parms *parms) { - return tnl_create(name, config, &capwap_vport_ops, &capwap_tnl_ops); + return tnl_create(parms, &capwap_vport_ops, &capwap_tnl_ops); } /* Random value. Irrelevant as long as it's not 0 since we set the handler. */ @@ -237,7 +237,7 @@ static int capwap_init(void) goto error; sin.sin_family = AF_INET; - sin.sin_addr.s_addr = INADDR_ANY; + sin.sin_addr.s_addr = htonl(INADDR_ANY); sin.sin_port = htons(CAPWAP_DST_PORT); err = kernel_bind(capwap_rcv_socket, (struct sockaddr *)&sin, @@ -644,7 +644,7 @@ static void capwap_frag_expire(unsigned long ifq) inet_frag_put(&fq->ifq, &frag_state); } -struct vport_ops capwap_vport_ops = { +const struct vport_ops capwap_vport_ops = { .type = "capwap", .flags = VPORT_F_GEN_STATS, .init = capwap_init, @@ -656,6 +656,7 @@ struct vport_ops capwap_vport_ops = { .set_addr = tnl_set_addr, .get_name = tnl_get_name, .get_addr = tnl_get_addr, + .get_config = tnl_get_config, .get_dev_flags = vport_gen_get_dev_flags, .is_running = vport_gen_is_running, .get_operstate = vport_gen_get_operstate,