0
votes

Am learning SDN and about openflow protocol. I did an experiment with ryu controller. I was able to install the flows.

Am trying the same with faucet controller. Am receiving errors saying UNSUPPORTED INST & BAD_MATCH. Please let me know, if the contents in yaml file is correct. Also, any help on how to decode the message on the controller side will be helpful.

Copy pasting faucet.yaml file and error received.

File :faucet.yaml

version: 2 dp_id: 0x000088e0f31c5b00 vlans: 100: name: "avlan" acls: 101: - rule: actions: allow: 1 mirror: 11

dps: jnpr-fx-1: dp_id: 0x000088e0f31c5b00 interfaces: 1: name: "b1" acl_in: 101 native_vlan: 100

Error on the controller side:

EventOFPErrorMsg received. version=0x4, msg_type=0x1, msg_len=0x54, xid=0x4da96172 -- msg_type: OFPT_ERROR(1) OFPErrorMsg(type=0x3, code=0x1, data=b'\x04\x0e\x00\x60\x4d\xa9\x61\x72\x00\x00\x00\x00\x5a\xdc\x15\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x8b\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x0c\x80\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x04\x00\x18\x00\x00\x00\x00') |-- type: OFPET_BAD_INSTRUCTION(3) |-- code: OFPBIC_UNSUP_INST(1) -- data: version=0x4, msg_type=0xe, msg_len=0x60, xid=0x4da96172 -- msg_type: OFPT_FLOW_MOD(14) EVENT ofp_event->Faucet EventOFPErrorMsg EventOFPErrorMsg received. version=0x4, msg_type=0x1, msg_len=0x54, xid=0x4da96178 -- msg_type: OFPT_ERROR(1) OFPErrorMsg(type=0x4, code=0x0, data=b'\x04\x0e\x00\x70\x4d\xa9\x61\x78\x00\x00\x00\x00\x5a\xdc\x15\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x23\x28\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x12\x80\x00\x00\x04\x00\x00\x00\x01\x80\x00\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00') |-- type: OFPET_BAD_MATCH(4) |-- code: OFPBMC_BAD_TYPE(0) -- data: version=0x4, msg_type=0xe, msg_len=0x70, xid=0x4da96178 -- msg_type: OFPT_FLOW_MOD(14)

Thanks, subhav.

1

1 Answers

0
votes

well the error was due to Goto_table instruction not handled in the code repository. It returns as BAD_INST to the controller.