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

Reply via email to