[ovs-dev] MPLS Label Stacking - problems with popping
GEMELOS, STEVEN M (STEVEN M)
gemelos at research.att.com
Thu Apr 10 21:14:39 UTC 2014
I have had a single MPLS label system working with OVS, now I am trying to
stack multiple labels and am having issues maybe you all have some insightŠ
here¹s the setup:
H1 ‹ S1 ‹ S2 ‹ S3 ‹ H3
|
H2
S1 S2 has MPLS label 12, and S2 S1 has MPLS label 21
S2 S3 has MPLS label 23, and S3 S2 has MPLS label 32
Now traffic between hosts H1-H2 with a single label works without issue.
Same for H2 H3.
The rules on S1 and S2 that make this work are:
S1
ovs-ofctl add-flow br
in_port=local,dl_type=0x0800,nw_dst=172.16.3.8/29,actions=push_mpls:0x8847,
set_mpls_label:12,output:1
ovs-ofctl add-flow br
in_port=1,dl_type=0x8847,mpls_bos=1,actions=pop_mpls:0x0800,output:local
S2
ovs-ofctl add-flow br
in_port=local,dl_type=0x0800,nw_dst=172.16.3.0/29,actions=push_mpls:0x8847,
set_mpls_label:21,output:1
ovs-ofctl add-flow br
in_port=1,dl_type=0x8847,mpls_bos=1,actions=pop_mpls:0x0800,output:local
So, now I want to connect between H1 and H3 sticking 2 MPLS Labels ‹
On S1 I added the Rule:
ovs-ofctl add-flow br
in_port=local,dl_type=0x0800,nw_dst=172.16.3.16/29,actions=push_mpls:0x8847
,set_mpls_label:23,set_mpls_label:12,output:1
And on S3 I added the Rule:
ovs-ofctl add-flow br
in_port=local,dl_type=0x0800,nw_dst=172.16.3.0/29,actions=push_mpls:0x8847,
set_mpls_label:21,set_mpls_label:32,output:1
On s2 I am trying to use the following rule, to pop and forward,
ovs-ofctl add-flow br
in_port=1,dl_type=0x8847,mpls_bos=0,actions=pop_mpls:0x8847,output:2
ovs-ofctl add-flow br
in_port=2,dl_type=0x8847,mpls_bos=0,actions=pop_mpls:0x8847,output:1
But I am getting errors when trying to use the action ³pop_mpls:0x8847²
OFPT_ERROR (xid=0x4): OFPBAC_BAD_ARGUMENT
NXT_FLOW_MOD (xid=0x4):
(***truncated to 64 bytes from 104***)
00000000 01 04 00 68 00 00 00 04-00 00 23 20 00 00 00 0d |...h......#
....|
00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 00
|................|
00000020 ff ff ff ff ff ff 00 00-00 11 00 00 00 00 00 00
|................|
00000030 00 00 00 02 00 01 00 00-06 02 88 47 80 00 48 01
|...........G..H.|
I can use the action ³pop_mpls:0x8840² or ³pop_mpls:0x0800² - I can set
the DL_Type to anything except MPLS 0x8847 or 0x8848.
What am I missing?
Thanks
Steven
More information about the dev
mailing list