[Openstack] [openstack-dev] multi-card servers / direct links

Abdulhalim Dandoush dandoush at esme.fr
Tue Mar 14 13:53:09 UTC 2017


Dear all,

We aim at evaluating some recent Data center architectures such as
CamCube, FiConn, and Dcell, that can provide some good features
including scale, bandwidth, fault-tolerance, scalability, overheads and
deployment costs. In the mentioned architectures, servers act as not
only end hosts, but also relay nodes for each other. In other words,
Servers have multi-cards and can be connected directly to other servers
without passing via a bridge or an OVS.

I am wondering whether or not we can add additional interfaces to VMs
and to interconnect any two VMs directly via a virtual cable as we did
with "ip link" for name-spaces. Let us consider a simple scenario where
all the VMs are belonging to the same tenant or project and hosted on
the same physical server.

More specifically, let's say that using network name-spaces we can do it
easily as follow, and we want to do the same for compute VMs.

Create two net NameSpaces and inter-connect them via direct veth link

------------------------------------------------------
$ sudo ip netns add vm1

$ sudo ip netns add vm2

$ sudo ip link add name veth1 type veth peer name veth2

$ sudo ip link set dev veth2 netns vm2

$ sudo ip link set dev veth1 netns vm1

$ sudo ip netns exec vm2 ip link set dev veth2 up

$ sudo ip netns exec vm1 ip link set dev veth1 up

$ sudo ip netns exec vm2 ip address add 10.1.1.2/24 dev veth2

$ sudo ip netns exec vm1 ip address add 10.1.1.1/24 dev veth1

$ sudo ip netns exec vm1 bash

# ifconfig

veth1     Link encap:Ethernet  HWaddr 1e:d8:69:ba:76:e2

          inet addr:10.1.1.1  Bcast:0.0.0.0  Mask:255.255.255.0

          inet6 addr: fe80::1cd8:69ff:feba:76e2/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:8 errors:0 dropped:0 overruns:0 frame:0

          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:648 (648.0 B)  TX bytes:648 (648.0 B)



# ping 10.1.1.2

PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.

64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=0.051 ms

64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.061 ms

64 bytes from 10.1.1.2: icmp_seq=3 ttl=64 time=0.072 ms

^C

--- 10.1.1.2 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1998ms

--------------------------------------------------------------

Thanks in advance,

Abdulhalim
-- 
Abdulhalim Dandoush
-------------------------------
PhD in Information Technology
Researcher-Teacher
ESME Sudria, Paris Sud
Images, Signals and Networks Lab
Tel: +33 1 56 20 62 33
Fax: +33 1 56 20 62 62




More information about the Openstack mailing list