From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Jean Tourrilhes <jt@hpl.hp.com>
Cc: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2.4] SIOCSIFNAME wildcard support (resend)
Date: Tue, 8 Feb 2005 16:04:45 -0200 [thread overview]
Message-ID: <20050208180445.GB10695@logos.cnet> (raw)
In-Reply-To: <20050208181436.GA29717@bougret.hpl.hp.com>
Hi Jean,
On Tue, Feb 08, 2005 at 10:14:36AM -0800, Jean Tourrilhes wrote:
> Hi Marcelo,
>
> I did not receive any feedback on this e-mail, so I assume it
> was lost on the way. Would you mind pushing that in 2.4.x ?
> Thanks...
As an ignorant person I have no problems with it.
David, what is your opinion?
> Jean
>
> ----- Forwarded message from jt -----
>
> Subject: [PATCH 2.4] SIOCSIFNAME wildcard support
> E-mail: jt@hpl.hp.com
>
> Hi Marcelo,
>
> This patch adds wildcard support for the SIOCSIFNAME ioctl,
> like what was done in 2.6.1. SIOCSIFNAME allow a user space tool to
> change network interface names (such as nameif, ifrename, or ip link),
> this patch allow those tools to specify a pattern, such as "eth%d" or
> "wlan%d", and the kernel use the lowest available slot.
> The reason I'm sending you this patch is that I've got some
> 2.4.X users who requested the feature...
> This patch was initially done for 2.4.23, and I rediffed and
> retested with 2.4.29. It's somewhat different from the patch Stephen
> and me added to 2.6.1, because the netdev init code is different and
> also this patch is more conservative.
>
> Have fun...
>
> Jean
>
> -------------------------------------------------------------
>
> diff -u -p linux/net/core/dev.j1.c linux/net/core/dev.c
> --- linux/net/core/dev.j1.c Wed Dec 3 14:29:21 2003
> +++ linux/net/core/dev.c Wed Dec 3 18:55:27 2003
> @@ -2179,10 +2179,26 @@ static int dev_ifsioc(struct ifreq *ifr,
> case SIOCSIFNAME:
> if (dev->flags&IFF_UP)
> return -EBUSY;
> - if (__dev_get_by_name(ifr->ifr_newname))
> - return -EEXIST;
> - memcpy(dev->name, ifr->ifr_newname, IFNAMSIZ);
> - dev->name[IFNAMSIZ-1] = 0;
> + /* Check if name contains a wildcard */
> + if (strchr(ifr->ifr_newname, '%')) {
> + char format[IFNAMSIZ + 1];
> + int ret;
> + memcpy(format, ifr->ifr_newname, IFNAMSIZ);
> + format[IFNAMSIZ-1] = 0;
> + /* Find a free name based on format.
> + * dev_alloc_name() replaces "%d" with at max
> + * 2 digits, so no name overflow. - Jean II */
> + ret = dev_alloc_name(dev, format);
> + if (ret < 0)
> + return ret;
> + /* Copy the new name back to caller. */
> + strncpy(ifr->ifr_newname, dev->name, IFNAMSIZ);
> + } else {
> + if (__dev_get_by_name(ifr->ifr_newname))
> + return -EEXIST;
> + memcpy(dev->name, ifr->ifr_newname, IFNAMSIZ);
> + dev->name[IFNAMSIZ-1] = 0;
> + }
> notifier_call_chain(&netdev_chain, NETDEV_CHANGENAME, dev);
> return 0;
>
> @@ -2315,6 +2331,7 @@ int dev_ioctl(unsigned int cmd, void *ar
> * - return a value
> */
>
> + case SIOCSIFNAME:
> case SIOCGMIIPHY:
> case SIOCGMIIREG:
> if (!capable(CAP_NET_ADMIN))
> @@ -2350,7 +2367,6 @@ int dev_ioctl(unsigned int cmd, void *ar
> case SIOCDELMULTI:
> case SIOCSIFHWBROADCAST:
> case SIOCSIFTXQLEN:
> - case SIOCSIFNAME:
> case SIOCSMIIREG:
> case SIOCBONDENSLAVE:
> case SIOCBONDRELEASE:
> -
next prev parent reply other threads:[~2005-02-08 21:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-08 18:14 Jean Tourrilhes
2005-02-08 18:04 ` Marcelo Tosatti [this message]
2005-02-08 22:24 ` David S. Miller
2005-02-08 22:37 ` Jean Tourrilhes
2005-02-08 23:47 ` David S. Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050208180445.GB10695@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=jt@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®