Pavel Emelyanov <xemul@xxxxxxxxxxxxx> writes: > On 11/04/2012 04:35 AM, Eric W. Biederman wrote: >> Tomas Pospisek <tpo@xxxxxxxxxxxxx> writes: >> >>> Hi again Michael, Pavel, Eric and mailing list >>> >>> (Cc: to Eric, Pavel and Linux Netdev List on behalf of Michael asking >>> for comment) >>> >>> Here's the revised veth(4) man page (the inline replies to Michael's >>> critique are following the man page): >>> >>> ******************************************************************** >>> .\" Copyright (c) 2012 Tomáš Pospíšek (tpo_deb@xxxxxxxxxxxxx), >>> .\" Fri, 03 Nov 2012 22:35:33 +0100 >>> .\" >>> .\" This is free documentation; you can redistribute it and/or >>> .\" modify it under the terms of the GNU General Public License as >>> .\" published by the Free Software Foundation; either version 2 of >>> .\" the License, or (at your option) any later version. >>> .\" >>> .\" The GNU General Public License's references to "object code" >>> .\" and "executables" are to be interpreted as the output of any >>> .\" document formatting or typesetting system, including >>> .\" intermediate and printed output. >>> .\" >>> .\" This manual is distributed in the hope that it will be useful, >>> .\" but WITHOUT ANY WARRANTY; without even the implied warranty of >>> .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>> .\" GNU General Public License for more details. >>> .\" >>> .\" You should have received a copy of the GNU General Public >>> .\" License along with this manual; if not, write to the Free >>> .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, >>> .\" USA. >>> .\" >>> .\" >>> .TH veth 4 2012-11-02 "Linux" "Linux Programmer's Manual" >>> .SH NAME >>> veth \- Virtual Ethernet Device >>> .SH DESCRIPTION >>> The >>> .B veth >>> devices are virtual Ethernet devices. >>> >>> They can act as tunnels between network namespaces to create >>> a bridge to a physical network device in another namespace, but >>> can also be used as standalone network devices. >> >> As far as understanding and using them I think this text is a bit weak. >> Perhaps something like: >> >> ip link add type veth creates a pair of directly connected ethernet >> devices. What is transmited on one device is immediately received on >> the other device. When either devices is down the link state of the >> pair is down. veth device pairs are useful for combining the network >> facilities of the kernel together in interesting ways. A particularly >> interesting use case is to place one end of a veth pair in one network >> namespace and another end of the veth pair in another network namespace >> allowing communication between network namespaces. > > Ack > >> ethtool can be used to test if a networking device is a veth device, >> and to find the peer network interface. > > This one requires clarification, I think. The ethtool will report you > just and ifindex of the peer, and the caller can do something useful > with it if the peer is still in the same net namespace as the original > device. But how would you find the peer device in case it already sits > in some other network namespace? Until just recently the ifindex of networking devices was universally unique so finding the other end of the device could be done with a brute force search through network namespaces. Even without a guarantee of global uniqueness in the ifindex performing a bidirectional comparison of the return ifindicies of veth devices can give a strong hint that you have found both ends of the tunnel. For checkpoint/restart we may need to implement something better at some point. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html