A question regarding VLAN tagging and untagging


xingjun chu
 

Hi,

I have a couple of questions regarding the VLAN relevant action.

1) I have a table in the pipeline which does some L3 forwarding. it has some entries to match dst ip, then modify dst dl address, dec-ttl, resubmit. etc...  Those flows get installed without problem.
Now I try to add a "VLAN strip or pop" into the action list of the flow above for example as the first action , strip or pop VLAN, then modify dst dl address, dec-ttl,  resubmit, etc...  I tried both strip or pop action, but either way the flow didn't get installed. why is that?    

I even tried to just create a separate table with VLAN strip and resubmit as the default entry, it doesn't get installed either.

2) also I found more strange thing is that If I need to push and set a VLAN ID in the action, I have to have a VLAN match first, otherwise 
    the flow is not get installed.   

BTW I am doing this NOT using REST API of openflowplugin. but programmatically using Action, Action builder  etc...

Any pointer is greatly appreciated.

Thanks & Regards
Xingjun

    

 


xingjun chu
 

BTW,

On top of the previous email, as an example, here is the  flow table with vlan pop action I dumped using openflow rest api. it is in config, but not installed.

{
    "flow-node-inventory:table": [
        {
            "id": 80,
            "flow": [
                {
                    "id": "DEFAULT_PIPELINE_FLOW_80",
                    "hard-timeout": 0,
                    "idle-timeout": 0,
                    "match": {},
                    "instructions": {
                        "instruction": [
                            {
                                "order": 0,
                                "apply-actions": {
                                    "action": [
                                        {
                                            "order": 0,
                                            "pop-vlan-action": {}
                                        }
                                    ]
                                }
                            },
                            {
                                "order": 1,
                                "go-to-table": {
                                    "table_id": 110
                                }
                            }
                        ]
                    },
                    "barrier": true,
                    "priority": 0,
                    "table_id": 80,
                    "flow-name": "DEFAULT_PIPELINE_FLOW_80"
                }
            ]
        }
    ]
}


thanks
Xingjun

From: Xingjun Chu
Sent: Sunday, November 05, 2017 9:28 AM
To: ovsdb-dev@...; openflowplugin-dev@...
Cc: faas-dev@...
Subject: A question regarding VLAN tagging and untagging

Hi,

I have a couple of questions regarding the VLAN relevant action.

1) I have a table in the pipeline which does some L3 forwarding. it has some entries to match dst ip, then modify dst dl address, dec-ttl, resubmit. etc...  Those flows get installed without problem.
Now I try to add a "VLAN strip or pop" into the action list of the flow above for example as the first action , strip or pop VLAN, then modify dst dl address, dec-ttl,  resubmit, etc...  I tried both strip or pop action, but either way the flow didn't get installed. why is that?    

I even tried to just create a separate table with VLAN strip and resubmit as the default entry, it doesn't get installed either.

2) also I found more strange thing is that If I need to push and set a VLAN ID in the action, I have to have a VLAN match first, otherwise 
    the flow is not get installed.   

BTW I am doing this NOT using REST API of openflowplugin. but programmatically using Action, Action builder  etc...

Any pointer is greatly appreciated.

Thanks & Regards
Xingjun