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.toui...@devoteam.com] > *Sent:* Wednesday, February 22, 2017 12:03 AM > *To:* openstack-...@lists.openstack.org; openstack@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 _______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack