master
Gerardo Zamudio 5 years ago
parent 7a6a5cfc1a
commit 0099c7ed5f
Signed by: gzamudio
GPG Key ID: F6CFA5A99E7B5957

@ -10,14 +10,14 @@ tail +13 CHECKSUMS.md5 | md5sum --check | less
/pub/gnu, or at any GNU mirror site.
MD5 message digest Filename
939439c89bb80851cd34d6849ac0ef20 ./ChangeLog.rss
34125f428e4aa2531c2e572d7a00a8fc ./ChangeLog.txt
6b1c475dfe56cd18ebbe5ce746f6aa3e ./ChangeLog.txt.gz
29390e6926c9964a1c516f2bf8444a83 ./FILELIST.TXT
36907ae22ca9ef6685b131581996a5eb ./ChangeLog.rss
58966ec7ecc920491483e9577f0cb0f1 ./ChangeLog.txt
80248c5f2e1d1e11d35733109936f30f ./ChangeLog.txt.gz
6fe51a15a96e34df7c9c664385b80d9e ./FILELIST.TXT
7f4bffeb686cc5fd6056bd404dda08d7 ./GPG-KEY
4059d198768f9f8dc9372dc1c54bc3c3 ./MANIFEST.bz2
5ec2ef661cde5802be7b1c9ca08db622 ./PACKAGES.TXT
5e42ccddc3b97a8ef542c539456e807c ./PACKAGES.TXT.gz
66fb399511402aa21b47e76c5ba4d037 ./PACKAGES.TXT
f8b8df2ad3fa3ea39e23082d88469959 ./PACKAGES.TXT.gz
bc0cd60a08dbe2a365a3865cc9673bee ./device-tree-compiler/HEADER.txt
bc0cd60a08dbe2a365a3865cc9673bee ./device-tree-compiler/README
8c970fb9c9408b1ef9fddd2abdc2c15a ./device-tree-compiler/build/README
@ -137,6 +137,13 @@ f2d29ece4562da0b48969658e96f8730 ./usbredir/build/README
5dcc0d353a1d100bda8c65cc690623dd ./usbredir/build/slack-desc
b4da34fb6d894d9bbccc56599088c19b ./usbredir/build/usbredir.SlackBuild
1108f2666cd35ae278f60fb3eeed8780 ./usbredir/build/usbredir.info
b13b290a4e1bf15ba6c0e1ee6658abb9 ./vde/HEADER.txt
b13b290a4e1bf15ba6c0e1ee6658abb9 ./vde/README
e06e2ec44c43647da743ee65d58be371 ./vde/build/README
7dc14eebcc6923bfdd6abb9e90cb804c ./vde/build/VDE_HOWTO.txt
1d5075dd0c0e0c3ca88901e645e32faf ./vde/build/rc.vdenetwork
b13b290a4e1bf15ba6c0e1ee6658abb9 ./vde/build/slack-desc
e1a5700ee2fbb80e69af6f5f0deeeb84 ./vde/build/vde.SlackBuild
89f1f7294949d150af49cacf3c4adb9a ./virglrenderer/HEADER.txt
89f1f7294949d150af49cacf3c4adb9a ./virglrenderer/README
762a17320717a70a1559c68ceddfe0a7 ./virglrenderer/build/README

@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJNBAABCgA3FiEEm8dazQnvu0U1Gdmc9s+lqZ57WVcFAl7Ijn4ZHGd6YW11ZGlv
QGxpYnJlbWV4Lm9yZy5teAAKCRD2z6WpnntZV9WUD/wJJNDIgy5JRJEF24bD10nm
I6p1GddLfrD0XumCYCVFmACu11kwY+ptxqYG4fWsS/O9AwFKOrDGXbgnt11HqSeM
FyTEFGS4CidnKFNI/0FDgSKYzpVTT//aSJ+NGDeMb6yaU2jAImpM8B8YMHiNdX95
S4/fJLep+FSWFTPv3VhjQKR1iw18CzUBQl4boX+K+o2ckjB/v6E3hhKgLY1/sNJ7
KkpHD1fwBMxlrl7pAHrtqdz161/fVMZCpNu3zVE+agLyG6CGdtUgUNA8HodV7QJ+
fEAuw2m6xyQ0bChGL0AVet+y+PF+o3nSYFS5babdxygqcIDeEBWTpVvNbVEfKXqw
SvCsnIQClZpvdEm0vDdZ7ght/RxFKrXcy4KqrrFdmTTfgmitT6JlGTXN/EkSq109
ztoaNwSZoSnNMHo9JTDfVFd2dWzWaxIWkt8voSqMXl9RXtmHxzzU1uV20yq5emMw
8HLC/ppKdBokrQeUM1xYGNJmPA55lybjJUn4ausppP2x7ctVq+RPQoIdFMub7BJa
OC3yJijm9C7NCPF2ZdEbF6FdUgBSW5C7wtukPbZDdIUK/M3pKYxX351Z4pEk8Vux
ZvKwZoyqLLNdGJcFTKAx3hNqksINLNmBAfqxMk9Xt1w3Kz/QMNGkrZ9bv3bv14m4
Erqf26rcK3/VhOKVIDhqPw==
=u2gH
iQJNBAABCgA3FiEEm8dazQnvu0U1Gdmc9s+lqZ57WVcFAl7IkAwZHGd6YW11ZGlv
QGxpYnJlbWV4Lm9yZy5teAAKCRD2z6WpnntZV9c4D/9YYOERoyM4a9nkT5zIJH6q
9a0XP18pVLV1dnTGV4MLSSbe4C0B1MlLb5Xo2aas9ChR4iUJq+DTgUo3kQHmPpOZ
cizQh5d6slDYL1liP0uqIOXoZHyZ9UPTD9mAGwDVsmOuEhP2Cq+vhy9/GMth401H
R1t9ezoJRMm8whJv8HQ91j7vlIkHUOMtEzeSeW7rjbMLawbK1UCCWZ/aQLFR8Z2o
bvl2NZo7VlYPBeC0jSpYtX7FD6lQn7gRGN/OBzKnUZNc95s7KRbqz0mVSjhAtDX4
DDWboEz/7aUkRJ5fAMFAlE5BappSYIDqyyQs8FTk2SKc3POvAFPkcom8HmzBXPyJ
lCE2uox/OUjKg9zLDbDIQjxlyQQEYi15VNftN+BeOJaeBHqh7KpEmthIXT40OEji
67QJpk06if8taF8JK4V5MRzbbQjHNtXwN0KEAi6kzSoNm8IEyagR9iC8AoZJW0E8
ALd7V5EE+3wYU0Mprui1SPxieJ1GTZtrkDMBYucH40n2vJe88EgD32tfhaAr5HVL
QrFZKSN+zCF3caBJgNVMeEVvdxReF7po5he9bb1nJlg/Qx/NoD39f6EPTOVK7hTa
ajuj29vz9XhlOFaz7lVOn9+IFKy7ypbNlgdEhbkVfFKPYxtpF/WxjFltbLz0CMta
Irb3/5heu73HFeE8vQVZGA==
=7YQU
-----END PGP SIGNATURE-----

Binary file not shown.

@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJNBAABCgA3FiEEm8dazQnvu0U1Gdmc9s+lqZ57WVcFAl7Ijn4ZHGd6YW11ZGlv
QGxpYnJlbWV4Lm9yZy5teAAKCRD2z6WpnntZV2GbEACwzHDb7gJVbn5pR/hocuyM
l7ny62wO9G32YT/z9uabMAIqYAWU57QKDQJFUw3B88tC+/7vkTdrS7dXOXd/sB0P
PJ0eAGohtfjsmAQ88018/ZQ9oac9OHJ2GfxRYo7twwWD+weGDEdAA1akSpHOKV5g
KE/XCeTfxeOwkKVP/yridFlUyUz7MymBYJTEpJZVThw0Y/nRhGWKccoumXGSVyOm
mZIJRpSnFB40ZO+gBOjyToPJO7f76/TJ2frr3kZ72QnWQxz8N/9Ym+s0K8Qe//7M
KsvO+1x5vcxcNO/UygDpEVfbhFJ2b/csNYVIeJrn9uALUNvR5k+uVFDimoS9Ryve
Dpnx46q7cBHaYUz4eweVimi5EcqzXFlLVIaB1Q5wA5W0McUslvWdnzR0YsHsZ1Fc
wEiumXI+/DEcGumG5HJnwHUhPEhi/gWa5vlClW75rCON/W/KiN/oX8Nsmm4hpmsR
tXQzuuH2VOZevKB0FRrJVnfdWy8jrPxzrTbaz/kOtCB8YkxTF8SXS8olca/zRfIX
+PXd7Yib3m76755uWVPE+tSHvGHjh/Jao++9yCjGv6+cmIyRr4AQJPvuiSMc9nt/
UJF8b2w3ISPYutJQDd8MH86dxz9ZU8is2z9luv1DJwyfMmbL1BHn6bfj1y4ruFGc
CdONorYvm8nSATZbUTY6AA==
=9SNa
iQJNBAABCgA3FiEEm8dazQnvu0U1Gdmc9s+lqZ57WVcFAl7IkAwZHGd6YW11ZGlv
QGxpYnJlbWV4Lm9yZy5teAAKCRD2z6WpnntZV4/4D/9GDJ9CcouBDVnoIVxHwRU2
6pCsvRPvT5rjrkW2+KiGN97J4JWToLwSh/y/85EwSYjHdXYiSz2cQ6eHAAtHV/z1
ZFRbnLxi/nt1+/30TwA6mGa/IQymeWIF+NFIODv+Id6AtR2cVyfHdH/tKCD/qsSd
dhWzpzdRjxGu8xAIwFmxE4wIKe3NP3lZoeQIRaN8a548ef6bxWtxZ/9AFLOmGrjg
ItqVRgcqgBS5kzK/ycghZyKYctI6CToxGsQHO/guDYsMkv1knNBEYp/Q6sPe/l68
MMg9lsUIDC+eYwGf73mJmAF2tf6UxIb13Co3yDC/L9oUsXIkehlmYzyPlow0p6ZK
wU7gyaX7oAXChUlgKbOaFiIPZhCuU3ARNS0uZelr/e0hPAsjrjEwjHaKgYZBEQSL
tpWI3c23zvlEjMXCOD8k9kTvH8PvM8bKpgAQZLl/M90gMRgvC7kOeIJjvqMy/XFi
lsojGMYJ46vvmqJGA2m0dSI/qwH4GQEDhZKF1RY4ae+H3tdeMNooyl/DCBJ0/bi9
HnkvjJUqAz1XUCWOcc+wfg4AodjOkRoccrgoxoXNfyUrYQu7eYdMz7fsYkCsYiJR
NPnxahXvCwAuKiy7H29e7R4pcY/p6SmI83EtsUJz+oJk1LtdEpdTSSw6Ba/U9J4b
RuUs7tfltHP8w4nlWQXEOQ==
=ETLM
-----END PGP SIGNATURE-----

@ -11,9 +11,20 @@
<description>Repositorio de software para Slackare Linux proporcionado por Libre Expresión México</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:f735159c-86bd-11ea-9d48-04d4c453db33</id>
<pubDate>Sat, 23 May 2020 02:46:18 GMT</pubDate>
<lastBuildDate>Sat, 23 May 2020 02:46:21 GMT</lastBuildDate>
<pubDate>Sat, 23 May 2020 02:52:57 GMT</pubDate>
<lastBuildDate>Sat, 23 May 2020 02:53:00 GMT</lastBuildDate>
<generator>gen_repos_files.sh v 1.98</generator>
<item>
<title>Sat, 23 May 2020 02:52:57 GMT</title>
<link>https://mirror.slackware.mx/libremex/slackbuilds/ChangeLog.txt</link>
<pubDate>Sat, 23 May 2020 02:52:57 GMT</pubDate>
<guid isPermaLink="false">20200522215257</guid>
<description>
<![CDATA[<pre>
vde: Nuevo
</pre>]]>
</description>
</item>
<item>
<title>Sat, 23 May 2020 02:46:18 GMT</title>
<link>https://mirror.slackware.mx/libremex/slackbuilds/ChangeLog.txt</link>
@ -190,16 +201,5 @@ liburcu: Asumir el mantenimiento
</pre>]]>
</description>
</item>
<item>
<title>Fri, 22 May 2020 21:18:11 GMT</title>
<link>https://mirror.slackware.mx/libremex/slackbuilds/ChangeLog.txt</link>
<pubDate>Fri, 22 May 2020 21:18:11 GMT</pubDate>
<guid isPermaLink="false">20200522161811</guid>
<description>
<![CDATA[<pre>
liburcu: Nuevo
</pre>]]>
</description>
</item>
</channel>
</rss>

@ -1,3 +1,7 @@
+--------------------------+
Sat May 23 02:52:57 UTC 2020
vde: Nuevo
+--------------------------+
Sat May 23 02:46:18 UTC 2020
gtk-vnc: Asumir el mantenimiento

Binary file not shown.

@ -1,4 +1,4 @@
Sat May 23 02:46:18 UTC 2020
Sat May 23 02:52:57 UTC 2020
Here is the file list for https://mirror.slackware.mx/libremex/slackbuilds ,
maintained by Gerardo Zamudio <gzamudio@libremex.org.mx> .
@ -6,19 +6,19 @@ If you are using a mirror site and find missing or extra files
in the subdirectories, please have the archive administrator
refresh the mirror.
drwxr-xr-x 22 1000 100 4096 2020-05-22 21:46 .
-rw-r--r-- 1 1000 100 8631 2020-05-22 21:44 ./CHECKSUMS.md5
-rw-r--r-- 1 1000 100 870 2020-05-22 21:44 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 1000 100 3023 2020-05-22 21:44 ./CHECKSUMS.md5.gz
-rw-r--r-- 1 1000 100 870 2020-05-22 21:44 ./CHECKSUMS.md5.gz.asc
-rw-r--r-- 1 1000 100 7813 2020-05-22 21:46 ./ChangeLog.rss
-rw-r--r-- 1 1000 100 4201 2020-05-22 21:46 ./ChangeLog.txt
-rw-r--r-- 1 1000 100 736 2020-05-22 21:46 ./ChangeLog.txt.gz
-rw-r--r-- 1 1000 100 311 2020-05-22 21:46 ./FILELIST.TXT
drwxr-xr-x 23 1000 100 4096 2020-05-22 21:53 .
-rw-r--r-- 1 1000 100 8631 2020-05-22 21:46 ./CHECKSUMS.md5
-rw-r--r-- 1 1000 100 870 2020-05-22 21:46 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 1000 100 3024 2020-05-22 21:46 ./CHECKSUMS.md5.gz
-rw-r--r-- 1 1000 100 870 2020-05-22 21:46 ./CHECKSUMS.md5.gz.asc
-rw-r--r-- 1 1000 100 7809 2020-05-22 21:53 ./ChangeLog.rss
-rw-r--r-- 1 1000 100 4271 2020-05-22 21:53 ./ChangeLog.txt
-rw-r--r-- 1 1000 100 746 2020-05-22 21:53 ./ChangeLog.txt.gz
-rw-r--r-- 1 1000 100 311 2020-05-22 21:53 ./FILELIST.TXT
-rw-r--r-- 1 1000 100 6217 2020-05-22 15:11 ./GPG-KEY
-rw-r--r-- 1 1000 100 14 2020-05-22 21:46 ./MANIFEST.bz2
-rw-r--r-- 1 1000 100 45 2020-05-22 21:46 ./PACKAGES.TXT
-rw-r--r-- 1 1000 100 78 2020-05-22 21:46 ./PACKAGES.TXT.gz
-rw-r--r-- 1 1000 100 14 2020-05-22 21:53 ./MANIFEST.bz2
-rw-r--r-- 1 1000 100 45 2020-05-22 21:53 ./PACKAGES.TXT
-rw-r--r-- 1 1000 100 76 2020-05-22 21:53 ./PACKAGES.TXT.gz
drwxr-xr-x 4 1000 100 4096 2020-05-22 15:38 ./device-tree-compiler
-rw-r--r-- 1 1000 100 1108 2020-05-22 15:38 ./device-tree-compiler/HEADER.txt
-rw-r--r-- 1 1000 100 1108 2020-05-22 15:38 ./device-tree-compiler/README
@ -43,7 +43,7 @@ drwxr-xr-x 2 1000 100 4096 2020-05-22 16:26 ./glusterfs/pkg64/current
drwxr-xr-x 4 1000 100 4096 2020-05-22 21:45 ./gtk-vnc
-rw-r--r-- 1 1000 100 880 2020-05-22 21:45 ./gtk-vnc/HEADER.txt
-rw-r--r-- 1 1000 100 880 2020-05-22 21:45 ./gtk-vnc/README
drwxr-xr-x 2 1000 100 4096 2020-05-22 21:45 ./gtk-vnc/build
drwxr-xr-x 2 1000 100 4096 2020-05-22 21:47 ./gtk-vnc/build
-rw-r--r-- 1 1000 100 443 2020-05-21 23:29 ./gtk-vnc/build/README
-rw-r--r-- 1 1000 100 3468 2020-05-22 21:46 ./gtk-vnc/build/gtk-vnc.SlackBuild
-rw-r--r-- 1 1000 100 329 2020-05-22 21:45 ./gtk-vnc/build/gtk-vnc.info
@ -196,6 +196,17 @@ drwxr-xr-x 2 1000 100 4096 2020-05-22 15:11 ./usbredir/build
-rw-r--r-- 1 1000 100 904 2020-05-22 15:11 ./usbredir/build/slack-desc
-rw-r--r-- 1 1000 100 3258 2020-05-22 15:11 ./usbredir/build/usbredir.SlackBuild
-rw-r--r-- 1 1000 100 305 2020-05-22 15:11 ./usbredir/build/usbredir.info
drwxr-xr-x 4 1000 100 4096 2020-05-22 21:52 ./vde
-rw-r--r-- 1 1000 100 807 2020-05-22 21:52 ./vde/HEADER.txt
-rw-r--r-- 1 1000 100 807 2020-05-22 21:52 ./vde/README
drwxr-xr-x 2 1000 100 4096 2020-05-22 21:52 ./vde/build
-rw-r--r-- 1 1000 100 214 2020-05-22 21:52 ./vde/build/README
-rw-r--r-- 1 1000 100 7032 2005-06-20 01:40 ./vde/build/VDE_HOWTO.txt
-rw-r--r-- 1 1000 100 6345 2011-12-06 08:18 ./vde/build/rc.vdenetwork
-rw-r--r-- 1 1000 100 807 2008-06-02 04:40 ./vde/build/slack-desc
-rw-r--r-- 1 1000 100 8316 2011-12-06 08:18 ./vde/build/vde.SlackBuild
drwxr-xr-x 3 1000 100 4096 2020-05-22 21:52 ./vde/pkg64
drwxr-xr-x 2 1000 100 4096 2020-05-22 21:52 ./vde/pkg64/current
drwxr-xr-x 3 1000 100 4096 2020-05-22 15:11 ./virglrenderer
-rw-r--r-- 1 1000 100 784 2020-05-22 15:11 ./virglrenderer/HEADER.txt
-rw-r--r-- 1 1000 100 784 2020-05-22 15:11 ./virglrenderer/README

@ -1,2 +1,2 @@
PACKAGES.TXT; Sat May 23 02:46:18 UTC 2020
PACKAGES.TXT; Sat May 23 02:52:57 UTC 2020

Binary file not shown.

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
vde: vde (virtual distributed ethernet)
vde:
vde: VDE is a virtual network that can be spawned over a set of physical
vde: computer over the Internet.
vde: VDE connects together: (1) real GNU-linux boxes (tuntap) (2) virtual
vde: machines: UML-User Mode Linux, qemu, bochs, MPS.
vde:
vde:
vde:
vde: Homepage for vde is http://vde.sourceforge.net/
vde:

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
vde: vde (virtual distributed ethernet)
vde:
vde: VDE is a virtual network that can be spawned over a set of physical
vde: computer over the Internet.
vde: VDE connects together: (1) real GNU-linux boxes (tuntap) (2) virtual
vde: machines: UML-User Mode Linux, qemu, bochs, MPS.
vde:
vde:
vde:
vde: Homepage for vde is http://vde.sourceforge.net/
vde:

@ -0,0 +1,4 @@
VDE is a virtual network that can be spawned over a set of physical
computer over the Internet.
VDE connects together: (1) real GNU-linux boxes (tuntap) (2) virtual
machines: UML-User Mode Linux, qemu, bochs, MPS.

@ -0,0 +1,156 @@
VDE : Virtual Distributed Ethernet.
(c) 2003/2004/2005 Renzo Davoli
Based on uml-router Copyright 2002 Yon Uriarte and Jeff Dike
qemu-vde-HOWTO is (c) by Jim Brown
Components of the VDE architecture:
- VDE switches: virtual counterpart of ethernet switches.
- VDE cables: virtual counterpart of a crossed-cable used to connect two switches.
Using VDE:
All units connected to the VDE see each other as they were on a real ethernet.
A real Linux box can be connected to the VDE using a tap interface (TUNTAP) (packets can be further routed using standard linux methods).
It is possible to join two VDE switches -- also running on different real conputers -- using virtual VDE cables
UML (user-mode-linux) virtual machines can be connected to the VDE
MPS (MIPS emulated machines (c) Morsiani/Davoli) can be connected to the virtual VDE.
Examples of VDE uses:
- With VDE it is possible to create a virtual network of UML machines running on several real computer
- VDE can be used to create tunnels (even crossing masquerated networks)
- VDE can provide mobility support. Changing a VDE cable with another does not affect the communications in place. The new VDE cable can use a completely different path on the real net. VDE supports also multiple concurrent VDE cablesbetween a pair of VDE-switches during the hand-off. This eliminates when possible hich-ups of communications due to hand-offs.
HOWTO and command syntax:
vde-switch [ -unix control-socket ] [ -tap tuntap-device ] [ -hub ] [-daemon]
This command creates a VDE switch.
-unix control-socket
The control socket is the socket used for local processes to create a new connection. The default value is /tmp/vde.ctl. User-mode-linux default value is /tmp/uml.ctl, so if you want to use vde with UML you can: (1) use "-unix /tmp/uml.ctl" for vde-switch (2) use
"eth0=daemon,,/tmp/vde.ctl" for UML
-tap tuntap-device
the vde-switch is connected to the specified tap interface. Ususally it is reserved for root as /dev/net/tun is not writable. (It is dangerous to have /dev/net/tun writable by ordinary users).
-hub
the vde-switch works as a hub (all packets are broadcast on all interfaces.
-daemon
the switch works as a daemon: it runs in background, it uses syslog for error management.
vde-plug [-g num] [socketname]
A vde-cable is composed by two vde-plug and a "cable". A vde-plug connects its standard input and output to a switch.
socketname is the control-socket of the switch the plug must be connected to (default value /tmp/vde.ctl).
-g num (num > 0, num < 256) is a group number. Cables without a group number are independent cables, cables with the same group number represent several path for the same destination. Packet reaching a switch on a cable are never forwarded on another cable of the same group.
dpipe cmd1 [arg1] = cmd2 [arg2]
it is the double pipe command (it is here just becouse it is not provided by shells).
cmd1 and cmd2 are executed, the stdout of cmd1 if pipe connected to the stdin of cmd2 and viceversa. (the symbol = is intended as a pair of communication pipes between the two processes.
HOW TO:
- (1) SETUP A DAEMON:
(as root)
# vde_switch -tap tap0 -daemon
# ifconfig tap0 192.168.0.254
# chmod 777 /tmp/vde.ctl
if you want to have routing to the Internet you can use standard routing commands on the host machine e.g.:
# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
for ipv6
# echo "1" > /proc/sys/net/ipv6/conf/eth0/forwarding
# radvd
radvd must be configured to broadcast the correct prefix for the tap0 subnet
----- example of /etc/radvd.conf file
interface tap0
{
AdvSendAdvert on;
MaxRtrAdvInterval 120;
#put here your prefix.
prefix 1111:2222:3333:4444::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
------ end of example
- (2) SETUP A SECOND DAEMON
(no need for root access)
% vde_switch /tmp/my.ctl
(add - daemon if you want to run it in background)
- (3) CONNECT TWO LOCAL SWITCHES TOGETHER
% dpipe vde_plug = vde_plug /tmp/my.ctl
(or
% dpipe vde_plug /tmp/my.ctl = vde_plug
)
connects the vde_switch with ctl socket /tmp/vde.ctl with the other using /tmp/my.ctl.
- (3) CONNECT TWO REMOTE SWITCHES TOGETHER
You need a tool to interconnect stdin stdout of two remote processes. e.g.
% dpipe vde_plug /tmp/my.ctl = ssh remote_machine vde_plug
connects the vde_switch with ctl socket /tmp/vde.ctl on the remote_machine with the local switch using /tmp/my.ctl.
It is possible to use other tools in place of ssh like netcat.In this latter case the communication is not secure.
- (4) CREATION OF TUNNELS.
(it needs kernel support for policy routing)
Setup two daemon as described in (1). In this example 192.168.0.1 is the tap0 address on the server side.
Route the traffic to the Internet on the tunnel server side.
On the tunnel client side:
- in the example 100.200.201.202 is the IP address on eth0
and 100.200.201.254 is the default gateway.
- create a specific rule for the eth0 routing
ip rule add from 100.200.201.202 table eth0-table
(please note that eth0-table must be listed in /etc/iproute2/rt_tables)
ip route del default via 100.200.201.254
ip route add default via 100.200.201.254 table eth0-table
the previous default route will be the def. route just for the packets originated with the eth0 inteface address.
- connect the two vde-switch together:
dpipe vde-plug = ssh -b 100.200.201.202 server-machine vde-plug
- setup an appropriate IP address for tap0 interface (or get it by dhcp if set up on server side). (e.g. 1 92.168.0.10)
- use tap0 as the default interface:
ip route add default via 192.168.0.1
- (5) SUPPORT FOR MOBILITY
Create a tunnel like in 4 using a group number on the vde-cable:
dpipe vde-plug -g 1 = ssh -b 100.200.201.202 server-machine vde-plug -g 1
Create a second tunnel (say on ppp0 addr. 100.100.101.102 gateway 100.100.101.254)
# ip rule add from 100.100.101.102 table ppp0-table
# ip route add default via 100.100.101.254 table ppp0-table
Connect the a second cable using the same group number:
# dpipe vde-plug -g 1 = ssh -b 100.100.101.102 server-machine vde-plug -g 1
Disconnect the first cable (kill the processes of the first cable)
All the traffic get rerouted on the new vde-cable (thus to another path on the rel network. Connections in place are unaffected by the change. Several cables of the same group can be in place during the handoff phase but note that this ends up in duplicated packets that can slow down the communication.
Please note also that the vde-switches do not manage (yet) the minimum spanning tree protocol thus a loop in the topology can lead to inconsistent MAC forward tables and to network saturation.
Copyright 2003/2004 Renzo Davoli
Acknowlegments:
Thanks to Marco Giordani, Leonardo Macchia for their useful help for debugging. Imported code by Danny Gasparovsky, Fabrice Ballard. Code organization, bugfixes, autotool support Mattia Belletti.
This page found at http://www.blogin.it/vde.htm

@ -0,0 +1,204 @@
#!/bin/sh
# $Id: rc.vdenetwork,v 1.7 2011/12/06 14:18:08 root Exp root $
# Qemu environment preparation script
# ---------------------------------------------------------------------------
#
# After running this startup script, run a QEMU virtual machine in this way:
#
# qemu-system-x86_64 \
# -net vde,sock=/var/run/kvm0.ctl,vlan=0 -net nic,vlan=0 \
# [qemu_option [qemu_option], ...]
#
# This will automatically connect the QEMU virtual machine to the VDE switch.
#
# ---------------------------------------------------------------------------
#
# Network type can be one of "route" "bridge" or "nat":
# - In "route" mode, the script will expect that the 'routed' daemon is running
# on the host (see /etc/rc.d/rc.inet2 to start 'routed'), and will not
# create iptables NAT rules.
# The virtual network will be routed on the LAN and will be accessible as a
# separate network segment (make sure the IP range defined below does not
# conflict with existing parts of your network!). The guests will use our
# private dnsmasq server to obtain IP addresses.
# - In "bridge" mode, the script will try to add the tap device to an existing
# network bridge, and will not create iptables NAT rules.
# The guests will be seen on the LAN as part of the network.
# - In "nat" mode, the script will create iptables NAT rules. These hide the
# virtual network behind an internal NAT router. The guests will have full
# network access, but will be accessible only from the host.
#
# ---------------------------------------------------------------------------
#NETWORKTYPE="route"
#NETWORKTYPE="bridge"
NETWORKTYPE="nat"
# Host interfaces that need to be NAT-ed (in case we're not bridging/routing):
# Add more interfaces space-separated, like "eth+ wlan+"
NAT_IFS="eth+"
# What is the bridge interface called if we are bridging?
BR_DEV=br0
# What is the name of the tun/tap device we will be using?
TAP_DEV=kvm0
start_tap() {
# Load tun module
/sbin/modprobe tun 2>/dev/null
# Wait for the module to be loaded
while ! /bin/lsmod |grep -q "^tun"; do echo Waiting for tun device;sleep 1; done
# Start tap switch
vde_switch --tap ${TAP_DEV} --daemon --group kvm \
--sock /var/run/${TAP_DEV}.ctl --pidfile /var/run/${TAP_DEV}_vde.pid \
--mod 775 --mgmtmode 770 --mgmt /var/run/${TAP_DEV}-manage
sleep 1
# Change pipe permission:
#chmod -R a+rwx /var/run/vde.ctl
} # End start_tap
stop_tap() {
# Bring tap interface down:
ifconfig ${TAP_DEV} down
# Kill VDE switch:
#pgrep -f vde_switch | xargs kill -TERM
kill -HUP $(cat /var/run/${TAP_DEV}_vde.pid)
# Remove the control socket:
#rmdir /var/run/vde.ctl
} # End stop_tap
start_localdhcp() {
# The IP configuration for the tap device that will be used for
# the virtual machine network:
TAP_IP=10.111.111.254
TAP_MASK=255.255.255.0
TAP_BCAST=$(/bin/ipmask ${TAP_MASK} ${TAP_IP} | cut -f 1 -d ' ')
# Definitions for the LAN segment the Qemu virtual machines will be in.
# These definitions will be fed to dnsmasq - this program will provide DNS
# and DHCP to the Qemu LAN.
# The VM_IPLOW and VM_IPHIGH addresses must agree with the definitions for
# the tap0 device above. These 'low' and 'high' values are the IP address
# range for the DHCP server to use.
VM_DOMAIN=qemu.lan
VM_IPLOW=10.111.111.128
VM_IPHIGH=10.111.111.199
VM_BCAST=${TAP_BCAST}
VM_MASK=${TAP_MASK}
# For additional options to dnsmasq - the commented example specifies that
# all DNS lookups for 'my.net' should go to 192.168.1.1;
# On the second line you find a configuration for supporting network boot:
#DNSMASQ_OPTIONS="--server /my.net/192.168.1.1 \
# --dhcp-boot=/pxelinux.0,\"192.168.1.1\",192.168.1.1"
DNSMASQ_OPTIONS=""
# Bring tap interface up
ifconfig ${TAP_DEV} ${TAP_IP} broadcast ${TAP_BCAST} netmask ${TAP_MASK}
# Start dnsmasq, the DNS/DHCP server
# for our Virtual Machines behind the tap0 interface.
# The '--conf-file' option prevents this instance from reading the default
# /etc/dnsmasq.conf settings. Also, binds to the tun interface, to keep it
# from interfering with other dnsmasq/named processes running on the host's
# primary interfaces.
/usr/sbin/dnsmasq \
--log-queries \
--user=daemon \
--dhcp-leasefile=/var/state/dhcp/qemu-dhcpd.leases \
--dhcp-range=${VM_IPLOW},${VM_IPHIGH},${VM_MASK},${VM_BCAST},8h \
--interface=${TAP_DEV} --except-interface=lo --bind-interfaces \
--pid-file=/var/run/${TAP_DEV}_dnsmasq.pid --conf-file \
--domain=${VM_DOMAIN} \
$DNSMASQ_OPTIONS
} # End start_localdhcp
stop_localdhcp() {
# Stop dnsmasq
#pgrep -f dnsmasq | xargs kill -TERM
kill -TERM $(cat /var/run/${TAP_DEV}_dnsmasq.pid) \
&& rm -f /var/run/${TAP_DEV}_dnsmasq.pid
} # End stop_localdhcp
start_route() {
# We need a private dnsmasq instance in a routed configuration:
start_localdhcp
} # End start_route
stop_route() {
# We need to stop our private dnsmasq instance in a routed configuration:
stop_localdhcp
} # End stop_route
start_nat() {
# Start IP Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
for NIC in ${NAT_IFS}; do
iptables -t nat -A POSTROUTING -o ${NIC} -j MASQUERADE
done
# We need a private dnsmasq instance in a NAT configuration:
start_localdhcp
} # End start_nat
stop_nat() {
# We need to stop our private dnsmasq in a NAT configuration:
stop_localdhcp
# Delete the NAT rules
for NIC in ${NAT_IFS}; do
iptables -t nat -D POSTROUTING -o ${NIC} -j MASQUERADE
done
# Stop IP Forwarding
echo "0" > /proc/sys/net/ipv4/ip_forward
}
start_bridge() {
# Connect our tap device from the bridge:
/sbin/ifconfig $TAP_DEV down
/sbin/ifconfig $TAP_DEV 0.0.0.0 promisc up
/sbin/brctl addif $BR_DEV $TAP_DEV
}
stop_bridge() {
# Disconnect our tap device from the bridge:
/sbin/brctl delif $BR_DEV $TAP_DEV
}
# See how we were called.
case "$1" in
start)
echo -n "Starting VDE network for QEMU: "
start_tap
start_$NETWORKTYPE
echo
;;
stop)
echo -n "Stopping VDE network for QEMU: "
stop_$NETWORKTYPE
stop_tap
echo
;;
restart|reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
vde: vde (virtual distributed ethernet)
vde:
vde: VDE is a virtual network that can be spawned over a set of physical
vde: computer over the Internet.
vde: VDE connects together: (1) real GNU-linux boxes (tuntap) (2) virtual
vde: machines: UML-User Mode Linux, qemu, bochs, MPS.
vde:
vde:
vde:
vde: Homepage for vde is http://vde.sourceforge.net/
vde:

@ -0,0 +1,232 @@
#!/bin/sh
# $Id: vde.SlackBuild,v 1.17 2011/12/06 14:18:37 root Exp root $
# Copyright (c) 2004-2011 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Eric Hameleers <alien@slackware.com>
# For: vde
# Descr: virtual distributed ethernet
# URL: http://vde.sourceforge.net/
# Needs:
# Changelog:
# 1.5.7-1: 16/dec/2004 by Eric Hameleers
# * Initial build.
# 1.5.7-2: 18/dec/2004 by Eric Hameleers
# * Added uml README to the documentation
# 1.5.7-3: 08/feb/2005 by Eric Hameleers
# * Fixed incorrect link for vdeqemu; added rc.vdenetwork which
# sets up the right environment for qemu, using dnsmasq.
# If you already run a local nameserver, you'll have to edit out
# parts of that file.
# 1.5.9-1: 05/jul/2005 by Eric Hameleers
# * New release. Changed the rc.vdenetwork script so that it will
# run out of the box.
# 20051213-1: 13/dec/2005 by Eric Hameleers
# * Snapshot release of what will become 2.0.1. I need this for the
# current CVS version of QEMU which changed the networking
# parameters. VDE now comes with 'vdeoq' and 'vdeq' for the old
# and the new interface respectively.
# 2.0.1-1: 03/jan/2006 by Eric Hameleers <alien@slackware.com>
# * New release, adapted to qemu >= 0.8
# 2.0.2-1: 23/jul/2006 by Eric Hameleers <alien@slackware.com>
# * New release.
# 2.1.1-1: 22/aug/2006 by Eric Hameleers <alien@slackware.com>
# * New release.
# 2.1.6-1: 26/jul/2007 by Eric Hameleers <alien@slackware.com>
# * Update.
# 2.2.0.pre1-1: 02/Jun/2008 by Eric Hameleers <alien@slackware.com>
# * Update.
# 2.2.2-1: 01/sep/2008 by Eric Hameleers <alien@slackware.com>
# * Update.
# 2.3.1-1: 23/aug/2010 by Eric Hameleers <alien@slackware.com>
# * Update.
# 2.3.2-1: 06/dec/2011 by Eric Hameleers <alien@slackware.com>
# * Update.
#
# Run 'sh vde.SlackBuild' to build a Slackware package.
# The package (.tgz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------
# Set initial variables:
PRGNAM=vde
SRCVER=${SRCVER:-2.3.2}
VERSION=$(echo $SRCVER | tr '-' '.')
BUILD=${BUILD:-1}
TAG=${TAG:-alien}
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
DOCS="COPYING* Changelog LICENSE README* VERSION doc/* \
$SRCDIR/rc.vdenetwork $SRCDIR/Using_VDE_with_QEMU_HOWTO.txt"
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
SOURCE="$SRCDIR/${PRGNAM}2-${SRCVER}.tar.bz2"
SRCURL="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}2-${SRCVER}.tar.bz2"
##
## --- with a little luck, you won't have to edit below this point --- ##
##
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
case "$ARCH" in
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
x86_64) SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
;;
*) SLKCFLAGS="-O2"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
esac
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
# remove old log files
# Source file availability:
if ! [ -f ${SOURCE} ]; then
echo "Source '$(basename ${SOURCE})' not available yet..."
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
if ! [ "x${SRCURL}" == "x" ]; then
echo "Will download file to $(dirname $SOURCE)"
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
exit 1
fi
else
echo "File '$(basename ${SOURCE})' not available... aborting the build."
exit 1
fi
fi
if [ "$P1" == "--download" ]; then
echo "Download complete."
exit 0
fi
# --- PACKAGE BUILDING ---
echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"
cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
tar -xvf ${SOURCE}
cd ${PRGNAM}2-${SRCVER}
chown -R root:root .
chmod -R u+w,go+r-w,a+X-s .
echo Building ...
LDFLAGS="$SLKLDFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/man \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
make DESTDIR=$PKG install 2>&1 | tee $OUTPUT/install-${PRGNAM}.log
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
rm -f $PKG/usr/doc/$PRGNAM-$VERSION/Makefile*
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Compress the man page(s):
if [ -d $PKG/usr/man ]; then
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
# Strip binaries (if any):
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
if [ -f $SRCDIR/doinst.sh ]; then
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
fi
# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.tgz.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}
Loading…
Cancel
Save