+++ /dev/null
-#!/bin/sh
-# ifconfig -l na BSD-u
-
-ip link show | awk '/^[0-9]+: / { a=$2; gsub(":", "", a); printf "%s ", a }'; echo
-
# Verify that links to external interfaces are properly configured
if { $mode == "exec" } {
- # space-separated popis interfacea (BSD ifconfig -l)
- set extifcs [nexec ./ifconfig-l]
- # izbaci loopback interface iz popisa (BSD lo)
- set extifcs \
- [lreplace $extifcs [lsearch $extifcs lo] [lsearch $extifcs lo]]
+ # popis interfacea (BSD ifconfig -l)
+ set extifcs_p [open "| ip link show"]
+ set extifcs_s [read $extifcs_p]
+ if { [catch {close $extifcs_p} err] } {
+ puts "ip link show failed: $err"
+ }
+ set extifcs_o [split $extifcs_s \n]
+ set extifcs {}
+ foreach iplink_line $extifcs_o {
+ if { [ regexp -- {^\d+: ([^:]+): } $iplink_line -> extif ] == 0 } {
+ continue
+ }
+ # izbaci loopback interface iz popisa (BSD lo0)
+ if { $extif == "lo" } {
+ continue
+ }
+ #puts "external interface found: $extif"
+ lappend extifcs $extif
+ }
foreach node $node_list {
if { [nodeType $node] == "rj45" } {
set i [lsearch $extifcs [getNodeName $node]]