# 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. # [lua] lpm4 = dofile("vpe_ipv4.lua") user_table = dofile("vpe_user_table.lua") dscp_table = dofile("vpe_dscp.lua") cpe_table = dofile("vpe_cpe_table.lua") acl_table = dofile("vpe_rules.lua") [eal options] -n=4 ; $sut_memory_channels no-output=no ; disable DPDK debug output [variables] $master =0 $core_inet0 =1 $core_inet1 =2 $core_cpe0 =3 $core_cpe1 =4 $core_workers_down =9-10,11-12 ;sut_vpe_wkd $core_workers_up =13-14,15-16 ;sut_vpe_wku $core_tx_cpe0 =5 $core_tx_inet0 =6 $core_tx_cpe1 =7 $core_tx_inet1 =8 $qinq_tag =0xa888 [port 0] name=cpe0 mac=hardware rx desc=2048 tx desc=2048 [port 1] name=inet0 mac=hardware rx desc=2048 tx desc=2048 [port 2] name=cpe1 mac=hardware rx desc=2048 tx desc=2048 [port 3] name=inet1 mac=hardware rx desc=2048 tx desc=2048 [defaults] mempool size=70K memcache size=512 qinq tag=$qinq_tag [global] start time=5 name=vPE cpe table map=cpe0,cpe1,cpe0,cpe1 [core $master] task=0 mode=master tx cores=(${core_workers_up})t3m drop=no [core $core_inet0] name=LB-inet0 task=0 mode=lbnetwork rx port=inet0 untag mpls=yes tx cores=(${core_workers_down})t0 proto=ipv4 drop=no [core $core_inet1] name=LB-inet1 task=0 mode=lbnetwork rx port=inet1 untag mpls=yes tx cores=(${core_workers_down})t0 proto=ipv4 drop=no [core $core_cpe0] name=LB-c0 task=0 mode=lbnetwork mempool size=32K rx port=cpe0 untag mpls=no tx cores=(${core_workers_up})t0 proto=ipv4 drop=no [core $core_cpe1] name=LB-c1 task=0 mode=lbnetwork mempool size=32K rx port=cpe1 untag mpls=no tx cores=(${core_workers_up})t0 proto=ipv4 drop=no [core $core_workers_down] name=W-down task=0 mode=qinqencapv4 sub mode=pe rx ring=yes tx cores from cpe table=${core_tx_cpe0},${core_tx_cpe1} remap=cpe0,cpe1 drop=no user table=user_table cpe table=cpe_table classify=yes dscp=dscp_table [core $core_workers_up] name=W-up task=0 mode=acl rx ring=yes tx cores=${self}t1 drop=no rules=acl_table max rules=32768 task=1 mode=police sub mode=trtcm police action=yellow io=green,green police action=drop io=green,yellow police action=drop io=green,red police action=drop io=yellow,yellow police action=drop io=yellow,red police action=drop io=red,red cir=4000000000 pir=4000000000 cbs=20480 pbs=20480 classify=yes rx ring=yes tx cores=${self}t2 drop=no users=256 mark=yes user table=user_table task=2 mode=untag ether type=$qinq_tag rx ring=yes tx cores=${self}t3 drop=no task=3 mode=routing add mpls=yes rx ring=yes tx cores from routing table=${core_tx_inet0},${core_tx_inet1},${core_tx_inet0},${core_tx_inet1} drop=no route table=lpm4 mark=yes mark green=1 mark yellow=2 mark red=3 [core $core_tx_cpe0] name=qos0 task=0 mode=qos rx ring=yes tx port=cpe0 drop=no pipes=256 pipe tb rate=6250000 pipe tc rate=6250000 user table=user_table [core $core_tx_inet0] name=txnop task=0 mode=nop rx ring=yes tx port=inet0 drop=no [core $core_tx_cpe1] name=qos1 task=0 mode=qos rx ring=yes tx port=cpe1 drop=no pipes=256 pipe tb rate=6250000 pipe tc rate=6250000 user table=user_table [core $core_tx_inet1] name=txnop task=0 mode=nop rx ring=yes tx port=inet1 drop=no