[ovs-dev] [PATCH v4 3/4] tests: Adjust VLAN+MPLS handling cases for QinQ

Xiao Liang shaw.leon at gmail.com
Fri Jul 15 13:10:50 UTC 2016


On Fri, Jul 15, 2016 at 8:15 PM, Thomas F Herbert
<thomasfherbert at gmail.com> wrote:
> On 7/12/16 11:38 AM, Xiao Liang wrote:
>>
>> When QinQ is supported, ingress VLAN are kept after push_vlan  actions,
>> so we should expect two VLAN headers.
>
> Am I reading this wrong but it looks like the 0x8847 mpls type was dropped
> from the test packet below?
>
>>
>> Signed-off-by: Xiao Liang <shaw.leon at gmail.com>

>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:51,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 51 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>
> What happened to 0x8847?
>

It's right after the vlan header:
 +00000010  81 00 e0 58 88 47

>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:51,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 51 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:51,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 51 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   ])
>>     dnl Modified MPLS controller action.
>> @@ -3457,8 +3460,8 @@
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:52,dl_dst=52:54:00:00:00:07,
>>   ])
>>     dnl Modified MPLS controller action.
>> -dnl In this test, the input packet is vlan-tagged, which should be
>> stripped
>> -dnl before we push the MPLS and VLAN tags.
>> +dnl In this test, the input packet is vlan-tagged, which should be kept
>> as
>> +dnl inner vlan.
>>   AT_CHECK([ovs-ofctl --protocols=OpenFlow12 monitor br0 65534 -m -P
>> standard --detach --pidfile 2> ofctl_monitor.log])
>>     for i in 1 2 3; do
>> @@ -3468,26 +3471,29 @@ OVS_WAIT_UNTIL([test `grep OFPT_PACKET_IN
>> ofctl_monitor.log | wc -l` -ge 3])
>>   OVS_APP_EXIT_AND_WAIT(ovs-ofctl)
>>     AT_CHECK([ofctl_strip < ofctl_monitor.log], [0], [dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:53,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 53 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:53,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 53 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:53,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 53 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   ])
>>     dnl Modified MPLS controller action.
>> @@ -3528,8 +3534,8 @@
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:54,dl_dst=50:54:00:00:00:07,
>>   ])
>>     dnl Modified MPLS controller action.
>> -dnl In this test, the input packet is vlan-tagged, which should be
>> stripped
>> -dnl before we push the MPLS and VLAN tags.
>> +dnl In this test, the input packet is vlan-tagged, which should be kept
>> as
>> +dnl inner vlan.
>>   AT_CHECK([ovs-ofctl --protocols=OpenFlow12 monitor br0 65534 -m -P
>> standard --detach --pidfile 2> ofctl_monitor.log])
>>     for i in 1 2 3; do
>> @@ -3539,26 +3545,29 @@ OVS_WAIT_UNTIL([test `grep OFPT_PACKET_IN
>> ofctl_monitor.log | wc -l` -ge 3])
>>   OVS_APP_EXIT_AND_WAIT([ovs-ofctl])
>>     AT_CHECK([ofctl_strip < ofctl_monitor.log], [0], [dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:55,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 55 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:55,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 55 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:55,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 55 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   ])
>>     dnl Modified MPLS controller action.
>> @@ -3599,8 +3608,8 @@
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:56,dl_dst=50:54:00:00:00:07,
>>   ])
>>     dnl Modified MPLS controller action.
>> -dnl In this test, the input packet is vlan-tagged, which should be
>> stripped
>> -dnl before we push the MPLS and VLAN tags.
>> +dnl In this test, the input packet is vlan-tagged, which should be kept
>> as
>> +dnl inner vlan.
>>   AT_CHECK([ovs-ofctl --protocols=OpenFlow12 monitor br0 -m 65534 -P
>> standard --detach --pidfile 2> ofctl_monitor.log])
>>     for i in 1 2 3; do
>> @@ -3610,31 +3619,34 @@ OVS_WAIT_UNTIL([test `grep OFPT_PACKET_IN
>> ofctl_monitor.log | wc -l` -ge 3])
>>   OVS_APP_EXIT_AND_WAIT(ovs-ofctl)
>>     AT_CHECK([ofctl_strip < ofctl_monitor.log], [0], [dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:57,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 57 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:57,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 57 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   dnl
>> -OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64
>> (unbuffered)
>> +OFPT_PACKET_IN (OF1.2): total_len=68 in_port=1 (via action) data_len=68
>> (unbuffered)
>>
>> mpls,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:54:57,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=0,mpls_ttl=64,mpls_bos=1
>>   00000000  50 54 00 00 00 07 40 44-44 44 54 57 81 00 20 63
>> -00000010  88 47 00 00 a1 40 45 00-00 28 00 00 00 00 40 06
>> -00000020  f9 7c c0 a8 00 01 c0 a8-00 02 00 00 00 00 00 00
>> -00000030  00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
>> +00000010  81 00 e0 58 88 47 00 00-a1 40 45 00 00 28 00 00
>> +00000020  00 00 40 06 f9 7c c0 a8-00 01 c0 a8 00 02 00 00
>> +00000030  00 00 00 00 00 00 00 00-00 00 50 00 00 00 00 00
>> +00000040  00 00 00 00
>>   ])
>>     dnl Modified MPLS controller action.
>> -dnl In this test, the input packet is vlan-tagged, which should be
>> stripped
>> -dnl before we push the MPLS and VLAN tags.
>> +dnl In this test, the input packet is vlan-tagged, which should be kept
>> as
>> +dnl inner vlan.
>>   AT_CHECK([ovs-ofctl --protocols=OpenFlow12 monitor br0 65534 -m -P
>> standard --detach --pidfile 2> ofctl_monitor.log])
>>     for i in 1 2 3; do
>
>



More information about the dev mailing list