X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport-patch.c;h=9554f1214e914089ae659abf56cdad97bc0254d2;hb=bd85a68f94b890c2d9b62788d68150770dc48a42;hp=1c4d2c5e2d3b90942d27ebdc2cf457f2e651390c;hpb=f915f1a8ca180828983ef22cf2fd21b8f010b972;p=openvswitch diff --git a/datapath/vport-patch.c b/datapath/vport-patch.c index 1c4d2c5e..9554f121 100644 --- a/datapath/vport-patch.c +++ b/datapath/vport-patch.c @@ -11,6 +11,7 @@ #include #include +#include "compat.h" #include "datapath.h" #include "vport.h" #include "vport-generic.h" @@ -84,9 +85,9 @@ static void patch_exit(void) kfree(peer_table); } -static const struct nla_policy patch_policy[ODP_PATCH_ATTR_MAX + 1] = { +static const struct nla_policy patch_policy[OVS_PATCH_ATTR_MAX + 1] = { #ifdef HAVE_NLA_NUL_STRING - [ODP_PATCH_ATTR_PEER] = { .type = NLA_NUL_STRING, .len = IFNAMSIZ - 1 }, + [OVS_PATCH_ATTR_PEER] = { .type = NLA_NUL_STRING, .len = IFNAMSIZ - 1 }, #endif }; @@ -94,21 +95,22 @@ static int patch_set_config(struct vport *vport, const struct nlattr *options, struct patch_config *patchconf) { struct patch_vport *patch_vport = patch_vport_priv(vport); - struct nlattr *a[ODP_PATCH_ATTR_MAX + 1]; + struct nlattr *a[OVS_PATCH_ATTR_MAX + 1]; const char *peer_name; int err; if (!options) return -EINVAL; - err = nla_parse_nested(a, ODP_PATCH_ATTR_MAX, options, patch_policy); + err = nla_parse_nested(a, OVS_PATCH_ATTR_MAX, options, patch_policy); if (err) return err; - if (!a[ODP_PATCH_ATTR_PEER] || VERIFY_NUL_STRING(a[ODP_PATCH_ATTR_PEER], IFNAMSIZ - 1)) + if (!a[OVS_PATCH_ATTR_PEER] || + CHECK_NUL_STRING(a[OVS_PATCH_ATTR_PEER], IFNAMSIZ - 1)) return -EINVAL; - peer_name = nla_data(a[ODP_PATCH_ATTR_PEER]); + peer_name = nla_data(a[OVS_PATCH_ATTR_PEER]); if (!strcmp(patch_vport->name, peer_name)) return -EINVAL; @@ -173,15 +175,13 @@ static void free_port_rcu(struct rcu_head *rcu) vport_free(vport_from_priv(patch_vport)); } -static int patch_destroy(struct vport *vport) +static void patch_destroy(struct vport *vport) { struct patch_vport *patch_vport = patch_vport_priv(vport); update_peers(patch_vport->name, NULL); hlist_del(&patch_vport->hash_node); call_rcu(&patch_vport->rcu, free_port_rcu); - - return 0; } static int patch_set_options(struct vport *vport, struct nlattr *options) @@ -265,7 +265,7 @@ static int patch_get_options(const struct vport *vport, struct sk_buff *skb) struct patch_vport *patch_vport = patch_vport_priv(vport); struct patch_config *patchconf = rcu_dereference_rtnl(patch_vport->patchconf); - return nla_put_string(skb, ODP_PATCH_ATTR_PEER, patchconf->peer_name); + return nla_put_string(skb, OVS_PATCH_ATTR_PEER, patchconf->peer_name); } static int patch_send(struct vport *vport, struct sk_buff *skb) @@ -286,8 +286,7 @@ static int patch_send(struct vport *vport, struct sk_buff *skb) } const struct vport_ops patch_vport_ops = { - .type = ODP_VPORT_TYPE_PATCH, - .flags = VPORT_F_GEN_STATS, + .type = OVS_VPORT_TYPE_PATCH, .init = patch_init, .exit = patch_exit, .create = patch_create,