# Copyright (c) 2016-2017 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

[eal options]
-n=4
no-output=no ; disable DPDK debug output

[variables]
$qinq_tag_inline=88 a8
$sut_mac0=@@dst_mac0
$sut_mac1=@@dst_mac1
$sut_mac2=@@dst_mac2
$sut_mac3=@@dst_mac3

[port 0]
name=cpe0
mac=hardware
[port 1]
name=inet0
mac=hardware
[port 2]
name=cpe1
mac=hardware
[port 3]
name=inet1
mac=hardware

[defaults]
mempool size=4K

[global]
start time=5
name=vPE gen

[core 0]
mode=master

[core 1]
name=cpe0
task=0
mode=gen
tx port=cpe0
bps=625000000
; Ethernet + QinQ + IP + UDP
pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
; svlan: [0,1]
random=000000000000000X
rand_offset=14
; cvlan: [0..255]
random=00000000XXXXXXXX
rand_offset=18
; src_ip: 192.168.0.0/20
random=11000000101010000000XXXXXXXXXXXX
rand_offset=34
; dst_ip: [10,11,74,75].[0..255].[0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240].[0..255]
random=0X00101XXXXXXXXXXXXX0000XXXXXXXX
rand_offset=38
; dscp: [0..63]
random=XXXXXX00
rand_offset=23
; sport: [0,2,4,6,8,10,12,14]
random=000000000000XXX0
rand_offset=42
; dport: [0..511]
random=0000000XXXXXXXXX
rand_offset=44
lat pos=50

[core 2]
name=cpe1
task=0
mode=gen
tx port=cpe1
bps=625000000
; Ethernet + QinQ + IP + UDP
pkt inline=${sut_mac2} 70 00 00 00 00 03 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
; svlan: [32,33]
random=000000000010000X
rand_offset=14
; cvlan: [0..255]
random=00000000XXXXXXXX
rand_offset=18
; src_ip: 192.168.32.0/20
random=11000000101010000010XXXXXXXXXXXX
rand_offset=34
; dst_ip: [10,11,74,75].[0..255].[0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240].[0..255]
random=0X00101XXXXXXXXXXXXX0000XXXXXXXX
rand_offset=38
; dscp: [0..63]
random=XXXXXX00
rand_offset=23
; sport: [0,2,4,6,8,10,12,14]
random=000000000000XXX0
rand_offset=42
; dport: [0..511]
random=0000000XXXXXXXXX
rand_offset=44
lat pos=50

[core 3]
name=cpe0
task=0
mode=gen
tx port=cpe0
bps=625000000
; Ethernet + QinQ + IP + UDP
pkt inline=${sut_mac0} 70 00 00 00 00 01 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
; svlan: [16,17]
random=000000000001000X
rand_offset=14
; cvlan: [0..255]
random=00000000XXXXXXXX
rand_offset=18
; src_ip: 192.168.16.0/20
random=11000000101010000001XXXXXXXXXXXX
rand_offset=34
; dst_ip: [10,11,74,75].[0..255].[0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240].[0..255]
random=0X00101XXXXXXXXXXXXX0000XXXXXXXX
rand_offset=38
; dscp: [0..63]
random=XXXXXX00
rand_offset=23
; sport: [0,2,4,6,8,10,12,14]
random=000000000000XXX0
rand_offset=42
; dport: [0..511]
random=0000000XXXXXXXXX
rand_offset=44
lat pos=50

[core 4]
name=cpe1
task=0
mode=gen
tx port=cpe1
bps=625000000
; Ethernet + QinQ + IP + UDP
pkt inline=${sut_mac2} 70 00 00 00 00 03 ${qinq_tag_inline} 00 01 81 00 00 01 08 00 45 00 00 1c 00 01 00 00 40 11 f7 7d c0 a8 01 01 c0 a8 01 01 00 35 00 35 00 08 7c 21  FFFFFFFF
; svlan: [48,49]
random=000000000011000X
rand_offset=14
; cvlan: [0..255]
random=00000000XXXXXXXX
rand_offset=18
; src_ip: 192.168.48.0/20
random=11000000101010000011XXXXXXXXXXXX
rand_offset=34
; dst_ip: [10,11,74,75].[0..255].[0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240].[0..255]
random=0X00101XXXXXXXXXXXXX0000XXXXXXXX
rand_offset=38
; dscp: [0..63]
random=XXXXXX00
rand_offset=23
; sport: [0,2,4,6,8,10,12,14]
random=000000000000XXX0
rand_offset=42
; dport: [0..511]
random=0000000XXXXXXXXX
rand_offset=44
lat pos=50

[core 5]
name=inet0
task=0
mode=gen
tx port=inet0
bps=1250000000
; Ethernet + MPLS + IP + UDP
pkt inline=${sut_mac1} 70 00 00 00 00 02 88 47 00 00 31 00 45 00 00 1c 00 01 00 00 40 11 77 fe c0 a8 80 80 c0 a8 01 01 00 35 00 35 00 08 fc a1  FFFFFFFF
; dst_ip: 192.168.0.0/18
random=110000001010100000XXXXXXXXXXXXXX
rand_offset=34
; dscp: [0..63]
random=XXXXXX00
rand_offset=19
lat pos=46

[core 8]
name=inet1
task=0
mode=gen
tx port=inet1
bps=1250000000
; Ethernet + MPLS + IP + UDP
pkt inline=${sut_mac3} 70 00 00 00 00 04 88 47 00 00 31 00 45 00 00 1c 00 01 00 00 40 11 77 fe c0 a8 80 80 c0 a8 01 01 00 35 00 35 00 08 fc a1  FFFFFFFF
; dst_ip: 192.168.0.0/18
random=110000001010100000XXXXXXXXXXXXXX
rand_offset=34
; dscp: [0..63]
random=XXXXXX00
rand_offset=19
lat pos=46

[core 9]
name=CPE0
task=0
mode=lat
rx port=cpe0
lat pos=50

[core 10]
name=CPE1
task=0
mode=lat
rx port=cpe1
lat pos=50

[core 11]
name=INET0
task=0
mode=lat
rx port=inet0
lat pos=46

[core 12]
name=INET1
task=0
mode=lat
rx port=inet1
lat pos=46