From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20504 invoked by alias); 11 Aug 2015 00:49:15 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 36089 Received: (qmail 8792 invoked from network); 11 Aug 2015 00:49:12 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.0 From: Eric Cook To: zsh-workers@zsh.org Subject: [PATCH] _find_net_interfaces: use /sys/class/net/* for interface names in linux Date: Mon, 10 Aug 2015 20:49:03 -0400 Message-Id: <1439254143-4608-1-git-send-email-llua@gmx.com> X-Mailer: git-send-email 2.5.0 X-Provags-ID: V03:K0:SmZVMUnsoqnpKYNe4VYDz3s65pU00Cwi0dorYb7/KHSD2ZwFBXc IqvLhw2XQxFl7lrDg+ktUa+xURRDPjSu0FWUWrA745whVWuRICjPwAZes0uTE09wnqO4ziR 3cIYX4nW6bj2iHXrHBrJQvQvpYBV7ntpOoHW3v1HcZdm+/pBvTtmW5DoGBRfu9hHRGCPKqF r30avhnFl0+kmBJoA49RQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:NyCvMph0i+k=:yFaH7YfXLZTwZ7C11n2Lpl cCSkPqFAG8/BgiSy0D56f+Em48h/tA1DPrN87xaV3gR73hrp1TgsY1j9T7EPK/lKdZ+MzJFcE 2NxIJLW0VWZL+KNw5690kHWAeC2nQRRxgw+YvQl+TY2O+1ch9RWPy0AKOzLkT7REg/bvrVYgm FXP2i50J20Aa5Cj4rFdgwQW/Tu9Dodg+RkGsHIolZi6e5TnDJYHlgf9TvbcsM/L1hyiIvIGvB MxUt6fV6Er9wXOHf8gdOxrU81lzmiDJr/wrDaoAcxcioWUznhzKdKNEKdLB2NyOTBWFkmR3++ oGQbRqdlF7bQ8kh7Ks32/ymLXdVniKuMQIl5WqNcHacK5sCWVMjQnW5NvBHNmQIhEiELGvHUj yn9wrgh3fm9H75v930KvENszQNHcsNHnw8e1maARJXsD7viHfqK9oIQcghulK70Mkvkepuvwl JBnKguVnzTL4FOUTP+tpLJ+x9t7+BJgm2aH1RCU2NAtIMUYLUco1j3pQsEx0SO4LkN7/UVANF 69+mp3J+cmXmd5KTEzVu8l82yQ+A7TxzzqgqTvFRxS5LcFtQtMzAILhifY5neWjkIT9swDSPY iwWdisBmGX0YL73nK+qMS4HkXb2sgTVIOUYHLoi7L2anITDrln/gJR20iO1UWH3HgpPE3UxRw n4y1nhO+MKYsE2HFkll3t2YJP7lRP/FFHT4nujTbqDnYa9Ywlz36IJ5Fz/FJCoNfIkIPl3NWF qdN3knV7CH+i8gVW ip(8) seems to add a suffix to the interface name for certain interface types. The ones i've noticed are macvtaps, macvlans and recently bridges. % ip link add link eth0 name tap0 address 00:22:33:44:55:66 \ type macvtap mode bridge or with iproute2 4.0.x: % ip link add br0 type bridge % ip link show # will show @eth0 or @NONE appended to tap0 or br0. There doesn't seem to be a option to suppress that behavior and @ is a legal character for interface names. So chopping off suffix with more parameter expansion doesn't seem like the correct thing to do. I also wasn't able to find the type of tunnels mentioned in http://www.zsh.org/mla/workers/2007/msg00111.html that doesn't show up in /proc/sys/net/ipv4/conf/. Maybe at some point since then, that was fixed. But to avoid some kind of regression /sys/class/net/ seems usable for the time being. --- Completion/Unix/Type/_find_net_interfaces | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Completion/Unix/Type/_find_net_interfaces b/Completion/Unix/Type/_find_net_interfaces index 0c70335..f90f310 100644 --- a/Completion/Unix/Type/_find_net_interfaces +++ b/Completion/Unix/Type/_find_net_interfaces @@ -23,7 +23,7 @@ case $OSTYPE in irix*) net_intf_list=( ${${${(f)"$(/usr/etc/netstat -i)"}%% *}[2,-1]} ) ;; *linux*) if (( $+commands[ip] )); then - net_intf_list=( ${${(m)${(f)"$(ip -o link)"}#*: }%%: *} ) + net_intf_list=( /sys/class/net/*(N:t) ) fi ;& -- 2.5.0