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
[email protected]
http://openvswitch.org/mailman/listinfo/discuss