Google Analytics

Google Custom Search

"... an engineer who is not only competent at the analytics and technologies of engineering, but can bring value to clients, team well, design well, foster adoptions of new technologies, position for innovations, cope with accelerating change and mentor other engineers" -- CACM 2014/12

Syndicate This Blog

Sunday, October 8. 2017

I've been writing some OpenFlow Controller code to get a feel on how OpenFlow works. As I get into it, I've been wondering if what I want to do is quite correct. Open vSwitch has various extensions available, which may or may not be available via the OpenFlow standards. So writing code conforming to something like OF 1.4.1, will I be able to gain access to those extensions, or will I need to access Open vSwitch differently? Not sure. More research is needed. These links track some of that research.

First off, there are libraries in OVS for tracking BFD by watching a vswitch table. Also, there is an lldp encoder/decoder.

From an OpenFlow perspective, there is a tutorial called Open vSwitch Advanced Features, which shows, via the command line tools, how to use multiple flow tables to build a simple learning switch. That documentation makes reference to some extension files:

Design Decisions In Open vSwitch has various comments on: what a master sees vs a slave, talks about v1.4 bundles and transactions, clarification on vlan matching in the various versions, and talks extensively about in-band and out-band control.

The FAQ Using OpenFlow talks about: hidden flows and how to dump them, how to set out-of-band mode, how to get a list of port numbers as they associate to interface name, and how to adjust mtu on internal interfaces.

ovs-fields - is an important document describing match and action fields, whether they are openflow standard or ncira extensions, and some are just OVS based.

ovs-dbclient - can be used to dump tables in OVSDB - so use this to check flows once a controller has been activated

I found hints at Getting Started With OVSDB for getting JSON out of some of the command line utilities. It also alludes to an OVSDB method specification. It also talks about the ability to 'monitor', which is what I'm looking for from a BFD scenario (if I don't implement that myself from a packet_in / packet_out perspective).

That article references RFC 7047 which talks about the database generically. It says JSON is being used for the schema format and for the wire protocol format. So, by using looking into the tables and fields, it should be possible to come up with the appropriate JSON structures and commands to perform the necessary updates without the use of OpenFlow.

Storage Traffic Magic with OpenFlow where he talks about a now defunct storage company Coho Storage using OpenFlow to steer requests and responses in and out of appropriate nodes by appropropriate mac address mangling.

When getting into network discovery, Discovery in Software-Defined Networks talks about using LLDP (Link Layer Discovery Protocol) as well as BDDP (Broadcaset Domain Discovery Protocol) packets. BDDP packets can be used to discover non-LLDP responding switches, or switches not part of an SDN managed domain. The article suggests discovery packets on 5 second intervals.

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.

Disclaimer: This site may include market analysis. All ideas, opinions, and/or
forecasts, expressed or implied herein, are for informational purposes only and should not
be construed as a recommendation to invest, trade, and/or speculate in the markets. Any
investments, trades, and/or speculations made in light of the ideas, opinions, and/or
forecasts, expressed or implied herein, are committed at your own risk, financial or
otherwise.