[openstack-dev] [Openstack] [neutron]
Abdulhalim Dandoush
dandoush at esme.fr
Fri Mar 10 15:48:34 UTC 2017
Dear all,
The issue is that we want to create a virtual link between two VMs on
the same physical machine (regardless of their interfaces and network
already created by neutron that inter-connect them through br-int or
ovs). Let us consider the most simple scenario: same physical machine,
same project, etc.
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
Le 22/02/2017 02:18, 김기석 [Kiseok Kim] a écrit :
> Hello Roua Touihri,
>
>
>
> I think you should consider neutron service plugin.
>
> with neutron service plugin, you could crdate your own network service
> what you want.
>
>
>
> you could insert your codes into service plugin interacting with
> event(create, delete, update) and resource(port, sunnet, network..)
>
>
>
> Thank you.
>
>
>
> *From:*Roua Touihri [mailto:roua.touihri at devoteam.com]
> *Sent:* Wednesday, February 22, 2017 12:03 AM
> *To:* openstack-dev at lists.openstack.org; openstack at lists.openstack.org
> *Cc:* Abdulhalim Dandoush
> *Subject:* [Openstack] [openstack-dev][neutron]
>
>
>
> Hello everybody,
>
>
>
> How can we interconnect two VMs without using a bridge or a switch as an
> intermediate. That is, only via a virtual link (e.g. veth or tap). In
> fact, I see that when we create an aditional subnet and two ports of the
> given subnet. Then when I attach each port to a running VM, neutron use
> a bridge as an intermediate element. I want to create a mesh topology
> between several VMs of the same tenant in addition to or without the
> default network created by neutron.
>
>
>
> If such a configuration were not possible, I must then create new APIs
> for doing that. However, I do not know how to get started with this
> task. I guess that I should create new classes similarly to the
> "neutron.create_port" one and maybe to overload the veth/tap constructor.
>
>
>
> Thanks in advance
>
>
>
> --
>
>
>
> Kindly,
>
>
>
>
>
> R.T
>
--
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-dev
mailing list