mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-08 13:56:09 +02:00
add router Ryu application
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.
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
66b0c290be
commit
7099838c3f
1831
ryu/app/rest_router.py
Normal file
1831
ryu/app/rest_router.py
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user