<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu in Software Defined Networking</title>
    <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6988434#M2243</link>
    <description>&lt;P&gt;Hi soginy,&lt;/P&gt;&lt;P&gt;Nothing obvious jumps out to me as the cause of the issue. It looks like the flow being pushed just matches some fields then steals all traffic to the controller, with no other actions. I'm not sure why that wouldn't be supported.&lt;/P&gt;&lt;P&gt;I don't see the table ID specified in the RYU code, but you should ensure that the flow is either being pushed to table 100 (hardware) or 200 (software). We have a table 0 for spec compliance, but it does not accept any flows from the controller, unless you&amp;nbsp;renumber the tables in the switch configuration.&lt;/P&gt;&lt;P&gt;I forgot to mention that in 16.03 and 16.04 firmware we've greatly enhanced the OpenFlow debug output. Based on what I'm seeing below, it looks like you're running an older version of firmware before we added those enhancements, so the debug information provided is less complete. Would you be able to upgrade the firmware to the latest released version and then try these steps again? Once you do, it should give a reason that explains which instruction is not supported.&lt;/P&gt;&lt;P&gt;Shaun&lt;/P&gt;</description>
    <pubDate>Tue, 14 Nov 2017 15:01:32 GMT</pubDate>
    <dc:creator>ShaunWackerly</dc:creator>
    <dc:date>2017-11-14T15:01:32Z</dc:date>
    <item>
      <title>bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu</title>
      <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987592#M2230</link>
      <description>&lt;P&gt;i get this error when i try to&amp;nbsp;use&amp;nbsp;ryu&amp;nbsp;with switch runing&amp;nbsp;openflow 1.3.&amp;nbsp; when i use openflow&amp;nbsp;1.0 it works fine. Error message below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;EventOFPErrorMsg received.&lt;BR /&gt;version=0x4, msg_type=0x1, msg_len=0x4c, xid=0x5022057a&lt;BR /&gt;`-- msg_type: OFPT_ERROR(1)&lt;BR /&gt;OFPErrorMsg(type=0x3, code=0x1, data=b'\x04\x0e\x00\x50\x50\x22\x05\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x00\x00\x04\x00\x18\x00\x00\x00\x00')&lt;BR /&gt;|-- type: OFPET_BAD_INSTRUCTION(3)&lt;BR /&gt;|-- code: OFPBIC_UNSUP_INST(1)&lt;BR /&gt;`-- data: version=0x4, msg_type=0xe, msg_len=0x50, xid=0x5022057a&lt;BR /&gt;`-- msg_type: OFPT_FLOW_MOD(14)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 16:08:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987592#M2230</guid>
      <dc:creator>soginy</dc:creator>
      <dc:date>2017-11-06T16:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu</title>
      <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987594#M2231</link>
      <description>&lt;P&gt;just to add more information.&amp;nbsp; &amp;nbsp;i am using the simple_switch_13.py ryu app&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 16:12:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987594#M2231</guid>
      <dc:creator>soginy</dc:creator>
      <dc:date>2017-11-06T16:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu</title>
      <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987733#M2235</link>
      <description>&lt;P&gt;Hi soginy,&lt;/P&gt;&lt;P&gt;It looks like the RYU app is attempting to use an instruction which is not valid for the 3810. Could you please let us know whether you're using the "pipeline standard" or "pipeline custom" setting on the 3810? You could also just copy the output of "display this" when you're in the OpenFlow context.&lt;/P&gt;&lt;P&gt;Additionally, I'd recommend that you use the following two commands on the switch to enable OpenFlow debug output. This will display detailed information about each flowmod, including the specific instruction which is being used, but is not supported:&lt;/P&gt;&lt;PRE&gt;debug destination session
debug openflow&lt;/PRE&gt;&lt;P&gt;Once you've gotten the output for the failure, you can turn off debug with "no debug all".&lt;/P&gt;&lt;P&gt;Shaun&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2017 19:15:51 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6987733#M2235</guid>
      <dc:creator>ShaunWackerly</dc:creator>
      <dc:date>2017-11-07T19:15:51Z</dc:date>
    </item>
    <item>
      <title>Re: bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu</title>
      <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6988100#M2240</link>
      <description>&lt;P&gt;Thanks for the reply this is the output from the debug.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;0000:05:41:39.69 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 : OFPT_HELLO&lt;BR /&gt;(OF 0x04) (xid=0x7):&lt;/P&gt;&lt;P&gt;0000:05:41:39.80 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0: OFPT_HELLO&lt;BR /&gt;(OF 0x04) (xid=0x59d25b4c):&lt;/P&gt;&lt;P&gt;0000:05:41:39.92 OPFL eOFNetTask:aggregate&amp;lt;-&amp;gt;tcp:192.168.1.253:6633:0 connected&lt;BR /&gt;0000:05:41:40.00 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0:&lt;BR /&gt;OFPT_FEATURES_REQUEST (OF 0x04) (xid=0x59d25b4d):&lt;/P&gt;&lt;P&gt;0000:05:41:40.13 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 :&lt;BR /&gt;OFPT_FEATURES_REPLY (OF 0x04) (xid=0x59d25b4d):&lt;BR /&gt;dpid:000170106f91ab80&lt;BR /&gt;n_tables:3, n_buffers:0&lt;BR /&gt;capabilities: FLOW_STATS&lt;BR /&gt;TABLE_STATS PORT_STATS PORT_BLOCKED&lt;BR /&gt;actions:&lt;BR /&gt;0000:05:41:40.39 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0:&lt;BR /&gt;OFPT_STATS_REQUEST (OF 0x04) (xid=0x59d25b4e):&lt;/P&gt;&lt;P&gt;0000:05:41:40.52 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 :&lt;BR /&gt;OFPT_STATS_REPLY (OF 0x04) (xid=0x59d25b4e):&lt;/P&gt;&lt;P&gt;0000:05:41:40.64 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0:&lt;BR /&gt;OFPT_FLOW_MOD (OF 0x04) (xid=0x59d25b4f):&lt;/P&gt;&lt;P&gt;0000:05:41:40.76 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0: ***decode&lt;BR /&gt;error: OFPBIC_UNSUP_INST***&lt;BR /&gt;ADD priority=0 buf:0x0 insts=[drop]&lt;BR /&gt;0000:05:41:40.92 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 : OFPT_ERROR&lt;BR /&gt;(OF 0x04) (xid=0x59d25b4f): OFPBIC_UNSUP_INST&lt;BR /&gt;(***truncated to 64 bytes from&lt;BR /&gt;80***)&lt;BR /&gt;00000000 04 0e 00 50 59 d2 5b 4f-00 00 00 00 00 00 00 00&lt;BR /&gt;|...PY.[O.&lt;BR /&gt;0000:05:41:41.18 OPFL eOFNetTask:Instance aggregate: Exiting fail secure mode.&lt;BR /&gt;0000:05:41:49.68 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 :&lt;BR /&gt;OFPT_ECHO_REQUEST (OF 0x04) (xid=0x0): 0 bytes of payload&lt;/P&gt;&lt;P&gt;0000:05:41:49.82 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0:&lt;BR /&gt;OFPT_ECHO_REPLY (OF 0x04) (xid=0x0): 0 bytes of payload&lt;/P&gt;&lt;P&gt;0000:05:41:59.69 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 :&lt;BR /&gt;OFPT_ECHO_REQUEST (OF 0x04) (xid=0x0): 0 bytes of payload&lt;/P&gt;&lt;P&gt;0000:05:41:59.82 OPFL eOFNetTask:RX from tcp:192.168.1.253:6633: 0:&lt;BR /&gt;OFPT_ECHO_REPLY (OF 0x04) (xid=0x0): 0 bytes of payload&lt;/P&gt;&lt;P&gt;0000:05:42:09.69 OPFL eOFNetTask:TX to tcp:192.168.1.253:6633: 0 :&lt;BR /&gt;OFPT_ECHO_REQUEST (OF 0x04) (xid=0x0): 0 bytes of payload&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is part of&amp;nbsp; the ryu&amp;nbsp;simple_switch_13.py code i cannot see what the problem with the instruction is&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;class SimpleSwitch13(app_manager.RyuApp):&lt;BR /&gt;OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]&lt;/P&gt;&lt;P&gt;def __init__(self, *args, **kwargs):&lt;BR /&gt;super(SimpleSwitch13, self).__init__(*args, **kwargs)&lt;BR /&gt;self.mac_to_port = {}&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.hpe.com/t5/user/viewprofilepage/user-id/377467"&gt;@SET&lt;/a&gt;_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)&lt;BR /&gt;def switch_features_handler(self, ev):&lt;BR /&gt;datapath = ev.msg.datapath&lt;BR /&gt;ofproto = datapath.ofproto&lt;BR /&gt;parser = datapath.ofproto_parser&lt;/P&gt;&lt;P&gt;# install table-miss flow entry&lt;BR /&gt;#&lt;BR /&gt;# We specify NO BUFFER to max_len of the output action due to&lt;BR /&gt;# OVS bug. At this moment, if we specify a lesser number, e.g.,&lt;BR /&gt;# 128, OVS will send Packet-In with invalid buffer_id and&lt;BR /&gt;# truncated packet data. In that case, we cannot output packets&lt;BR /&gt;# correctly. The bug has been fixed in OVS v2.1.0.&lt;BR /&gt;match = parser.OFPMatch()&lt;BR /&gt;actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER,&lt;BR /&gt;ofproto.OFPCML_NO_BUFFER)]&lt;BR /&gt;self.add_flow(datapath, 0, match, actions)&lt;/P&gt;&lt;P&gt;def add_flow(self, datapath, priority, match, actions, buffer_id=None):&lt;BR /&gt;ofproto = datapath.ofproto&lt;BR /&gt;parser = datapath.ofproto_parser&lt;/P&gt;&lt;P&gt;inst = [parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS,&lt;BR /&gt;actions)]&lt;BR /&gt;if buffer_id:&lt;BR /&gt;mod = parser.OFPFlowMod(datapath=datapath, buffer_id=buffer_id,&lt;BR /&gt;priority=priority, match=match,&lt;BR /&gt;instructions=inst)&lt;BR /&gt;else:&lt;BR /&gt;mod = parser.OFPFlowMod(datapath=datapath, priority=priority,&lt;BR /&gt;match=match, instructions=inst)&lt;BR /&gt;datapath.send_msg(mod)&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2017 16:45:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6988100#M2240</guid>
      <dc:creator>soginy</dc:creator>
      <dc:date>2017-11-10T16:45:31Z</dc:date>
    </item>
    <item>
      <title>Re: bad instruction error when using aruba 3810 switching with openflow 1.3 on Ryu</title>
      <link>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6988434#M2243</link>
      <description>&lt;P&gt;Hi soginy,&lt;/P&gt;&lt;P&gt;Nothing obvious jumps out to me as the cause of the issue. It looks like the flow being pushed just matches some fields then steals all traffic to the controller, with no other actions. I'm not sure why that wouldn't be supported.&lt;/P&gt;&lt;P&gt;I don't see the table ID specified in the RYU code, but you should ensure that the flow is either being pushed to table 100 (hardware) or 200 (software). We have a table 0 for spec compliance, but it does not accept any flows from the controller, unless you&amp;nbsp;renumber the tables in the switch configuration.&lt;/P&gt;&lt;P&gt;I forgot to mention that in 16.03 and 16.04 firmware we've greatly enhanced the OpenFlow debug output. Based on what I'm seeing below, it looks like you're running an older version of firmware before we added those enhancements, so the debug information provided is less complete. Would you be able to upgrade the firmware to the latest released version and then try these steps again? Once you do, it should give a reason that explains which instruction is not supported.&lt;/P&gt;&lt;P&gt;Shaun&lt;/P&gt;</description>
      <pubDate>Tue, 14 Nov 2017 15:01:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/software-defined-networking/bad-instruction-error-when-using-aruba-3810-switching-with/m-p/6988434#M2243</guid>
      <dc:creator>ShaunWackerly</dc:creator>
      <dc:date>2017-11-14T15:01:32Z</dc:date>
    </item>
  </channel>
</rss>

