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