bisdn / xdpd

OpenFlow switch (multi-platform) - The OpenFlow eXtensible DataPath daemon,an SDN datapath framework written in C/C++
http://www.xdpd.org
Other
59 stars 72 forks source link

FLOW-MOD-TABLE-FULL #76

Closed DFritzsche closed 9 years ago

DFritzsche commented 9 years ago

Can we please have more detailed cofmsg_error messages than the standard FLOW-MOD-TABLE-FULL. (and the table I use is not full)

msune commented 9 years ago

OpenFlow does not capture all the possible issues that can occur in a SW datapath (e.g. out-of-memory conditions).

It should be first checked which is the root cause of the failure during insertion (out of memory? validation? any other issue?), and if there is a more appropriate error code use it. Please provide more info.

DFritzsche commented 9 years ago

The msg

`---Error msg received --- DPT:<cdpid 256 > <cofmsg version: 4 type: 1 length: 76 xid: 0xfdaa22ef >

0000: 04 0e 00 58 fd aa 22 ef 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 02 0001: ff ff ff ff ff ff ff fd ff ff ff ff 00 00 00 00 00 01 00 14 80 00 06 06 ff ff ff ff ff ff 80 00` is caused by ``` [rofl-pipeline] [flowmod-add(0x1d5b5110)] Starting operation at switch dp0(0x1d50cf70), table 60, with flags: [rofl-pipeline] Entry (0x1d5b5110), prior. 2, cookie 0x300000000000000, pkts.matched 0. Matches:{[ETH_DST:0xffffffffffff|0xffffffffffff], [ETH_TYPE:0x806], } [rofl-pipeline] Inst->> WRITE, [rofl-pipeline] WR.ACTIONs:, [rofl-pipeline] [flowmod-add(0x1d5b5110)] FAILED validation. Ignoring... [xdpd][of13][flow-mod-add] error inserting flow-mod on dpt:dp0 eFlowModTableFull 0000: 80 00 06 06 ff ff ff ff ff ff 0000: 80 00 0a 02 08 06 [rofl-pipeline] Packet[0x11fddd0] Processing PKT_OUT, action group: , [rofl-pipeline] Packet[0x11fddd0] {PORT_IN:4294967293, ETH_SRC:0xfa163edc4bc9, ETH_DST:0xffffffffffff, ETH_TYPE:0x88cc, } [rofl-pipeline] Packet[0x11fddd0] outputting to port num. 1 ```
msune commented 9 years ago

Failure occurs due to the group ID not existing, likely. Then the error message is incorrect and should be fixed with OFPET_BAD_ACTION or OFPET_BAD_INSTRUCTION

DFritzsche commented 9 years ago

Can confirm that the group ID does not exist.

The group is not created because of eGroupModChainingUnsupported. Then, when I refer t that group it throws FLOW-MOD-TABLE-FULL.

msune commented 9 years ago

Fixed merged