Displaying 2 results from an estimated 2 matches for "brctl_add_if".
2007 Apr 18
0
[Bridge] [PATCH] (9/11) bridge -- new ioctl interface for 32/64 compatiablity
...net_device *dev, struct ifreq *rq, int cmd)
 {
 	struct net_bridge *br = netdev_priv(dev);
 	unsigned long args[4];
-
-	if (cmd != SIOCDEVPRIVATE)
-		return -EOPNOTSUPP;
 	
 	if (copy_from_user(args, rq->ifr_data, sizeof(args)))
 		return -EFAULT;
@@ -92,25 +115,7 @@
 	switch (args[0]) {
 	case BRCTL_ADD_IF:
 	case BRCTL_DEL_IF:
-	{
-		struct net_device *dev;
-		int ret;
-
-		if (!capable(CAP_NET_ADMIN))
-			return -EPERM;
-
-		dev = dev_get_by_index(args[1]);
-		if (dev == NULL)
-			return -EINVAL;
-
-		if (args[0] == BRCTL_ADD_IF)
-			ret = br_add_if(br, dev);
-		else
-			ret = br_del_if(br, dev);
-...
2007 Apr 18
0
[Bridge] [PATCH] (4/11) bridge - ioctl cleanup and consolidation
...r_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
+{
+	struct net_bridge *br = netdev_priv(dev);
+	unsigned long args[4];
+
+	if (cmd != SIOCDEVPRIVATE)
+		return -EOPNOTSUPP;
+	
+	if (copy_from_user(args, rq->ifr_data, sizeof(args)))
+		return -EFAULT;
+
+	switch (args[0]) {
 	case BRCTL_ADD_IF:
 	case BRCTL_DEL_IF:
 	{
@@ -44,11 +73,11 @@
 		if (!capable(CAP_NET_ADMIN))
 			return -EPERM;
 
-		dev = dev_get_by_index(arg0);
+		dev = dev_get_by_index(args[1]);
 		if (dev == NULL)
 			return -EINVAL;
 
-		if (cmd == BRCTL_ADD_IF)
+		if (args[0] == BRCTL_ADD_IF)
 			ret = br_add_if(br, dev);...