This update(v3->v4) contains the following changes.
icmp.py:
Update document of some attributes.
Drop unused attribute.
rest_router.py:
Improvement of a functional assignment
about RouterController, Router and VlanRouter class.
Improvement of the thread leak.
Add sleep processing when sending ARP to avoid burst traffic.
Add functions of conversion between cookie and some ID, for clarity.
Add guard processing to avoid creating many threads.
Improvement of the json response.
Add some log messages.
This patch implements router Ryu application.
packet is forwarded on the static routing table.
The routing table can be set up by the REST commands.
and, Router can handle each vlan groups separately.
--------------------------------------------
* Example
case: Set static route on vlanID=10
From: address(172.16.10.0/24) belongs to the
rest_router(switch_id=0000000000000001)
To : address(10.0.255.0/24) belongs to the gateway
router(192.168.10.20)
- Following is the rest_router(switch_id=0000000000000001)'s setting.
If the gateway router operates by the rest_router Ryu applicaion too,
same setting is required.
1. add Address data(172.16.10.0/24, default_route=172.16.10.1)
$ curl -X POST -d '{"address":"172.16.10.1/24"}'
http://localhost:8080/router/0000000000000001/10
2. add Address data(192.168.10.0/24, default_route=192.168.10.1)
$ curl -X POST -d '{"address":"192.168.10.1/24"}'
http://localhost:8080/router/0000000000000001/10
3. add Static route(destination=10.0.255.0/24, gateway=192.168.10.20)
$ curl -X POST -d '{"destination":"10.0.255.0/24","gateway":"192.168.10.20"}'
http://localhost:8080/router/0000000000000001/10
- route can not be registered, if gateway's address is not registered as
'address data'
4. check of the registered address data and routing data.
$ curl http://localhost:8080/router/0000000000000001/10
5. you can send packets from host(172.16.10.0/24) to gateway
router(192.168.10.20),
and send to host(10.0.255.0/24) if gateway router is set up correctly.
(packet needs to contain vlan-tag=10)
--------------------------------------------
Please refer to rest_router.py comments, for other RESTcommand interfaces.
---
ryu/app/rest_router.py | 1792 ++++++++++++++++++++++++++++++++++++++++++++++++
ryu/lib/packet/icmp.py | 117 +++-
2 files changed, 1903 insertions(+), 6 deletions(-)
create mode 100644 ryu/app/rest_router.py
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel