[OPNFLWPLUG-237] Set default switch configuration for packet-in to send the whole packet to controller Created: 13/Aug/14  Updated: 27/Sep/21  Due: 22/Aug/14  Resolved: 22/Aug/14

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Abhijit Kumbhare Assignee: Martin Bobak
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


External issue ID: 1545

 Description   

For more robust discovery as well as OpenFlow operation (the controller apps likely depend on receiving whole unbuffered packets via packet-in) it makes sense to explicitly configure the switch to send the full unbuffered packets to the controller. This will make the controller operation more predictable & not dependent on the switch defaults. From the spec:

From 6.1.2 Asynchronous:

"If the packet is buffered, the number of bytes of the original packet to include in the packet-in can be configured. By default, it is 128 bytes. For packet-in generated by an output action in a flow entries or group bucket, it can be specified individually in the output action itself (see 7.2.5), for other packet-in it can be configured in the switch configuration (see 7.3.2)."

From 7.3.2 Switch Configuration:

/* Switch configuration. */
struct ofp_switch_config {
struct ofp_header header;
uint16_t flags;
uint16_t miss_send_len;
/* Bitmap of OFPC_* flags. */
/* Max bytes of packet that datapath
should send to the controller. See
ofp_controller_max_len for valid values.
*/
};

"The miss_send_len field defines the number of bytes of each packet sent to the controller by the OpenFlow pipeline when not using an output action to the OFPP_CONTROLLER logical port, for example sending packets with invalid TTL if this message reason is enabled. If this field equals 0, the switch must send zero bytes of the packet in the ofp_packet_in message. If the value is set to OFPCML_NO_BUFFER the complete packet must be included in the message, and should not be buffered."

So the action:
Make sure the default switch configuration for packet-in miss_send_len is OFPCML_NO_BUFFER



 Comments   
Comment by Abhijit Kumbhare [ 13/Aug/14 ]

Michal - please reassign as needed.

Comment by Martin Bobak [ 21/Aug/14 ]

https://git.opendaylight.org/gerrit/#/c/10102/

Generated at Wed Feb 07 20:31:56 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.