;; ;; Copyright (c) 2010-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. ;; ;; ; This configuration sets up a system that handles the same workload as ; config/bng-qos-4ports.cfg, but on 8 ports instead of 4 and on CPU socket 1 ; instead of socket 0. ;; [eal options] -n=6 ; force number of memory channels no-output=no ; disable DPDK debug output [port 0] name=cpe0 mac=00:00:01:00:00:01 tx desc=$txd promiscuous=$promiscuous [port 1] name=inet0 mac=00:00:01:00:00:02 rx desc=$rxd tx desc=$txd promiscuous=$promiscuous [port 2] name=cpe1 mac=00:00:01:00:00:03 tx desc=$txd promiscuous=$promiscuous [port 3] name=inet1 mac=00:00:01:00:00:04 tx desc=$txd rx desc=$rxd promiscuous=$promiscuous [port 4] name=cpe2 mac=00:00:02:00:00:01 tx desc=$txd rx desc=$rxd promiscuous=$promiscuous [port 5] name=inet2 mac=00:00:02:00:00:02 tx desc=$txd promiscuous=$promiscuous [port 6] name=cpe3 mac=00:00:02:00:00:03 tx desc=$txd promiscuous=$promiscuous [port 7] name=inet3 mac=00:00:02:00:00:04 rx desc=$rxd tx desc=$txd promiscuous=$promiscuous [variables] $wk=9s0-16s0,9s0h-16s0h $lb_drop=no $wt_drop=no $rxd=256 $txd=256 $promiscuous=yes $mcs=128 $rs=1024 [defaults] mempool size=16K qinq tag=0xa888 [lua] lpm4 = dofile("ipv4-4ports.lua") user_table = dofile("user_table-131K-bng.lua") [global] start time=20 name=BNG + QoS unique mempool per socket=yes mp rings=yes [core 0s0] mode=master ; IPv4 ;***************************************************************************************** ;##### Load Balancing receiving from CPE and from Internet #### [core 1s0] name=LB-cpe task=0 mode=lbqinq rx port=cpe0 tx cores=(${wk})t0 proto=ipv4 tx cores=(${wk})t0p proto=arp drop=$lb_drop memcache size=$mcs ring size=$rs [core 2s0] name=LB-cpe task=0 mode=lbqinq rx port=cpe1 tx cores=(${wk})t0 proto=ipv4 tx cores=(${wk})t0p proto=arp drop=$lb_drop memcache size=$mcs ring size=$rs [core 3s0] name=LB-cpe task=0 mode=lbqinq rx port=cpe2 tx cores=(${wk})t0 proto=ipv4 tx cores=(${wk})t0p proto=arp drop=$lb_drop memcache size=$mcs ring size=$rs [core 4s0] name=LB-cpe task=0 mode=lbqinq rx port=cpe3 tx cores=(${wk})t0 proto=ipv4 tx cores=(${wk})t0p proto=arp drop=$lb_drop memcache size=$mcs ring size=$rs [core 5s0] name=LB-inet task=0 mode=lbnetwork rx port=inet0 untag mpls=yes tx cores=(${wk})t1 proto=ipv4 drop=$lb_drop memcache size=$mcs ring size=$rs [core 6s0] name=LB-inet task=0 mode=lbnetwork rx port=inet1 untag mpls=yes tx cores=(${wk})t1 proto=ipv4 drop=$lb_drop memcache size=$mcs ring size=$rs [core 7s0] name=LB-inet task=0 mode=lbnetwork untag mpls=yes rx port=inet2 tx cores=(${wk})t1 proto=ipv4 drop=$lb_drop memcache size=$mcs ring size=$rs [core 8s0] name=LB-inet task=0 mode=lbnetwork untag mpls=yes rx port=inet3 tx cores=(${wk})t1 proto=ipv4 drop=$lb_drop memcache size=$mcs ring size=$rs ;***************************************************************************************** ;#### Workers receiving from LB ;#### Task 0: QinQ decapsulation + gre encapsulation + routing ;#### Task 1: ARP ;#### Task 2: GRE depcapsulation + QinQ encapsulation + use learned mac [core $wk] name=Worker task=0 mode=qinqdecapv4 rx ring=yes tx ports from routing table=inet0,inet1,inet2,inet3 route table=lpm4 local ipv4=21.22.23.24 drop=$wt_drop handle arp=yes cpe table timeout ms=15000000 ctrl path polling frequency=10000 user table=user_table task=1 mode=qinqencapv4 rx ring=yes tx ports from cpe table=cpe0,cpe1,cpe2,cpe3 drop=$wt_drop ctrl path polling frequency=10000 user table=user_table ring size=$rs