faucetsdn/faucet

Brocade ICX 6610 Switch

ashubs opened this issue · 1 comments

Hello,

I recently acquired some older Brocade ICX 6610 switches that support OpenFlow 1.3. It turns out that the Brocade firmware is missing some OpenFlow messages:
image
image

I created a very simple configuration for the switch. The switch connects to the controller but the configuration doesn't seem to work.

vlans:
workstations:
vid: 100
description: "Workstations Network"
dmz:
vid: 200
description: "DMZ Network"
servers:
vid: 300
description: "Servers Network"
guest:
vid: 600
description: "Guest Network"

dps:
Brocade-West:
dp_id: 0xCC4E243F0F220000
hardware: "Open vSwitch"
interfaces:
1:
name: "Firewall"
description: "pfSense Firewall"
native_vlan: workstations
acls_in: [allow-all]
47:
name: "Port 47"
description: "Port 47"
native_vlan: workstations
acls_in: [allow-all]

acls:
allow-all:
- rule:
actions:
allow: True

I think the missing messages are causing the switch and the controller to log the following errors:

Oct 08 15:38:32 faucet.valve INFO DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West status change: Port 47 up status True reason MODIFY state 0
Oct 08 15:38:32 faucet.valve INFO DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West Port 47 (Utility Workstation 1) up
Oct 08 15:38:32 faucet.valve INFO DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West Configuring VLAN workstations vid:100 untagged: Port 1,Port 47

Oct 08 15:38:32 faucet.valve ERROR DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West OFError type: OFPET_BAD_INSTRUCTION code: OFPBIC_UNKNOWN_INST version=0x4,msg_type=0x1,msg_len=0xc,xid=0x254050eb,OFPErrorMsg(code=0,data=bytearray(b''),type=3) caused by version=0x4,msg_type=0xe,msg_len=0x60,xid=0x254050eb,OFPFlowMod(buffer_id=4294967295,command=0,cookie=1524372928,cookie_mask=0,flags=0,hard_timeout=0,idle_timeout=0,instructions=(OFPInstructionActions(actions=(OFPActionOutput(len=16,max_len=96,port=4294967293,type=0),),len=24,type=4), OFPInstructionGotoTable(len=8,table_id=3,type=1)),match=OFPMatch(oxm_fields={'vlan_vid': 4196}),out_group=0,out_port=0,priority=4096,table_id=2)

Oct 08 15:38:32 faucet.valve ERROR DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West OFError type: OFPET_BAD_INSTRUCTION code: OFPBIC_UNKNOWN_INST version=0x4,msg_type=0x1,msg_len=0xc,xid=0x254053b2,OFPErrorMsg(code=0,data=bytearray(b''),type=3) caused by version=0x4,msg_type=0xe,msg_len=0x70,xid=0x254053b2,OFPFlowMod(buffer_id=4294967295,command=0,cookie=1524372928,cookie_mask=0,flags=0,hard_timeout=0,idle_timeout=0,instructions=(OFPInstructionActions(actions=(OFPActionPushVlan(ethertype=33024,len=8,type=17), OFPActionSetField(vlan_vid=4196)),len=32,type=4), OFPInstructionGotoTable(len=8,table_id=2,type=1)),match=OFPMatch(oxm_fields={'in_port': 47, 'vlan_vid': 0}),out_group=0,out_port=0,priority=4096,table_id=1)

Oct 08 15:38:32 faucet.valve ERROR DPID 14721744085176156160 (0xcc4e243f0f220000) Brocade-West OFError type: OFPET_BAD_INSTRUCTION code: OFPBIC_UNKNOWN_INST version=0x4,msg_type=0x1,msg_len=0xc,xid=0x254053b3,OFPErrorMsg(code=0,data=bytearray(b''),type=3) caused by version=0x4,msg_type=0xe,msg_len=0x48,xid=0x254053b3,OFPFlowMod(buffer_id=4294967295,command=0,cookie=1524372928,cookie_mask=0,flags=0,hard_timeout=0,idle_timeout=0,instructions=(OFPInstructionGotoTable(len=8,table_id=1,type=1),),match=OFPMatch(oxm_fields={'in_port': 47}),out_group=0,out_port=0,priority=20480,table_id=0)

From the switch:

14d:10h:43m:28s debugging (throttling further msgs)FLOW MOD ERROR: Ctrl. Transaction id: 2108890728 (7db31e68) Status: ERROR: Reason: flow instructions not supported 1
14d:10h:43m:28s debugging FLOW MOD ERROR: Ctrl. Transaction id: 2108890726 (7db31e66) Status: ERROR: Reason: DL SRC mac address is Broadcast mac
14d:10h:43m:28s debugging FLOW MOD ERROR: Ctrl. Transaction id: 2108890724 (7db31e64) Status: ERROR: Reason: flow instructions not supported 1
14d:10h:43m:28s debugging FLOW MOD ERROR: Ctrl. Transaction id: 2108890723 (7db31e63) Status: ERROR: Reason: Received priority value is not supported!

Is there anything I can do to make the switch and the controller work?

Hi @ashubs,

I have a memory of trying faucet against brocade's openflow implementation back in 2018, and at that time they didn't support enough of the openflow spec to enable faucet to program the switch.

Based on your error messages I believe this is still the case, the switch lacks support for the openflow message types faucet uses, the only way to rectify this is to get a new firmware for your switch with improved openflow support.