Murali,

Sorry for being a little slow here but could you give me an example of
what you want to do to a flow - steer it to a network application (or
chain of network applications). Each network application may perform some
function on the flow and then forward it to the next network application.
The decision to steer the flow is based on some context in the GTP header ?

Regards

John

On 5/17/16, 10:44 AM, "Muralidharan Rangachari"
<muralidharan.rangach...@huawei.com> wrote:

>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