Fix arp handling when master core is on socket 1
[samplevnf.git] / VNFs / DPPD-PROX / config / bng-qos-8ports_25cores.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 ; This configuration sets up a system that handles the same workload as
19 ; config/bng-qos-4ports.cfg, but on 8 ports instead of 4 and on CPU socket 1
20 ; instead of socket 0.
21 ;;
22
23 [eal options]
24 -n=6 ; force number of memory channels
25 no-output=no ; disable DPDK debug output
26
27 [port 0]
28 name=cpe0
29 mac=00:00:01:00:00:01
30 tx desc=$txd
31 promiscuous=$promiscuous
32
33 [port 1]
34 name=inet0
35 mac=00:00:01:00:00:02
36 rx desc=$rxd
37 tx desc=$txd
38 promiscuous=$promiscuous
39
40 [port 2]
41 name=cpe1
42 mac=00:00:01:00:00:03
43 tx desc=$txd
44 promiscuous=$promiscuous
45
46 [port 3]
47 name=inet1
48 mac=00:00:01:00:00:04
49 tx desc=$txd
50 rx desc=$rxd
51 promiscuous=$promiscuous
52
53 [port 4]
54 name=cpe2
55 mac=00:00:02:00:00:01
56 tx desc=$txd
57 rx desc=$rxd
58 promiscuous=$promiscuous
59
60 [port 5]
61 name=inet2
62 mac=00:00:02:00:00:02
63 tx desc=$txd
64 promiscuous=$promiscuous
65
66 [port 6]
67 name=cpe3
68 mac=00:00:02:00:00:03
69 tx desc=$txd
70 promiscuous=$promiscuous
71
72 [port 7]
73 name=inet3
74 mac=00:00:02:00:00:04
75 rx desc=$rxd
76 tx desc=$txd
77 promiscuous=$promiscuous
78
79 [variables]
80 $wk=0s0h,15s0-20s0,7s0h-20s0h
81 $lb_drop=no
82 $wt_drop=no
83 $rxd=256
84 $txd=256
85 $promiscuous=yes
86 $mcs=128
87 $rs=1024
88 $tx1=21s0
89 $tx2=22s0
90 $tx3=23s0
91 $tx4=24s0
92
93 [defaults]
94 mempool size=256K
95 qinq tag=0xa888
96
97 [lua]
98 lpm4 = dofile("ipv4-4ports.lua")
99 dscp_table = dofile("dscp.lua")
100 user_table = dofile("user_table-131K-bng.lua")
101 [global]
102 start time=20
103 name=BNG + QoS
104 unique mempool per socket=yes
105 mp rings=yes
106 enable bypass=yes
107
108 [core 0s0]
109 mode=master
110
111 ; IPv4
112 ;*****************************************************************************************
113 ;##### Load Balancing receiving from CPE and from Internet ####
114 [core 1s0]
115 name=LB-cpe
116 task=0
117 mode=lbqinq
118 rx ring=yes
119 tx cores=(${wk})t0 proto=ipv4
120 tx cores=(${wk})t0p proto=arp
121 drop=$lb_drop
122 memcache size=$mcs
123 ring size=$rs
124
125 [core 1s0h]
126 name=LB-cpe
127 task=0
128 mode=lbqinq
129 rx ring=yes
130 tx cores=(${wk})t0 proto=ipv4
131 tx cores=(${wk})t0p proto=arp
132 drop=$lb_drop
133 memcache size=$mcs
134 ring size=$rs
135
136 [core 2s0]
137 name=LB-cpe
138 task=0
139 mode=lbqinq
140 rx ring=yes
141 tx cores=(${wk})t0 proto=ipv4
142 tx cores=(${wk})t0p proto=arp
143 drop=$lb_drop
144 memcache size=$mcs
145 ring size=$rs
146
147 [core 2s0h]
148 name=LB-cpe
149 task=0
150 mode=lbqinq
151 rx ring=yes
152 tx cores=(${wk})t0 proto=ipv4
153 tx cores=(${wk})t0p proto=arp
154 drop=$lb_drop
155 memcache size=$mcs
156 ring size=$rs
157
158 [core 3s0]
159 name=LB-inet
160 task=0
161 mode=lbnetwork
162 rx port=inet0
163 untag mpls=yes
164 tx cores=(${wk})t1 proto=ipv4
165 drop=$lb_drop
166 memcache size=$mcs
167 ring size=$rs
168
169 [core 3s0h]
170 name=LB-inet
171 task=0
172 mode=lbnetwork
173 rx port=inet1
174 untag mpls=yes
175 tx cores=(${wk})t1 proto=ipv4
176 drop=$lb_drop
177 memcache size=$mcs
178 ring size=$rs
179
180 [core 4s0]
181 name=LB-inet
182 task=0
183 mode=lbnetwork
184 untag mpls=yes
185 rx port=inet2
186 tx cores=(${wk})t1 proto=ipv4
187 drop=$lb_drop
188 memcache size=$mcs
189 ring size=$rs
190
191 [core 4s0h]
192 name=LB-inet
193 task=0
194 mode=lbnetwork
195 untag mpls=yes
196 rx port=inet3
197 tx cores=(${wk})t1 proto=ipv4
198 drop=$lb_drop
199 memcache size=$mcs
200 ring size=$rs
201
202 [core 5s0]
203 name=classify1
204 task=0
205 mode=classify
206 rx port=cpe0
207 tx cores=11s0
208 dscp=dscp_table
209 pipe tc rate=125000
210 pipe tb rate=125000
211 drop=no
212 user table=user_table
213 dscp=dscp_table
214 memcache size=$mcs
215
216 [core 5s0h]
217 name=classify2
218 task=0
219 mode=classify
220 rx port=cpe1
221 tx cores=12s0
222 dscp=dscp_table
223 pipe tc rate=125000
224 pipe tb rate=125000
225 drop=no
226 user table=user_table
227 dscp=dscp_table
228 memcache size=$mcs
229
230 [core 6s0]
231 name=classify3
232 task=0
233 mode=classify
234 rx port=cpe2
235 tx cores=13s0
236 dscp=dscp_table
237 pipe tc rate=125000
238 pipe tb rate=125000
239 drop=no
240 user table=user_table
241 dscp=dscp_table
242 memcache size=$mcs
243
244 [core 6s0h]
245 name=classify4
246 task=0
247 mode=classify
248 rx port=cpe3
249 tx cores=14s0
250 dscp=dscp_table
251 pipe tc rate=125000
252 pipe tb rate=125000
253 drop=no
254 user table=user_table
255 dscp=dscp_table
256 memcache size=$mcs
257
258 ;*****************************************************************************************
259 ;#### Workers receiving from LB
260 ;#### Task 0: QinQ decapsulation + gre encapsulation + routing
261 ;#### Task 1: ARP
262 ;#### Task 2: GRE depcapsulation + QinQ encapsulation + use learned mac
263 [core $wk]
264 name=Worker
265 task=0
266 mode=qinqdecapv4
267 rx ring=yes
268 tx ports from routing table=inet0,inet1,inet2,inet3
269 route table=lpm4
270 local ipv4=21.22.23.24
271 drop=$wt_drop
272 handle arp=yes
273 cpe table timeout ms=15000000
274 ctrl path polling frequency=10000
275 user table=user_table
276
277 task=1
278 mode=qinqencapv4
279 rx ring=yes
280 tx cores from cpe table=7s0,8s0,9s0,10s0 remap=cpe0,cpe1,cpe2,cpe3 ;map packets going to cpe0 to 3s0 and cpe1 to 4s0
281 classify=yes
282 drop=$wt_drop
283 ctrl path polling frequency=10000
284 user table=user_table
285 dscp=dscp_table
286 ring size=$rs
287
288 ;*****************************************************************************************
289 ;#### Downstream QoS receiving from workers
290 ;#### classification done by workers
291 ;#### Downstream QoS = QoS core and TX core
292 [core 7s0]
293 name=txqos0
294 task=0
295 mode=qos
296 rx ring=yes
297 ;tx port=cpe0
298 tx cores=$tx1
299 drop=no
300 pipe tc rate=125000
301 pipe tb rate=125000
302 user table=user_table
303
304 [core 8s0]
305 name=txqos0
306 task=0
307 mode=qos
308 rx ring=yes
309 ;tx port=cpe1
310 tx cores=$tx2
311 drop=no
312 pipe tc rate=125000
313 pipe tb rate=125000
314 user table=user_table
315
316 [core 9s0]
317 name=txqos2
318 task=0
319 mode=qos
320 rx ring=yes
321 ;tx port=cpe2
322 tx cores=$tx3
323 drop=no
324 pipe tc rate=125000
325 pipe tb rate=125000
326 user table=user_table
327
328 [core 10s0]
329 name=txqos3
330 task=0
331 mode=qos
332 rx ring=yes
333 drop=no
334 ;tx port=cpe3
335 tx cores=$tx4
336 pipe tc rate=125000
337 pipe tb rate=125000
338 user table=user_table
339
340 ;*****************************************************************************************
341 ;#### upstream QoS receiving from CPE
342 ;#### classification done by RX, QoS core
343 ;#### upstream QoS = RX core (classify) + QoS core
344 [core 11s0]
345 name=rxqos0
346 task=0
347 mode=qos
348 ;rx port=cpe0
349 rx ring=yes
350 tx cores=1s0
351 ;classify=yes
352 ;dscp=dscp_table
353 pipe tc rate=125000
354 pipe tb rate=125000
355 drop=no
356 user table=user_table
357 dscp=dscp_table
358
359 [core 12s0]
360 name=rxqos0
361 task=0
362 mode=qos
363 ;rx port=cpe1
364 rx ring=yes
365 ;classify=yes
366 ;dscp=dscp_table
367 tx cores=1s0h
368 pipe tc rate=125000
369 pipe tb rate=125000
370 drop=no
371 user table=user_table
372 dscp=dscp_table
373
374 [core 13s0]
375 name=rxqos2
376 task=0
377 mode=qos
378 ;rx port=cpe2
379 rx ring=yes
380 tx cores=2s0
381 ;classify=yes
382 ;dscp=dscp_table
383 pipe tc rate=125000
384 pipe tb rate=125000
385 drop=no
386 user table=user_table
387 dscp=dscp_table
388
389 [core 14s0]
390 name=rxqos3
391 task=0
392 mode=qos
393 ;rx port=cpe3
394 rx ring=yes
395 tx cores=2s0h
396 ;classify=yes
397 ;dscp=dscp_table
398 pipe tc rate=125000
399 pipe tb rate=125000
400 drop=no
401 user table=user_table
402 dscp=dscp_table
403
404 [core $tx1]
405 name=tx1
406 task=0
407 mode=read
408 rx ring=yes
409 tx port=cpe0
410 ring size=$rs
411 drop=no
412
413 [core $tx2]
414 name=tx2
415 task=0
416 mode=read
417 rx ring=yes
418 tx port=cpe1
419 ring size=$rs
420 drop=no
421
422 [core $tx3]
423 name=tx3
424 task=0
425 mode=read
426 rx ring=yes
427 tx port=cpe2
428 ring size=$rs
429 drop=no
430
431 [core $tx4]
432 name=tx4
433 task=0
434 mode=read
435 rx ring=yes
436 tx port=cpe3
437 ring size=$rs
438 drop=no