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>