Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a question related to the veth pair that is used in Linux system. I want to know which veth pairs are running in the current host, which I mean querying the pairs by using one Linux command or finding the related configuration in some files.

I know that to construct veth pair, you can simply by using

ip link add name1 type veth name2

But I haven't found an command or file that could be used to query the current running veth pairs.

If you know a way that could find the current running veth pairs, could you please tell me? This would help me a lot.

share|improve this question

2 Answers 2

You can get peer ifindex with the following ethtool command.

# ethtool -S veth1
NIC statistics:
     peer_ifindex: 7

ifindex is shown with:

# ip link

Ref: http://www.spinics.net/lists/netdev/msg102062.html

share|improve this answer
    
very nice, thanks –  Neil McGill Nov 21 at 16:58

I have an older linux kernel without ip netns so I cobbled this together to get the needed info. Assuming you can ssh into your LXC containers, this might be of use to you. It's a quick hack 8)

MY_VMS="10.0.1.1" # etc... change as needed
for A_VM in $MY_VMS
do
  if [ ! -f $A_VM.list ]
  then
    ssh $A_VM ip link list > $A_VM.list
  fi

  for i in `ifconfig -a | grep "Link encap" | sed 's/ .*//g'`
  do
    PEER_IFINDEX=`ethtool -S $i 2>/dev/null | grep peer_ifindex | sed 's/ *peer_ifindex: *//g' `
    if [ "$PEER_IFINDEX" = "" ]
    then
      continue
    fi

    PEER_IF=`grep "^$PEER_IFINDEX:" $A_VM.list  | awk '{print $2}' | sed 's/:.*//g'`
    if [ "$PEER_IF" = "" ]
    then
      continue
    fi
    printf "%-10s is paired with %-10s on %-20s\n" $i $PEER_IF $A_VM
  done
done
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.