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. I’ll reply to the individual patches with comments. Cheers, Eelco _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev