Views
RegrTestItemsTable
From OpenFlow Wiki
| Class | Phase | Item | OpenFlow message | C a s e | Feature | Existing Test | |||
|---|---|---|---|---|---|---|---|---|---|
| 1 | Establishment | Hello message exchange | OFPT_HELLO | 1 | "Switch initiates OFPT_HELLO, and then it receives OFPT_HELLO from Controller." | test_hello | |||
| 2 | "OFPT_HELLO has only ofp_header, but it can have body. Switch has to expect body, which has to be ignored." | ||||||||
| 3 | Each of them(Switch/Controller) performs version negotiation using information in OFPT_HELLO | test_hello | |||||||
| 4 | "Even if Switch (or Controller) behaves as older version, it doesn't mention it to the oppornent." | ||||||||
| 5 | "If Switch doesn't have version compatibility, it sends OFPT_ERROR to Controller and terminates connection. (See Error section)" | ||||||||
| 6 | "If Controller doesn't have version compatibility, Switch will receive OFPT_ERROR from Controller. Then...? (See Error section)" | ||||||||
| Feature check | OFPT_FEATURES_REQUEST | 1 | Switch sends back OFPT_FEATURES_REPLY when it receives OFPT_FEATURES_REQUEST. | ||||||
| OFPT_FEATURES_REPLY | 2 | Reply from Switch includes: | |||||||
| maximum packets buffered at once (n_buffers) | |||||||||
| number of tables (n_tables) | |||||||||
| Switch capabilities (capabilities) | |||||||||
| OFPC_FLOW_STATS | |||||||||
| OFPC_TABLE_STATS | |||||||||
| OFPC_PORT_STATS | |||||||||
| OFPC_STP | |||||||||
| OFPC_MULTI_PHY_TX | |||||||||
| OFPC_IP_REASM | |||||||||
| Supported actions by Switch (actions) | |||||||||
| OFPAT_OUTPUT | |||||||||
| OFPAT_SET_VLAN_VID | |||||||||
| OFPAT_SET_VLAN_PCP | |||||||||
| OFPAT_STRIP_VLAN | |||||||||
| OFPAT_SET_DL_SRC | |||||||||
| OFPAT_SET_DL_DST | |||||||||
| OFPAT_SET_NW_SRC | |||||||||
| OFPAT_SET_NW_DST | |||||||||
| OFPAT_SET_TP_SRC | |||||||||
| OFPAT_SET_TP_DST | |||||||||
| OFPAT_VENDOR | |||||||||
| Port definitions (for all OpenFlow ports) (struct ofp_phy_port port[x]) | |||||||||
| port_no | |||||||||
| hw_addr | |||||||||
| name | |||||||||
| config | |||||||||
| OFPPC_PORT_DOWN | |||||||||
| OFPPC_NO_STP | |||||||||
| OFPPC_NO_RECV | |||||||||
| OFPPC_NO_RECV_STP | |||||||||
| OFPPC_NO_FLOOD | |||||||||
| OFPPC_NO_FWD | |||||||||
| OFPPC_NO_PACKET_IN | |||||||||
| state | |||||||||
| OFPPS_LINK_DOWN | |||||||||
| OFPPS_STP_LISTEN | |||||||||
| OFPPS_STP_LEARN | |||||||||
| OFPPS_STP_FORWARD | |||||||||
| OFPPS_STP_BLOCK | |||||||||
| OFPPS_STP_MASK | |||||||||
| curr/advertised/supported/peer | |||||||||
| OFPPF_10MB_HD | |||||||||
| OFPPF_10MB_FD | |||||||||
| OFPPF_100MB_HD | |||||||||
| OFPPF_100MB_FD | |||||||||
| OFPPF_1GB_HD | |||||||||
| OFPPF_1GB_FD | |||||||||
| OFPPF_10GB_FD | |||||||||
| OFPPF_COPPER | |||||||||
| OFPPF_FIBER | |||||||||
| OFPPF_AUTONEG | |||||||||
| OFPPF_PAUSE | |||||||||
| OFPPF_PAUSE_ASYM | |||||||||
| 2 | Connectivity check | ECHO message exchange | OFPT_ECHO_REQUEST | 1 | Switch issues OFPT_ECHO_REQUEST (what's the trigger? when? frequency? Does Switch initiates it automatically? ... are not in the spec) | ||||
| OFPT_ECHO_REPLY | 2 | Switch sends OFPT_ECHO_REPLY when it receives OFPT_ECHO_REQUEST from Controller | |||||||
| 3 | Switch sends OFPT_ECHO_REPLY with the same body on REQUEST. | ||||||||
| 4 | Switch sends OFPT_ECHO_REPLY with no body when REQUEST doesn't contain any. | ||||||||
| 3 | Configuration | Switch configuration | OFPT_SET_CONFIG | 1 | Controller sets OFPC_SEND_FLOW_EXP when it wants Switch to initiate OFPT_FLOW_EXPIRED message. | ||||
| "Only when it is set, Switch issues OFPT_FLOW_EXPIRED message when the flow expires." | |||||||||
| flag | |||||||||
| OFPC_SEND_FLOW_EXP | |||||||||
| 2 | Controller sets the packet size to be sent from Switch with OFPT_PACKET_IN | test_switch_config | |||||||
| miss_send_len | test_miss_send_length | ||||||||
| 3 | Controller sets the Switch's behavior in case incoming IP packet is fragmented | ||||||||
| flag | |||||||||
| "OFPC_FRAG_NORMAL (See ""Flow setting"" section)" | |||||||||
| OFPC_FRAG_DROP | |||||||||
| OFPC_FRAG_REASM | |||||||||
| OFPC_FRAG_MASK (used as a mask for the above three options) | |||||||||
| OFPT_GET_CONFIG_REQUEST | 4 | Switch sends back OFPT_GET_CONFIG_REPLY when it receives OFPT_GET_CONFIG_REQUEST. | test_Switch_config | ||||||
| OFPT_GET_CONFIG_REPLY | 5 | Switch reflects the values which Controller sets with OFPT_SET_CONFIG message | test_Switch_config | ||||||
| Port configuration | OFPT_PORT_MOD | 1 | Switch changes the specified ports' characteristics as Controller commands in OFPT_PORT_MOD message. Switch issues no reply on receipt. | ||||||
| "Non-STP-support-switch must follow the setting below, when it performs OUTPUT action to OFPP_FLOOD port." | |||||||||
| OFPPC_PORT_DOWN | |||||||||
| OFPPC_NO_STP | |||||||||
| OFPPC_NO_RECV | |||||||||
| OFPPC_NO_RECV_STP | |||||||||
| OFPPC_NO_FLOOD | |||||||||
| OFPPC_NO_FWD | |||||||||
| OFPPC_NO_PACKET_IN | |||||||||
| 2 | Switch changes particular parts of the characteristics as specified with OFPT_PORT_MOD mask field. | ||||||||
| 4 | Statistics information | OFPT_STATS_REQUEST | 1 | Switch reports OFPT_STATS_REPLY when it receives OFPT_STATUS_REQUEST from the Controller. | "test_flow_stats, test_port_stats" | ||||
| OFPT_STATS_REPLY | 2 | Switch(datapath) reports the information specified by OFPT_STATUS_REQUEST's type field. | partially. | ||||||
| 3 | Following are the types requested by Controller: | ||||||||
| OFPST_DESC | |||||||||
| OFPST_FLOW | test_flow_stats | ||||||||
| OFPST_AGGREGATE | |||||||||
| OFPST_TABLE | |||||||||
| OFPST_PORT | test_port_stats | ||||||||
| OFPST_VENDOR | |||||||||
| When Type is OFPST_DESC: | |||||||||
| 4 | The OFPT_STATS_REQUEST has no Body. | ||||||||
| 5 | Switch replies the following information: | ||||||||
| Manufacturer (character) | |||||||||
| Hardware description (character) | |||||||||
| Software description (character) | |||||||||
| Serial number (character) | |||||||||
| When Type is OFPST_FLOW: | |||||||||
| 6 | The OFPT_STATS_REQUEST has ofp_flow_stats_request as Body. | test_flow_stats | |||||||
| 7 | Switch shows the information about the entry specified by Controller with ofp_match field. | test_flow_stats but only 1 pattern. | |||||||
| 8 | "If out_port is specified by Controller, Switch shows information only about the specified port" | ||||||||
| 9 | The Switch's reply includes: | test_flow_stats but not verified. | |||||||
| Time flow has been alive (duration) | |||||||||
| Priority of the entry (priority) | |||||||||
| idle_timeout | |||||||||
| hard_timeout | |||||||||
| packet_count | |||||||||
| byte_count | |||||||||
| actions (struct ofp_action_header) | |||||||||
| When Type is OFPST_AGGREGATE: | |||||||||
| 10 | The OFPT_STATS_REQUEST has ofp_aggregate_stats_request as Body. | ||||||||
| 11 | Switch shows the information about the entry specified by Controller with ofp_match field. | ||||||||
| 12 | "If out_port is specified by Controller, show information only about specified port" | ||||||||
| 13 | The Switch's reply includes: | ||||||||
| packet_count | |||||||||
| byte_count | |||||||||
| flow_count | |||||||||
| When Type is OFPST_TABLE: | |||||||||
| 14 | The OFPT_STATS_REQUEST has no Body. | ||||||||
| 15 | The Switch's reply includes: | ||||||||
| Name of the table (name) | |||||||||
| Wildcards supported by the table (wildcards) | |||||||||
| max number of entries (max_entries) | |||||||||
| number of active entries (active_count) | |||||||||
| number of packets looked up in the table (lookup_count) | |||||||||
| number of packets that hit the table (matched_count) | |||||||||
| When Type is OFPST_PORT: | |||||||||
| 16 | The OFPT_STATS_REQUEST has no Body. | test_port_stats | |||||||
| 17 | The Switch's reply includes: | test_port_stats but not verified or displayed | |||||||
| rx_packets | |||||||||
| tx_packets | |||||||||
| rx_bytes | |||||||||
| tx_bytes | |||||||||
| rx_dropped | |||||||||
| tx_dropped | |||||||||
| rx_errors | |||||||||
| tx_errors | |||||||||
| rx_frame_err | |||||||||
| rx_over_err | |||||||||
| rx_crc_err | |||||||||
| collisions | |||||||||
| 18 | "When Switch doesn't support particular fields, Switch sends back the fields with all '1's." | test_port_stats but not verified or displayed | |||||||
| When Type is OFPST_VENDOR: | |||||||||
| 19 | The OFPT_STATS_REQUEST has ofp_aggregate_stats_request as Body. | ||||||||
| 20 | The other parts are vendor-defined. | ||||||||
| 5 | Status change notification | OFPT_PORT_STATUS | 1 | "When a port is added, Switch Sends OFPT_PORT_STATUS with:" | |||||
| OFPPR_ADD | |||||||||
| port information (struct ofp_phy_port) | |||||||||
| 2 | "When a port is removed, Switch sends OFPT_PORT_STATUS with:" | ||||||||
| OFPPR_DELETE | |||||||||
| port information (struct ofp_phy_port) | |||||||||
| 3 | "When a port configuration is changed (LINK UP/DOWN?802.1D port state), Switch sends OFPT_PORT_STATUS with:" | ||||||||
| OFPPR_MODIFY | |||||||||
| port information (struct ofp_phy_port) | |||||||||
| 6 | Packet forwarding action | Action types | OFPT_PACKET_IN | 1 | Switch initiates OFPT_PACKET_IN when an incoming packet doesn't match any entries on any tables. | test_packet_in | |||
| Switch writes OFPR_NO_MATCH in the reason field of OFPT_PACKET_IN. | |||||||||
| 2 | Switch initiates OFPT_PACKET_IN when corresponding action for the flow-matched entry mentions to send it to Controller (OFPP_Controller). | test_XXX_Controller | |||||||
| Switch writes OFPR_ACTION in the reason field of OFPT_PACKET_IN. | |||||||||
| 3 | Switch includes Buffer ID in OFPT_PACKET_IN as follows: | ||||||||
| Buffer id (ID for the potion of the packet or 0xFFFF for entire packet) | no (buffer id is not checked) | ||||||||
| 4 | Switch can send fraction of packet (size of miss_send_len) + buffer ID | "test_miss_send_length (buffer is not checked, and proceeding action (packet_out) is not been made.)" | |||||||
| 5 | Switch can send entire packet + buffer ID of 0xffff. | test_packet_in | |||||||
| OFPT_PACKET_OUT | 6 | "Switch sends packet out to the port mentioned in OFPT_PACKET_OUT, which include all or fraction of data and buffer_id" | test_packet_out | ||||||
| 7 | "When buffer_id in OFPT_PACKET_OUT is 0xffff, Switch sends all the data contained in OFPT_PACKET_OUT" | test_packet_out | |||||||
| 8 | "When buffer_id in OFPT_PACKET_OUT is set, Switch sends internally-buffered data to the port (buffered when Switch sends OFPT_PACKET_IN to Controller with associated buffer_id.)" | ||||||||
| 7 | Flow setting | Flow table setting | OFPT_FLOW_MOD | 1 | "When Switch receives OFPT_FLOW_MOD, it parses the contents and set parameters accordingly." | many tests... | |||
| The parameters include: | |||||||||
| matching entry (struct ofp_match match) | |||||||||
| ADD/MODIFY/MODIFY_STRICT/DELETE/DELETE_STRICT (command) | |||||||||
| idle_timeout | |||||||||
| hard_timeout | |||||||||
| priority | |||||||||
| buffer_id | |||||||||
| outport for OFPFC_DELETE/DELETE_STRICT commands. OFPP_NONE or particular port number. (out_port) | |||||||||
| zero or more actions (struct ofp_action_header actions) | |||||||||
| When command is OFPFC_ADD: | |||||||||
| 2 | "In wildcard mode, when table already has matching entry and has the same priority, Switch rejects the new message and send back OVERLAP error message to the Controller." | ||||||||
| 3 | "When table is full, Switch sends back OFPT_ERROR - OFPET_FLOW_MOD_FAILED - OFPFMFC_ALL_TABLES_FULL to Controller. (See Error section)" | ||||||||
| When command is OFPFC_MODIFY: | |||||||||
| 4 | "If Switch doesn't have matching entry information yet, it adds the flow to the table." | ||||||||
| 5 | "If Switch already has matching entry information, it overwrites the action to the table." | ||||||||
| 6 | Switch doesn't clear the corresponding counters. | ||||||||
| 7 | "If out_port is specified by Controller, Switch modifies the action only when output port is also matched." | ||||||||
| When command is OFPFC_MODIFY_STRICT: | |||||||||
| 8 | Switch modifies action only when both entry and priority are matched | ||||||||
| 9 | Switch doesn't clear the corresponding counters. | ||||||||
| 10 | "If out_port is specified by Controller, modify the action only when output port is matched." | ||||||||
| 11 | matching entry (struct ofp_match match) | test_forward_exact_port/all/Controller | |||||||
| match fields include: | test_forward_exact_icmp_port/all/Controller/fool | ||||||||
| PHY PORT # (in_port) | |||||||||
| MAC SRC (dl_src) | |||||||||
| MAC DST (dl_dst) | |||||||||
| VLAN (dl_vlan) | |||||||||
| Ethernet frame type (dl_type) | |||||||||
| Network protocol (nw_proto) | |||||||||
| IP SRC (nw_src) | |||||||||
| IP DST (nw_dst) | |||||||||
| TP SRC (tp_src) | |||||||||
| TP_DST (tp_dst) | |||||||||
| ICMP TYPE (tp_src) | |||||||||
| ICMP CODE (tp_dst) | |||||||||
| 12 | tp_src and tp_dst must be zero if Controller wants Switch to match fragmented IP packets | ||||||||
| 13 | Switch assumes tp_src and tp_dst as ICMP_TYPE and ICMP_CODE when nw_proto is ICMP. | test_forward_exact_icmp_port/all/Controller/fool | |||||||
| Switch supports various Ethernet types | |||||||||
| 14 | Ethernet II | many tests... | |||||||
| 15 | SNAP | test_llc (but not performed as auto-run test) | |||||||
| dl_type=0x5FF is used for 802.3 matching | |||||||||
| 16 | "When IP packet is fragmented on the condition where OFPC_FRAG_NORMAL is set, the packet will be looked up. TP_SRC and TP_DSP must be zero in order to match (as described above)." | ||||||||
| match field also includes wildcards fields which consist of: | |||||||||
| 17 | PHY PORT # (in_port) | test_forward_wildcard_port/all/Controller | |||||||
| 18 | MAC SRC (dl_src) | test_forward_wildcard_port/all/Controller | |||||||
| 19 | MAC DST (dl_dst) | test_forward_wildcard_port/all/Controller | |||||||
| 20 | VLAN (dl_vlan) | ||||||||
| 21 | Ethernet frame type (dl_type) | ||||||||
| 22 | Network protocol (nw_proto) | ||||||||
| 23 | IP SRC (nw_src) with netmask support | "test_forward_wildcard_port/all/Controller, but netmask is not tested" | |||||||
| 24 | IP DST (nw_dst) with netmask support | "test_forward_wildcard_port/all/Controller, but netmask is not tested" | |||||||
| 25 | TP SRC (tp_src) | test_forward_wildcard_port/all/Controller | |||||||
| 26 | TP_DST (tp_dst) | test_forward_wildcard_port/all/Controller | |||||||
| 27 | ICMP TYPE (tp_src) | test_forward_exact_icmp_port/all/Controller/fool | |||||||
| 28 | ICMP CODE (tp_dst) | test_forward_exact_icmp_port/all/Controller/fool | |||||||
| 29 | everything (ALL) | test_forward_any_port (wildcard=0x3ff --> must be corrected to fff) | |||||||
| "When command is either OFPFC_ADD, OFPFC_MODIFY, OFPFC_MODIFY_STRICT:" | |||||||||
| action field includes: | |||||||||
| OFPAT_OUTPUT | |||||||||
| 30 | OFPP_ALL,"test_forward_exact_all, test_forward_wildcard_all, test_forward_exact_icmp_all, test_forward_wildcard_icmp_all," | ||||||||
| 31 | OFPP_Controller,"test_forward_exact_Controller, test_forward_wildcard_Controller, test_forward_exact_icmp_Controller, test_forward_wildcard_icmp_Controller" | ||||||||
| 32 | OFPP_LOCAL | ||||||||
| 33 | OFPP_TABLE -- Perform actions in flow table only for packet_out message | ||||||||
| 34 | OFPP_IN_PORT | ||||||||
| 35 | OFPP_NORMAL | ||||||||
| 36 | OFPP_FLOOD | ||||||||
| 37 | OFPP_NONE | ||||||||
| 38 | PORT (not exceeding OFPP_MAX),"test_forward_exact_port, test_forward_wildcard_port, test_forward_exact_icmp_port, test_forward_wildcard_icmp_port" | ||||||||
| 39 | OFPAT_SET_VLAN_VID | ||||||||
| "When VLAN ID already exists, Switch replaces it with new one." | |||||||||
| "When VLAN ID doesn't exist, Switch adds it with VLAN PCP 0x0" | |||||||||
| 40 | OFPAT_SET_VLAN_PCP | ||||||||
| "When VLAN PCP already exists, Switch replaces it with new one." | |||||||||
| "When VLAN PCP doesn't exist, add it with VLAN ID 0x0" | |||||||||
| 41 | OFPAT_STRIP_VLAN | ||||||||
| 42 | OFPAT_SET_DL_SRC | test_forward_modify_action | |||||||
| 43 | OFPAT_SET_DL_DST | test_forward_modify_action | |||||||
| 44 | OFPAT_SET_NW_SRC | ||||||||
| Switch recalculates IP checksum and UDP/TCP checksum if necessary,test_forward_modify_action | |||||||||
| 45 | OFPAT_SET_NW_DST | ||||||||
| Switch recalculates IP checksum and UDP/TCP checksum if necessary,test_forward_modify_action | |||||||||
| 46 | OFPAT_SET_TP_SRC | ||||||||
| Switch recalculates UDP/TCP checksum,test_forward_modify_action | |||||||||
| 47 | OFPAT_SET_TP_DST | ||||||||
| Switch recalculates UDP/TCP checksum,test_forward_modify_action | |||||||||
| 48 | OFPAT_VENDOR | ||||||||
| 49 | "When action field doesn't exist, Switch drops the matched packets (""drop"" action)." | test_drop_exact | |||||||
| 50 | "When multiple actions exist, Switch performs all of them. The order is not defined in the spec." | test_forward_modify_action | |||||||
| 51 | Using multiple actions Switch can send packet out to multiple/all ports. | ||||||||
| When command is OFPFC_DELETE | |||||||||
| 52 | Switch deletes the flow of matched entry. | test_delete | |||||||
| 53 | "If the entry doesn't exist, Switch doesn't do anything (it doesn't even send any error reports)." | ||||||||
| 54 | "If out_port is other than OFPP_NONE, Switch erases the entry only if output port is also matched." | ||||||||
| When command is OFPFC_DELETE_STRICT | |||||||||
| 55 | Switch deletes the flow when both entry and priority are matched. | test_delete_strict | |||||||
| 56 | "If the entry doesn't exist, Switch doesn't do anything (it doesn't even send any error reports)." | ||||||||
| 57 | "If out_port is other than OFPP_NONE, Switch erases the entry only if output port is also matched." | ||||||||
| 8 | flow_expiration | Notice when flow is expired | OFPT_FLOW_EXPIRED | 1 | Switch initiates OFPT_FLOW_EXPIRED message if OFPT_SET_CONFIG-OFPC_SEND_FLOW_EXP is set | "test_flow_expired, test_forward_after_expiration, and many other tests" | |||
| 2 | Switch doesn't initiate OFPT_FLOW_EXPIRED message if OFPT_SET_CONFIG-SEND_FLOW_EXP is not set | ||||||||
| 3 | Switch sends the following information in OFPT_FLOW_EXPIRED. | yes and checked | |||||||
| entry | |||||||||
| priority | |||||||||
| reason(HARD TIMEOUT or IDLE TIMEOUT) | |||||||||
| duration | |||||||||
| packet_cnt | |||||||||
| byte_cnt | |||||||||
| 4 | "The reason is either HARD_TIMEOUT or IDLE_TIMEOUT, depending on OFPT_FLOW_MOD and expiring situation." | ||||||||
| 5 | "If HARD_TIMEOUT is set, the flow must be expired after the specified time, even if Switch keeps receiving the matched packets." | ||||||||
| 9 | Error | Assert Error message when necessary | OFPT_ERROR | 1 | "When exchanging OFPT_HELLO, if Switch and Controller don't have OpenFlow version compatibility, the receiver of OFPT_HELLO sends error as follows:" | ||||
| OFPET_HELLO_FAILED | |||||||||
| OFPHFC_INCOMPATIBLE | |||||||||
| "On Controller/Switch message, if header or vendor information has problem and request is not understood, send error as follows:" | |||||||||
| OFPET_BAD_REQUEST | |||||||||
| 2 | OFPBRC_BAD_VERSION version not supported | ||||||||
| 3 | OFPBRC_BAD_TYPE type not supported | ||||||||
| 4 | OFPBRC_BAD_STAT ofp_stats_request type not supported | ||||||||
| 5 | "OFPBRC_BAD_VENDOR ofp_vendor, ofp_stats_request, ofp_stats_reply: vendor not supported" | ||||||||
| 6 | OFPBRC_BAD_SUBTYPE vendor subtype not supported | ||||||||
| Error about action description | |||||||||
| 7 | "When action description (of what messages???) is something wrong, Switch sends following ""type"" and ""code"" and at least the first 64 bytes of the failed request" | ||||||||
| OFPET_BAD_ACTION | |||||||||
| 8 | OFPBAC_BAD_TYPE unknown action type | ||||||||
| 9 | OFPBAC_BAD_LEN length problem | ||||||||
| 10 | OFPBAC_BAD_VENDOR unknown vendor id | ||||||||
| 11 | OFPBAC_BAD_VENDOR_TYPE unknown action type for vendor id | ||||||||
| 12 | OFPBAC_BAD_OUT_PORT problem validating output action | ||||||||
| 13 | OFPBAC_BAD_ARGUMENT bad action argument | ||||||||
| "When OFPT_FLOW_MOD performed, if table in Switch is full, Switch sends an error message as follows:" | |||||||||
| OFPET_FLOW_MOD_FAILED | |||||||||
| 14 | OFPFMFC_ALL_TABLES_FULL | ||||||||
| 10 | Others | VENDOR EXTENSION | OFPT_VENDOR | "Vendor specific, but when something is wrong with the message, Switch sends back an error message to Controller (See Error section)." | |||||
| 11 | Unexpected behavior | Connection Loss | 1 | Switch doesn't do anything and it lets the flows expire. | |||||
| "(...But if hard timeout is not set, they may not expire at all...)" | |||||||||
| 12 | Controller connection | Protocol | 1 | Switch can connect Controller either via plain TCP or over SSL. | |||||
| 2 | Switch can connect to any fixed IP address and TCP port number (even though it assumes tcp:6633 by default) | ||||||||
| 13 | Other features | 802.1d STP support | 1 | "If Switch supports STP, Switch tells so to Controller via OFPC_STP bit on OFPT_FEATURES_REPLY during its initializing phase." | |||||
| 2 | STP-supporting Switch must process 802.1D packets before flow lookup. | ||||||||
| 3 | "Switch updates the ""struct ofp_phy_port"" according to the decision made with STP process" | ||||||||
| 4 | "When outport is OFP_FLOOD, Switch restricts the output ports based on the state on ofp_phy_port." | ||||||||
| 5 | "When outport is OFP_ALL, Switch ignores STP port state when forwarding." | ||||||||
