Hi,
Yes, you are right.
In my case, messages between switches and controller are:

Switch: OFPT_HELLLO ---> Controller
Controller: OFPT_HELLO ---> Switch
Controller: OFPT_FEATURES_REQUEST ---> Switch
Switch: OFPT_FEATURES_REPLY ---> Controller
This message includes a field capabilities where all is set to true except from 
OFPC_IP_REASM
Controller: OFPT_MULTIPART_REQUEST, OFPMP_PORT_DESC ---> Switch
Switch: OFPT_MULTIPART_REPLY, OFPMP_PORT_DESC ---> Controller
This message includes port information (MAC address, name, state, advertised, 
...)
Controller: OFPT_FLOW_MOD ---> Switch
This message sets a flow entry which matches the controller's MAC and ethertype 
LLDP

Then some OFPT_ECHO_REQUEST and OFPT_ECHO_REPLY follow.
TCP ACKs are sent/received too.
Sometimes packets like these are sent:

Controller: OFPT_MULTIPART_REQUEST, OFPMP_FLOW ---> Switch
Switch: OFPT_MULTIPART_REPLY, OFPMP_FLOW ---> Controller
This message includes all the switch statistics and flow entries

Thanks


> Il giorno mer 26 set 2018 alle ore 07:39 IWAMOTO Toshihiro 
> <iwam...@valinux.co.jp> ha scritto:
> On Mon, 24 Sep 2018 17:16:27 +0900,
> Lorenzo Mignone wrote:
> > 
> > Hi, I am trying to use Ryu REST applications (ofctl_rest and rest_topology)
> > in my exam project.
> > I am not using mininet but an alternative called Kathara that was developed
> > at my university and it is based on docker.
> > 
> > Whenever I use rest_topolgy /v1.0/topology/links and /v1.0/topology/hosts
> > endpoints I get back an empty array as answer.
> > Any other request does work (/stats/switches, /stats/desc/<dpid>,
> >  /v1.0/topology/switches, ...).
> > So, I suppose the problem is thath the controller does not manage to get
> > links between switches.
> > 
> > I edited ryu/topology/event.py to print switches and links when
> > EventSwitchBase and EventLinkBase are called and then I run this command:
> > *ryu-manager --observe-links --install-lldp-flow
> > <path-to-ryu>/app/rest_topology.py <path-to-ryu>/app/ofctl_rest.py*
> > 
> > The lines I added to print switches and links produced these lines only:
> > 
> > 
> > *Switch<dpid=196548594862159, Port<dpid=196548594862159, port_no=1, DOWN>
> > Port<dpid=196548594862159, port_no=2, DOWN> Port<dpid=196548594862159,
> > port_no=3, DOWN> >Switch<dpid=217841702508866, Port<dpid=217841702508866,
> > port_no=1, DOWN> Port<dpid=217841702508866, port_no=2, DOWN>
> > >Switch<dpid=56026200183617, Port<dpid=56026200183617, port_no=1, DOWN>
> > Port<dpid=56026200183617, port_no=2, DOWN> Port<dpid=56026200183617,
> > port_no=3, DOWN> >*
> > 
> > This information is right but links have not ben printed, so I run the same
> > command with the original event.py file and the *--verbose *option and I
> > got this:
> > 
> 
> I guess LLDP packets are not generated or delivered for some reason.
> Could you confirm that?
> 
> --
> IWAMOTO Toshihiro

_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to