Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Aug 2010 23:53:44 +0400
From:      pluknet <pluknet@gmail.com>
To:        freebsd-rc@freebsd.org
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   [RFC] ifconfig description support in rc.d
Message-ID:  <AANLkTinfOSQGnk0%2BPK6iM0=v5CZn2vcmJZbA8TvgGbfr@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--0016361e81a810124b048ebf5b14
Content-Type: text/plain; charset=ISO-8859-1

[cc'ing current@ as rc@ looks too quite]

Hi.

Since ifconfig has grown to label interfaces with
ifconfig $ifname description "foobar", what about
to give it more life and store i/face descriptions
semi-permanently, so they will survive between reboots?

This patch adds a functionality to rc.d to label
interfaces at boot time.

Comments are welcome.

%%%
Index: etc/rc.d/netif
===================================================================
--- etc/rc.d/netif      (revision 211280)
+++ etc/rc.d/netif      (working copy)
@@ -75,6 +75,9 @@

                # Rename interfaces.
                ifnet_rename
+
+               # Give description to interfaces.
+               ifnet_descr
        fi

        # Configure the interface(s).
Index: etc/network.subr
===================================================================
--- etc/network.subr    (revision 211280)
+++ etc/network.subr    (working copy)
@@ -1187,6 +1187,24 @@
        return 0
 }

+# ifnet_descr
+#      Add description to all requested interfaces.
+#
+ifnet_descr()
+{
+       local _if _ifdescr
+
+       # ifconfig_IF_descr
+       for _if in `ifconfig -l`; do
+               _ifdescr="`get_if_var $_if ifconfig_IF_descr`"
+               if [ ! -z "$_ifdescr" ]; then
+                       ifconfig $_if descr "$_ifdescr"
+               fi
+       done
+
+       return 0
+}
+
 # list_net_interfaces type
 #      List all network interfaces. The type of interface returned
 #      can be controlled by the type argument. The type
Index: etc/defaults/rc.conf
===================================================================
--- etc/defaults/rc.conf        (revision 211280)
+++ etc/defaults/rc.conf        (working copy)
@@ -215,6 +215,7 @@
 #ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" # Sample IPv6 addr entry
 #ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" # Sample IPv6 alias
 #ifconfig_fxp0_name="net0"     # Change interface name from fxp0 to net0.
+#ifconfig_fxp0_descr="Uplink to Gigabit Switch 2"      # Label fxp0 interface
 #vlans_fxp0="101 vlan0"                # vlan(4) interfaces for fxp0 device
 #create_arg_vlan0="vlan 102"   # vlan tag for vlan0 device
 #wlans_ath0="wlan0"            # wlan(4) interfaces for ath0 device
%%%

-- 
wbr,
pluknet

--0016361e81a810124b048ebf5b14
Content-Type: text/x-diff; charset=US-ASCII; name="descr.rc.d.diff"
Content-Disposition: attachment; filename="descr.rc.d.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gdc15hj10

SW5kZXg6IGV0Yy9yYy5kL25ldGlmCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9yYy5kL25ldGlmCShyZXZp
c2lvbiAyMTEyODApCisrKyBldGMvcmMuZC9uZXRpZgkod29ya2luZyBjb3B5KQpAQCAtNzUsNiAr
NzUsOSBAQAogCiAJCSMgUmVuYW1lIGludGVyZmFjZXMuCiAJCWlmbmV0X3JlbmFtZQorCisJCSMg
R2l2ZSBkZXNjcmlwdGlvbiB0byBpbnRlcmZhY2VzLgorCQlpZm5ldF9kZXNjcgogCWZpCiAKIAkj
IENvbmZpZ3VyZSB0aGUgaW50ZXJmYWNlKHMpLgpJbmRleDogZXRjL25ldHdvcmsuc3Vicgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBldGMvbmV0d29yay5zdWJyCShyZXZpc2lvbiAyMTEyODApCisrKyBldGMvbmV0
d29yay5zdWJyCSh3b3JraW5nIGNvcHkpCkBAIC0xMTg3LDYgKzExODcsMjQgQEAKIAlyZXR1cm4g
MAogfQogCisjIGlmbmV0X2Rlc2NyCisjCUFkZCBkZXNjcmlwdGlvbiB0byBhbGwgcmVxdWVzdGVk
IGludGVyZmFjZXMuCisjCitpZm5ldF9kZXNjcigpCit7CisJbG9jYWwgX2lmIF9pZmRlc2NyCisK
KwkjIGlmY29uZmlnX0lGX2Rlc2NyCisJZm9yIF9pZiBpbiBgaWZjb25maWcgLWxgOyBkbworCQlf
aWZkZXNjcj0iYGdldF9pZl92YXIgJF9pZiBpZmNvbmZpZ19JRl9kZXNjcmAiCisJCWlmIFsgISAt
eiAiJF9pZmRlc2NyIiBdOyB0aGVuCisJCQlpZmNvbmZpZyAkX2lmIGRlc2NyICIkX2lmZGVzY3Ii
CisJCWZpCisJZG9uZQorCisJcmV0dXJuIDAKK30KKwogIyBsaXN0X25ldF9pbnRlcmZhY2VzIHR5
cGUKICMJTGlzdCBhbGwgbmV0d29yayBpbnRlcmZhY2VzLiBUaGUgdHlwZSBvZiBpbnRlcmZhY2Ug
cmV0dXJuZWQKICMJY2FuIGJlIGNvbnRyb2xsZWQgYnkgdGhlIHR5cGUgYXJndW1lbnQuIFRoZSB0
eXBlCkluZGV4OiBldGMvZGVmYXVsdHMvcmMuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvZGVmYXVs
dHMvcmMuY29uZgkocmV2aXNpb24gMjExMjgwKQorKysgZXRjL2RlZmF1bHRzL3JjLmNvbmYJKHdv
cmtpbmcgY29weSkKQEAgLTIxNSw2ICsyMTUsNyBAQAogI2lmY29uZmlnX2VkMF9pcHY2PSJpbmV0
NiAyMDAxOmRiODoxOjoxIHByZWZpeGxlbiA2NCIgIyBTYW1wbGUgSVB2NiBhZGRyIGVudHJ5CiAj
aWZjb25maWdfZWQwX2FsaWFzMD0iaW5ldDYgMjAwMTpkYjg6Mjo6MSBwcmVmaXhsZW4gNjQiICMg
U2FtcGxlIElQdjYgYWxpYXMKICNpZmNvbmZpZ19meHAwX25hbWU9Im5ldDAiCSMgQ2hhbmdlIGlu
dGVyZmFjZSBuYW1lIGZyb20gZnhwMCB0byBuZXQwLgorI2lmY29uZmlnX2Z4cDBfZGVzY3I9IlVw
bGluayB0byBHaWdhYml0IFN3aXRjaCAyIgkjIExhYmVsIGZ4cDAgaW50ZXJmYWNlCiAjdmxhbnNf
ZnhwMD0iMTAxIHZsYW4wIgkJIyB2bGFuKDQpIGludGVyZmFjZXMgZm9yIGZ4cDAgZGV2aWNlCiAj
Y3JlYXRlX2FyZ192bGFuMD0idmxhbiAxMDIiCSMgdmxhbiB0YWcgZm9yIHZsYW4wIGRldmljZQog
I3dsYW5zX2F0aDA9IndsYW4wIgkJIyB3bGFuKDQpIGludGVyZmFjZXMgZm9yIGF0aDAgZGV2aWNl
Cg==
--0016361e81a810124b048ebf5b14--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinfOSQGnk0%2BPK6iM0=v5CZn2vcmJZbA8TvgGbfr>