Hi Ben en all,

With reference to the OpenFlow Specification version 1.5 we have picked up the 
Implementation for B.18.4 Flow Entry Statistics Trigger EXT-335.
we are reaching out to you to correct our understanding on the above 
requirement and help us clarify our Open questions for the same.

Technical Understanding from the EXT-335   
 
1. From the specification it is understood that this new Instruction 
"OFPIT_STAT_TRIGGER" is a mechanism to synchronously send Flow entry thresholds 
statistics to the Controller(which is currently an application overhead).
2. From the Implementation perspective there will be two defined trigger flags 
to allow updated thresholds to be sent out periodically or as requested by the 
Controller.   
So here are the Bitmaps representation with the below Instruction and Flow 
statistics structure:
enum ofp_stat_trigger_flags {
    OFPSTF_PERIODIC = 1 << 0,   /* Trigger for all multiples of thresholds*/
    OFPSTF_ONLY_FIRST = 1 << 1, /* Trigger on only first reach threshold*/
};
/* Flow statistics structure - list of statistic fields. */
struct ofp_stats {
uint16_t reserved; 
uint16_t length; 
uint8_t oxs_fields[0]; /* 0 or more OXS stat fields */
uint8_t pad[4]; 
};
 struct ofp_instruction_stat_trigger {
 uint16_t type; /* *OFPIT_STAT_TRIGGER* */
 uint16_t len;
 uint32_t flags;
 struct ofp_stats thresholds;
};

3. The above mechanism needs to be handled for Single flow messages as well as 
for Multipart and the message is a status generated when one of the flow 
statistic threshold was crossed in a stat trigger instruction .
/* Reason for generating flow stats. */
enum ofp_flow_stats_reason {
OFPFSR_STATS_REQUEST = 0, /* Reply to a OFPMP_FLOW_STATS request. */
OFPFSR_STAT_TRIGGER = 1, /* Status generated by OFPIT_STAT_TRIGGER. */
};

Let us know if the above artifacts holds good to our understanding on the 
implementation or we missing something.
 

Open Questions:

1.  We are unclear on what is the mechanism of sending these updates to 
controller based on the "various statistics thresholds"?

    Could you please clarify on the calculation mechanism or there are 
predefined values which can be compared to check this operation ?
     How is the Controller keeping a Count / Monitor these OXS thresholds ? Or 
is it proactively sent once the Event is triggered based on the above Flags?

2. From the Implementation perspective we should be comparing the 
ofp-flow-stats values [Duration(secs/nsecs), idle_timeout, packet_count, 
byte_count etc.] 
   for every OFPT_FLOW_MOD, OFPT_MULTIPART_REQUEST(currently not been 
supported) and then based on "any one threshold change" Or "Multiple Threshold  
  changes"    set the OFPSTF_ONLY_FIRST and OFPSTF_PERIODIC accordingly. 
Correct my understanding for the same ?

3. Kindly help explain the given statement from the specification and where 
does it apply from the messaging persepctive
"The switch may drop or delay any stat trigger event
due to congestion and backup on the control channel or to optimize usage of the 
control channel. A
controller is strongly advised to use this instruction in such a way that the 
event rate is manageable by
the switch. "


Thanks & Regards 
Sravya Chava
 
 
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you


_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to