X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fbrcompat.c;h=44b2c9923e4f8dd1a313a07060abd1ed4f5bc751;hb=e2e744a852da97d86594b6ba4b6efeef57086fcf;hp=10b94f73a21f85e6dad7c3dcef1aff0ea3655d29;hpb=db322751d8bba32152e89eea476cb47a010616b1;p=openvswitch diff --git a/datapath/brcompat.c b/datapath/brcompat.c index 10b94f73..44b2c992 100644 --- a/datapath/brcompat.c +++ b/datapath/brcompat.c @@ -9,10 +9,8 @@ #include #include #include -#include #include #include -#include #include #include #include @@ -21,7 +19,6 @@ #include "openvswitch/brcompat-netlink.h" #include "brc_procfs.h" #include "datapath.h" -#include "dp_dev.h" static struct genl_family brc_genl_family; static struct genl_multicast_group brc_mc_group; @@ -45,8 +42,8 @@ static u32 brc_seq; /* Sequence number for current op. */ static struct sk_buff *brc_send_command(struct sk_buff *, struct nlattr **attrs); static int brc_send_simple_command(struct sk_buff *); -static struct sk_buff * -brc_make_request(int op, const char *bridge, const char *port) +static struct sk_buff *brc_make_request(int op, const char *bridge, + const char *port) { struct sk_buff *skb = genlmsg_new(NLMSG_GOODSIZE, GFP_KERNEL); if (!skb) @@ -149,8 +146,7 @@ static int brc_get_bridges(int __user *uindices, int n) } /* Legacy deviceless bridge ioctl's. Called with br_ioctl_mutex. */ -static int -old_deviceless(void __user *uarg) +static int old_deviceless(void __user *uarg) { unsigned long args[3]; @@ -192,8 +188,7 @@ brc_ioctl_deviceless_stub(struct net *net, unsigned int cmd, void __user *uarg) return -EOPNOTSUPP; } -static int -brc_add_del_port(struct net_device *dev, int port_ifindex, int add) +static int brc_add_del_port(struct net_device *dev, int port_ifindex, int add) { struct sk_buff *request; struct net_device *port; @@ -217,8 +212,8 @@ brc_add_del_port(struct net_device *dev, int port_ifindex, int add) return err; } -static int -brc_get_bridge_info(struct net_device *dev, struct __bridge_info __user *ub) +static int brc_get_bridge_info(struct net_device *dev, + struct __bridge_info __user *ub) { struct __bridge_info b; u64 id = 0; @@ -237,8 +232,8 @@ brc_get_bridge_info(struct net_device *dev, struct __bridge_info __user *ub) return 0; } -static int -brc_get_port_list(struct net_device *dev, int __user *uindices, int num) +static int brc_get_port_list(struct net_device *dev, int __user *uindices, + int num) { int retval; @@ -309,8 +304,7 @@ nla_put_failure: } /* Legacy ioctl's through SIOCDEVPRIVATE. Called with rtnl_lock. */ -static int -old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) +static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { unsigned long args[4]; @@ -338,8 +332,7 @@ old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) } /* Called with the rtnl_lock. */ -static int -brc_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) +static int brc_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { int err; @@ -416,8 +409,7 @@ static struct nla_policy brc_genl_policy[BRC_GENL_A_MAX + 1] = { [BRC_GENL_A_FDB_DATA] = { .type = NLA_UNSPEC }, }; -static int -brc_genl_dp_result(struct sk_buff *skb, struct genl_info *info) +static int brc_genl_dp_result(struct sk_buff *skb, struct genl_info *info) { unsigned long int flags; int err; @@ -433,8 +425,7 @@ brc_genl_dp_result(struct sk_buff *skb, struct genl_info *info) if (brc_seq == info->snd_seq) { brc_seq++; - if (brc_reply) - kfree_skb(brc_reply); + kfree_skb(brc_reply); brc_reply = skb; complete(&brc_done); @@ -464,7 +455,8 @@ static struct genl_ops brc_genl_ops_set_proc = { .dumpit = NULL }; -static struct sk_buff *brc_send_command(struct sk_buff *request, struct nlattr **attrs) +static struct sk_buff *brc_send_command(struct sk_buff *request, + struct nlattr **attrs) { unsigned long int flags; struct sk_buff *reply; @@ -488,8 +480,10 @@ static struct sk_buff *brc_send_command(struct sk_buff *request, struct nlattr * /* Wait for reply. */ error = -ETIMEDOUT; - if (!wait_for_completion_timeout(&brc_done, BRC_TIMEOUT)) + if (!wait_for_completion_timeout(&brc_done, BRC_TIMEOUT)) { + printk(KERN_WARNING "brcompat: timed out waiting for userspace\n"); goto error; + } /* Grab reply. */ spin_lock_irqsave(&brc_lock, flags); @@ -512,24 +506,12 @@ error: return ERR_PTR(error); } -static int -__init brc_init(void) +static int __init brc_init(void) { - int i; int err; printk("Open vSwitch Bridge Compatibility, built "__DATE__" "__TIME__"\n"); - rcu_read_lock(); - for (i=0; i