On Tue, 19 Aug 2014 23:01:24 +0200
Sujit Pandey <[email protected]> wrote:
> Hi
> I am trying to put mpls flows in the some topology where shortest path is
> selected. for selecting the path I am using the networkx and output be the
> list.
>
> LOG = logging.getLogger(__name__)
>
>
> class SwitchEventHandler(app_manager.RyuApp):
> OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
> _CONTEXTS={ 'dpset': dpset.DPSet,}
> list={'00:00:00:00:00:01':1,'00:00:00:00:00:02':2,'00:00:00:00:00:03':3}
> def __init__(self, *args, **kwargs):
> super(SwitchEventHandler, self).__init__(*args, **kwargs)
> self.mac_to_port = {}
> self.dpset = kwargs['dpset']
> self.link_list = []
> self.s=[]
> @set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
> def switch_features_handler(self, ev):
> datapath = ev.msg.datapath
> ofproto = datapath.ofproto
> parser = datapath.ofproto_parser
> match = parser.OFPMatch()
> actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER,
> ofproto.OFPCML_NO_BUFFER)]
> self.add_flow(datapath, 0, match, actions)
>
> def add_flow(self, datapath, priority, match, actions):
> ofproto = datapath.ofproto
> parser = datapath.ofproto_parser
> inst = [parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS,
> actions)]
>
> mod = parser.OFPFlowMod(datapath=datapath, priority=priority,
> match=match, instructions=inst)
> datapath.send_msg(mod)
> @set_ev_cls(ofp_event.EventOFPErrorMsg, [HANDSHAKE_DISPATCHER,
> CONFIG_DISPA$
> def error_msg_handler(self, ev):
> msg = ev.msg
> self.logger.debug('OFPErrorMsg received: type=0x%02x code=0x%02x
> ''mess$
>
> @handler.set_ev_cls(event.EventLinkAdd)
> def link_add_handler(self, ev):
>
> self.s.append((ev.link.src.dpid,ev.link.src.port_no,ev.link.dst.dpid,ev))
> for i in self.s:
> self.link_list.append(i)
>
> here i can get the dpid and port no.
> but I am missing host connecting port. how do I get this?
I think that you need to get packets from a host via PacketIn.
> second the shortest path will be like x=[1,2,5].
> then how to get the associate port_no.?
> again I have to split the path for adding seperate flows like
> (in_port,1,out_port that is connected to 2),(in_port connected to
> 1,2,out_port connected to 5) and so on for adding flows.
> how can i break and retrieve information?
>
> thank you
>
>
>
>
>
>
> --
> Best regards
>
> Sujit Pandey
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel