[ovs-discuss] How to buffer on OVS

Hiroshi Miyata miyahiro.dazu at gmail.com
Fri May 3 02:12:03 UTC 2013


Hi Ben,

In OpenFlow 1.3.1, the switch needs explict table-miss entry to be added,
otherwise the packet which does not match any entry is discarded.
The table-miss entry needs OFPAT_OUTPUT output action to OFPP_CONTROLLER.

-----------------------------
OpenFlow1.3.1
5.4 Table-miss (last paragraph)
If the table-miss flow entry does not exist, by default packets 
unmatched by flow entries are dropped
(discarded). A switch configuration, for example using the OpenFlow 
Configuration Protocol, may
override this default and specify another behaviour.
-----------------------------

Therefore,

 > In OVS, no packet_in message that results from an action ever 
allocates a buffer.

It seems to happen to Table-miss entry.

 > Only a packet_in message that results from a flow table miss 
allocates a buffer.

If you supporse no action is specified to the table-miss entry, it does 
not seem to happen.

With above mentioned condition, OVS working in OpenFlow1.3.1 will not 
buffer the packet at all, correct?


BTW.
Regarding to the Reason code.

According to OpenFlow1.3.1
A.4.1 Packet-In Message
At the bottom of Page 92
----------------------------
/* Why is this packet being sent to the controller? */
enum ofp_packet_in_reason {
OFPR_NO_MATCH = 0, /* No matching flow (table-miss flow entry). */
OFPR_ACTION = 1, /* Action explicitly output to controller. */
OFPR_INVALID_TTL = 2, /* Packet has invalid TTL */
};
----------------------------

OFPR_NO_MATCH seems to be appropriate reason for table-miss entry even 
though it is the result of action.
Otherwise, OFPR_NO_MATCH will not be used at all.

How do you think?

...hiroshi miyata

(13/05/03 8:36), Ben Pfaff wrote:
> On Fri, May 03, 2013 at 08:32:10AM +0900, Hiroshi Miyata wrote:
>> Then, in what action requests to buffer?
>> Sorry, I could not find appropriate part in the specification.
> In OVS, no packet_in message that results from an action ever
> allocates a buffer.  Only a packet_in message that results from a flow
> table miss allocates a buffer.




More information about the discuss mailing list