Dear All It is done after I used the following statement when I run mininet --switch ovsk, datapath='user'
the mininet fire command will be is sudo mn --custom ~/xxxxx.py --topo mytopos --switch ovsk, datapath='user' --controller=remote ....... Best regards, Eng Amer Alghadhban COE SANS-GCFW CEH, SCNP, CCNA From: amer7...@hotmail.com To: murphy.mccau...@gmail.com Date: Mon, 9 Nov 2015 14:05:58 +0000 CC: pox-dev@lists.noxrepo.org Subject: Re: [pox-dev] MPLS match and labels popping Dear Murphy Thank you for your advises Which version of OvS you suggest to use for MPLS. Best regards, Eng Amer Alghadhban COE SANS-GCFW CEH, SCNP, CCNA Subject: Re: MPLS match and labels popping From: murphy.mccau...@gmail.com Date: Sun, 8 Nov 2015 13:07:59 -0800 CC: pox-dev@lists.noxrepo.org To: amer7...@hotmail.com On Nov 8, 2015, at 8:04 AM, AMER <amer7...@hotmail.com> wrote: Dear All I would like to ask you about the following match commands and actions msg1 = nx.nx_flow_mod() msg1.match = nx.nx_match() msg1.match.eth_type = pkt.ethernet.MPLS_TYPE msg1.match.mpls_label = 50# host 1 10.0.0.1 msg1.actions.append(of.ofp_action_output(port = 1)) The above matches didn't work I'd suggest trying to narrow down why it doesn't work. If you remove the label match, do all MPLS packets go out port 1? Have you used Wireshark or something to confirm that there are packets that you think should match with label 50? It's also possible that some MPLS stuff just plain doesn't work with current/almost-current OVS, I suppose. It was added to POX when MPLS support was pretty experimental... when I tested it in mininet 2.2.1, OvS 2.3.2 , POX is "POX 0.2.0 (carp)" Carp is pretty old. I have no memory of whether there are known problems with it. The push command is: msg = nx.nx_flow_mod() msg.match.of_eth_src = "00:00:00:00:00:04" msg.actions.append(nx.nx_action_push_mpls()) msg.actions.append(nx.nx_reg_load(dst=nx.OXM_OF_MPLS_LABEL, value=50)) msg.actions.append(of.ofp_action_output(port = 2)) core.openflow.sendToDPID(event.dpid, msg) Also, when I tried to use pop command as the following I received the down error msg1 = nx.nx_flow_mod() msg1.match = nx.nx_match() msg1.match.eth_type = pkt.ethernet.MPLS_TYPE msg1.match.mpls_label = 50# host 1 10.0.0.1 msg1.actions.append(nx.nx_action_pop_mpls()) ######<-- POP msg1.actions.append(of.ofp_action_output(port = 1)) The error is: POX 0.2.0 (carp) / Copyright 2011-2013 James McCauley, et al. INFO:forwarding.l2_mid:Simple NX switch running. INFO:core:POX 0.2.0 (carp) is up. INFO:openflow.of_01:[00-00-00-00-00-02 1] connected INFO:forwarding.l2_mid:2 switches in path INFO:openflow.of_01:[00-00-00-00-00-01 2] connected INFO:forwarding.l2_mid:1 switches in path ERROR:core:Exception while handling OpenFlowNexus!ConnectionUp... Traceback (most recent call last): File "/home/alghada/pox/pox/lib/revent/revent.py", line 231, in raiseEventNoErrors return self.raiseEvent(event, *args, **kw) File "/home/alghada/pox/pox/lib/revent/revent.py", line 278, in raiseEvent rv = event._invoke(handler, *args, **kw) File "/home/alghada/pox/pox/lib/revent/revent.py", line 156, in _invoke return handler(self, *args, **kw) File "/home/alghada/pox/pox/forwarding/l2_mid.py", line 110, in _handle_ConnectionUp core.openflow.sendToDPID(event.dpid, msg1) File "/home/alghada/pox/pox/openflow/__init__.py", line 353, in sendToDPID self._connections[dpid].send(data) File "/home/alghada/pox/pox/openflow/of_01.py", line 692, in send data = data.pack() File "/home/alghada/pox/pox/openflow/nicira.py", line 387, in pack packed += i.pack() File "/home/alghada/pox/pox/openflow/libopenflow_01.py", line 2036, in pack body = self._pack_body() File "/home/alghada/pox/pox/openflow/nicira.py", line 815, in _pack_body p = struct.pack('!HHI', self.subtype, self.ethertype, 0) # 4 bytes pad error: cannot convert argument to integer This one is very easy. pop requires the new Ethertype to be given. nx_action_pop_mpls(ethertype=0x0800) or something like that will be more likely to work (if the packet was IP). Any help is appreciated Best regards, Eng Amer Alghadhban COE SANS-GCFW CEH, SCNP, CCNA