From: Thomas Graf <tgraf@suug.ch>
To: "David S. Miller" <davem@davemloft.net>
Cc: netdev@oss.sgi.com
Subject: [PATCH 2.6 NET] Device name changing via rtnetlink
Date: Fri, 10 Sep 2004 15:36:37 +0200 [thread overview]
Message-ID: <20040910133637.GA20088@postel.suug.ch> (raw)
Allows changing of device name via rtnetlink. Last bit needed to do full
link configuration via rtnetlink.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
diff -Nru linux-2.6.9-rc1-bk15.orig/include/linux/netdevice.h linux-2.6.9-rc1-bk15/include/linux/netdevice.h
--- linux-2.6.9-rc1-bk15.orig/include/linux/netdevice.h 2004-09-08 18:32:05.000000000 +0200
+++ linux-2.6.9-rc1-bk15/include/linux/netdevice.h 2004-09-10 12:42:07.000000000 +0200
@@ -677,6 +677,7 @@
extern int dev_ethtool(struct ifreq *);
extern unsigned dev_get_flags(const struct net_device *);
extern int dev_change_flags(struct net_device *, unsigned);
+extern int dev_change_name(struct net_device *, char *);
extern int dev_set_mtu(struct net_device *, int);
extern void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev);
diff -Nru linux-2.6.9-rc1-bk15.orig/net/core/dev.c linux-2.6.9-rc1-bk15/net/core/dev.c
--- linux-2.6.9-rc1-bk15.orig/net/core/dev.c 2004-09-08 18:33:42.000000000 +0200
+++ linux-2.6.9-rc1-bk15/net/core/dev.c 2004-09-10 12:41:19.000000000 +0200
@@ -3347,6 +3347,7 @@
EXPORT_SYMBOL(dev_set_allmulti);
EXPORT_SYMBOL(dev_set_promiscuity);
EXPORT_SYMBOL(dev_change_flags);
+EXPORT_SYMBOL(dev_change_name);
EXPORT_SYMBOL(dev_set_mtu);
EXPORT_SYMBOL(free_netdev);
EXPORT_SYMBOL(netdev_boot_setup_check);
diff -Nru linux-2.6.9-rc1-bk15.orig/net/core/rtnetlink.c linux-2.6.9-rc1-bk15/net/core/rtnetlink.c
--- linux-2.6.9-rc1-bk15.orig/net/core/rtnetlink.c 2004-09-08 18:33:42.000000000 +0200
+++ linux-2.6.9-rc1-bk15/net/core/rtnetlink.c 2004-09-10 12:36:54.000000000 +0200
@@ -345,6 +345,23 @@
dev->weight = *((u32 *) RTA_DATA(ida[IFLA_WEIGHT - 1]));
}
+ if (ida[IFLA_IFNAME - 1]) {
+ char ifname[IFNAMSIZ];
+
+ if (ida[IFLA_IFNAME - 1]->rta_len > RTA_LENGTH(IFNAMSIZ))
+ goto out;
+
+ memset(ifname, 0, sizeof(ifname));
+ memcpy(ifname, RTA_DATA(ida[IFLA_IFNAME - 1]),
+ RTA_PAYLOAD(ida[IFLA_IFNAME - 1]));
+ ifname[IFNAMSIZ - 1] = '\0';
+
+ err = dev_change_name(dev, ifname);
+
+ if (err)
+ goto out;
+ }
+
err = 0;
out:
next reply other threads:[~2004-09-10 13:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-10 13:36 Thomas Graf [this message]
2004-09-10 14:00 ` [PATCH 2.6 NET] Device name changing via rtnetlink YOSHIFUJI Hideaki / 吉藤英明
2004-09-10 14:28 ` Thomas Graf
2004-09-10 14:31 ` YOSHIFUJI Hideaki / 吉藤英明
-- strict thread matches above, loose matches on Subject: below --
2004-09-10 19:50 Jean Tourrilhes
2004-09-10 20:06 ` Thomas Graf
2004-09-10 20:13 ` Jean Tourrilhes
2004-09-10 20:22 ` Thomas Graf
2004-09-10 20:31 ` jamal
2004-09-10 20:32 ` Jean Tourrilhes
2004-09-10 20:43 ` Thomas Graf
2004-09-10 22:58 ` jamal
2004-09-10 23:17 ` Thomas Graf
2004-09-11 2:01 ` jamal
2004-09-11 13:44 ` Thomas Graf
2004-09-11 19:59 ` jamal
2004-09-11 22:06 ` Thomas Graf
2004-09-12 17:27 ` jamal
2004-09-13 0:20 ` David S. Miller
2004-09-10 23:04 ` 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=20040910133637.GA20088@postel.suug.ch \
--to=tgraf@suug.ch \
--cc=davem@davemloft.net \
--cc=netdev@oss.sgi.com \
/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;
as well as URLs for NNTP newsgroup(s).