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
[email protected]
http://openvswitch.org/mailman/listinfo/dev