John, Generally, I understand how the networking-sfc has evolved. It works well around firewalls, routers and switches and possibly load balancers. Those are traditional applications for service chaining. One of the first attempts was done by me early last year modifying ovs-agent and used generic ovs flows here at Huawei. Now the OVN flows are a lot more complicated. Old approach was constrained in many ways and L3 wasn't addressed.
In mobile/wireless network, especially moving into 5G based on the subscription model the services provided need to be built dynamically. So We need decoupling between how traffic is classified and how services are provisioned. So it is hard to extend the classic IT based service chain model into this new environment. So I am having to do most of the decisions on how to route or define a flow within a dedicated network controller that has full topology info. OVN provides not just L2 based flows but also L3, which is what interested me to take this up for the solution - in addition to l2 tunneling (vtep) that is handy for a dispersed solution across clouds. To begin with, what I need is something like this. The match and action need to be more generic and not constrained as in ACL. What I am not sure is if I will have all details to create a logical flow from the outside, need to try it out. We may add key-pairs for match and action and have it translated in northd if that's how it should be. "Custom_Lflows": { "columns": { "flow_id": {"type": "string"}, "priority": {"type": {"key": {"type": "integer", "minInteger": 0, "maxInteger": 32767}}}, "direction": {"type": {"key": {"type": "string", "enum": ["set", ["from-lport", "to-lport"]]}}}, "match": {"type": "string"}, "action": {"type": "string"}, "log": {"type": "boolean"}, "external_ids": { "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}, "isRoot": false}, Logical flow commands:\n\ lflow-add LSWITCH DIRECTION PRIORITY MATCH ACTION FLOWID\n\ add a logical flow identified by FLOWID lflow-del LSWITCH FLOWID delete a logical flow identified by FLOWID However, I need some help in getting the code and exactly where the pieces are. Yesterday I was going through the code and found how to start a new schema and fill in the code. I may try to seek you help. We can come up with a solution that works for IT as well as have a more generic flow programming option available. Thanks Murali _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss