Fix arp handling when master core is on socket 1
[samplevnf.git] / VNFs / DPPD-PROX / config / bng-qos-4ports.cfg
1 ;;
2 ;; Copyright (c) 2010-2017 Intel Corporation
3 ;;
4 ;; Licensed under the Apache License, Version 2.0 (the "License");
5 ;; you may not use this file except in compliance with the License.
6 ;; You may obtain a copy of the License at
7 ;;
8 ;;     http://www.apache.org/licenses/LICENSE-2.0
9 ;;
10 ;; Unless required by applicable law or agreed to in writing, software
11 ;; distributed under the License is distributed on an "AS IS" BASIS,
12 ;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ;; See the License for the specific language governing permissions and
14 ;; limitations under the License.
15 ;;
16
17 ;;
18 ; Compared to config/bng-4ports.cfg, this configuration sets up a BNG with QoS
19 ; functionality. In total, an extra eight cores (four physical cores) are needed
20 ; to run this configuration. Four cores are used for QoS, two cores are assigned
21 ; with the task of classifying upstream packets and two cores are assigned with
22 ; transmitting downstream packets.
23 ;;
24
25 [eal options]
26 -n=4 ; force number of memory channels
27 no-output=no ; disable DPDK debug output
28
29 [port 0]
30 name=cpe0
31 mac=hardware
32 [port 1]
33 name=inet0
34 mac=hardware
35 [port 2]
36 name=cpe1
37 mac=hardware
38 [port 3]
39 name=inet1
40 mac=hardware
41 [variables]
42 ;uncomment one of the following to change the number of workers
43 ;$wk=7s0,7s0h; 2 workers
44 ;$wk=7s0-8s0,7s0h-8s0h; 4 workers
45 $wk=7s0-9s0,7s0h-9s0h; 6 workers
46 ;$wk=7s0-10s0,7s0h-10s0h; 8 workers
47
48 [defaults]
49 mempool size=128K
50 qinq tag=0xa888;0x0081
51 [lua]
52 lpm4 = dofile("ipv4.lua")
53 dscp_table = dofile("dscp.lua")
54 user_table = dofile("user_table-65K-bng.lua")
55 [global]
56 start time=20
57 name=BNG + QoS
58
59 [core 0s0]
60 mode=master
61 ; IPv4
62 ;*****************************************************************************************
63 ;##### Load Balancing receiving from CPE and from Internet ####
64 [core 1s0]
65 name=LB-cpe
66 task=0
67 mode=lbqinq
68 rx ring=yes
69 tx cores=(${wk})t0 proto=ipv4
70 tx cores=(${wk})t0p proto=arp
71 drop=no
72
73 [core 1s0h]
74 name=LB-inet
75 task=0
76 mode=lbnetwork
77 rx port=inet0
78 untag mpls=yes
79 tx cores=(${wk})t1 proto=ipv4
80
81 [core 2s0]
82 name=LB-cpe
83 task=0
84 mode=lbqinq
85 rx ring=yes
86 tx cores=(${wk})t0 proto=ipv4
87 tx cores=(${wk})t0p proto=arp
88 drop=no
89
90 [core 2s0h]
91 name=LB-inet
92 task=0
93 mode=lbnetwork
94 untag mpls=yes
95 rx port=inet1
96 tx cores=(${wk})t1 proto=ipv4
97
98 ;*****************************************************************************************
99 ;#### Workers receiving from LB
100 ;#### Task 0: QinQ decapsulation + gre encapsulation + routing
101 ;#### Task 1: ARP
102 ;#### Task 2: GRE depcapsulation + QinQ encapsulation + use learned mac
103 [core $wk]
104 name=Worker
105 task=0
106 mode=qinqdecapv4
107 rx ring=yes
108 tx ports from routing table=inet0,inet1
109 route table=lpm4
110 local ipv4=21.22.23.24
111 handle arp=yes
112 drop=no
113 user table=user_table
114
115 task=1
116 mode=qinqencapv4
117 rx ring=yes
118 tx cores from cpe table=3s0,4s0 remap=cpe0,cpe1 ;map packets going to cpe0 to 3s0 and cpe1 to 4s0
119 classify=yes
120 dscp=dscp_table
121 user table=user_table
122
123 ;*****************************************************************************************
124 ;#### Downstream QoS receiving from workers
125 ;#### classification done by workers
126 ;#### Downstream QoS = QoS core and TX core
127 [core 3s0]
128 name=txqos0
129 task=0
130 mode=qos
131 rx ring=yes
132 tx cores=3s0ht0
133 drop=no
134 pipe tc rate=125000
135 pipe tb rate=125000
136 user table=user_table
137
138 [core 3s0h]
139 name=txnop0
140 task=0
141 mode=nop
142 rx ring=yes
143 tx port=cpe0
144 drop=no
145
146 [core 4s0]
147 name=txqos1
148 task=0
149 mode=qos
150 rx ring=yes
151 tx cores=4s0ht0
152 drop=no
153 pipe tc rate=125000
154 pipe tb rate=125000
155 user table=user_table
156
157 [core 4s0h]
158 name=txnop1
159 task=0
160 mode=nop
161 rx ring=yes
162 tx port=cpe1
163 drop=no
164
165 ;*****************************************************************************************
166 ;#### upstream QoS receiving from CPE
167 ;#### classification done by RX, QoS core
168 ;#### upstream QoS = RX core (classify) + QoS core
169 [core 5s0h]
170 name=rxcl0
171 task=0
172 mode=classify
173 rx port=cpe0
174 tx cores=5s0t0
175 dscp=dscp_table
176 drop=no
177 user table=user_table
178
179 [core 5s0]
180 name=rxqos0
181 task=0
182 mode=qos
183 rx ring=yes
184 tx cores=1s0t0
185 pipe tc rate=125000
186 pipe tb rate=125000
187 drop=no
188 user table=user_table
189
190 [core 6s0h]
191 name=rxcl1
192 task=0
193 mode=classify
194 rx port=cpe1
195 tx cores=6s0t0
196 dscp=dscp_table
197 drop=no
198 user table=user_table
199
200 [core 6s0]
201 name=rxqos1
202 task=0
203 mode=qos
204 rx ring=yes
205 tx cores=2s0t0
206 pipe tc rate=125000
207 pipe tb rate=125000
208 drop=no
209 user table=user_table