On 2 Feb 2024, at 11:55, Adrian Moreno wrote:

> On 1/30/24 16:45, Eelco Chaudron wrote:
>>
>>
>> On 1 Dec 2023, at 20:14, Adrian Moreno wrote:
>>
>>> This series introduces a python utility called ovs-flowviz.
>>>
>>> The goal of this utility is to read both datapath and Openflow flows
>>> (using the flow library already available) and print them in different
>>> formats and styles to make it easier to understand them and troubleshoot
>>> issues.
>>>
>>> The formats are quite opinionated and so are the colors chosen so I'm
>>> eager to hear what is the impression caused to the community.
>>>
>>> Here is a summary of the formats and features supported:
>>>
>>> - Openflow
>>>     - Console: Prints flows back to the console allowing filtering and
>>>       extensive formatting.
>>>     - Cookie: Arranges flows based on cookie (instead of table) to ease
>>>       visualization of OVN-generated flows.
>>>     - HTML: Prints an HTML file that shows the flows arranged by tables.
>>>       resubmit actions have a hyperlinke to the target table to ease
>>>       navegation.
>>>     - Logic: Many times OVN generates many "logically-equivalent" flows.
>>>       These are flows that have the same structure: match on the same
>>>       values and have the same actions. The only thing that changes is
>>>       the actual value they match against and maybe the arguments of the
>>>       actions. This format collapses these flows so you can visualize the
>>>       logical pipeline easier.
>>>     - JSON: JSON format.
>>>
>>> More OpenFlow features:
>>>     - OVN metadata: Both the "cookie" and the "logic" format allow to
>>>       connect to a running OVN NB/SB databases and enrich the flows with
>>>       OVN context based on the flow's cookie.
>>>
>>> - Datapath:
>>>     - Console: Prints flows back to the console allowing filtering and
>>>       extensive formatting.
>>>     - Tree: Datapath flows use recirculation to further execute
>>>       additional actions. This format builds a tree of flows following
>>>       the recirculation identifiers and prints it in the console.
>>>     - HTML: Prints the datapath flow tree in HTML. It includes some
>>>       minimal JS to support expanding and collapsing of entire branches.
>>>     - Graph: Following the "tree" format, this one prints the tree in
>>>       graphviz format.
>>>     - JSON: JSON format.
>>>
>>> Additional datapath features:
>>>     - Many datapath formats are based on the tree flow hierarchy. An
>>>       interesting feature of this structure is that filtering is done at
>>>       the branch level. This means that when a flow satisfies the filter,
>>>       the entire sub-tree leading to that flow is shown.
>>>
>>> Additional common features:
>>>     - Styling: Styles for both console and HTML formats can be defined
>>>       using a configuration file.
>>>     - Heat maps: Some formats support heat-maps. A color pallete ranging
>>>       from blue (cold) to red (hot) is used to print the number of
>>>       packets and bytes of the flows. That way, the flows that are
>>>       handling more traffic are much easier to spot
>>>
>>> I know this is a long series, so it's OK if it takes time to review. I'm
>>> specially interested to know what is found useful and what is worth
>>> removing (if any).
>>
>> Thanks Adrian, for submitting the series and I think the quality of the code 
>> is good enough to submit it as a non-RFC. Most of the comments I have are 
>> style nits.
>>
>> The only main thing missing is some documentation/man pages for the tool.
>>
>
> Thanks Eelco for the review.

My pleasure. I looked at all your comments on my comments, and I have nothing 
more to add. Looking forward to your none RFC submission ;)

//Eelco

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to