Sure, I'll try to get to that tonight. Neil
------ Neil McKee InMon Corp. http://www.inmon.com On Fri, Jul 17, 2015 at 4:31 PM, Ben Pfaff <b...@nicira.com> wrote: > On Thu, Jun 11, 2015 at 09:43:59AM -0700, Neil McKee wrote: > > Packets are still sampled at ingress only, so the egress > > tunnel and/or MPLS structures are only included when there is just 1 > output > > port. The actions are either provided by the datapath in the sample > upcall > > or looked up in the userspace cache. The former is preferred because it > is > > more reliable and does not present any new demands or constraints on the > > userspace cache, however the code falls back on the userspace lookup so > that > > this solution can work with existing kernel datapath modules. If the > lookup > > fails it is not critical: the compiled user-action-cookie is still > available > > and provides the essential output port and output VLAN forwarding > information > > just as before. > > > > The openvswitch actions can express almost any tunneling/mangling so the > only > > totally faithful representation would be to somehow encode the whole > list of > > flow actions in the sFlow output. However the standard sFlow tunnel > structures > > can express most common real-world scenarios, so in parsing the actions > we > > look for those and skip the encoding if we see anything unusual. For > example, > > a single set(tunnel()) or tnl_push() is interpreted, but if a second > such > > action is encountered then the egress tunnel reporting is suppressed. > > > > The sFlow standard allows "best effort" encoding so that if a field is > not > > knowable or too onerous to look up then it can be left out. This is often > > the case for the layer-4 source port or even the src ip address of a > tunnel. > > The assumption is that monitoring is enabled everywhere so a missing > field > > can typically be seen at ingress to the next switch in the path. > > > > This patch also adds unit tests to check the sFlow encoding of > set(tunnel()), > > tnl_push() and push_mpls() actions. > > > > The netlink attribute to request that actions be included in the upcall > > from the datapath is inserted for sFlow sampling only. To make that > option > > be explicit would require further changes to the printing and parsing of > > actions in lib/odp-util.c, and to scripts in the test suite. > > > > Further enhancements to report on 802.1AD QinQ, 64-bit tunnel IDs, and > NAT > > transformations can follow in future patches that make only incremental > > changes. > > > > Signed-off-by: Neil McKee <neil.mc...@inmon.com> > > Neil, would you mind posting a new version of this patch rebased against > current master? I'll review it next week. > > Thanks, > > Ben. > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev