Hi Srijan,
> You mentioned that rfproxy is already implemented using 1.2 in the above
> repo and is fundamentally same as 1.3. Doesn't the first project "Applying
> OF 1.3 to IP routing" require same thing? Is it only related to applying new
> features like IPv6, etc and merging the repo having MPLS implementation?
That is right. The basic 1.3 support should be there in the Ryu-based
1.3 RFProxy implementation. However there are a number of features on
the RouteFlow side that need to be worked out to make use of the OF
1.3 features. For instance:
- Implementing matching on L2, L3, and ACL/firewall rules as separate
tables in the OpenFlow pipeline. (see related issues at github
including the vanderwercken efforts:
https://github.com/CPqD/RouteFlow/pull/40)
- Implementing the current next hop forwarding as group table entries.
- Adding support to read and install IPv6 and MPLS entries.
> Also you mentioned that multiple controller have been used for distributed
> control. Is it a part of the github repo? Can you please provide a brief
> description about its architecture and working? I basically have doubt how
> multiple controller instances communicate with the openflow switches (which
> controller is responsible for it from the many controllers, it seems to be a
> point to be covered in the master/slave architecture or some other mechanism
> is being used currently)?
Allan may be able to give you the latest pointers. Currently the
multiple controller support is not per switch, that is, one switch is
always connected on OF controller running RFProxy. HOwever, we added
support to have multiple RFProxy controllers each controlling a
separate set of OF switches. I think the code is up in the latest
version but not fully documented and enabled by default.
The high availability GSOC idea should work on master/slave support,
that is having two OF controllers + RFProxy associated to each OF
switch. The project should implement the mechanisms to manage the role
(Master/Slave/Equal) of each controller, including detecting failures.
Since Master/Slave was introduced in OF 1.2, the project should run on
this protocolo version or above, preferably using OF 1.3. Therefore,
one could envision some of these activities being covered in the 1.3
Support project, but we did not want to overload the project scope for
the given time frame. Getting high availability right may be a
consuming task depending on the number and type of failures to be
support and at what performance level.
Thanks for your interest,
Christian