1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
;;
;; 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.
;;
[eal options]
-n=4 ; force number of memory channels
no-output=no ; disable DPDK debug output
[port 0]
name=if0
mac=hardware
[port 1]
name=inet0
mac=hardware
[port 2]
name=if1
mac=hardware
[port 3]
name=inet1
mac=hardware
[port 4]
name=if2
mac=hardware
[port 5]
name=inet2
mac=hardware
[port 6]
name=if3
mac=hardware
[port 7]
name=inet3
mac=hardware
[lua]
lpm4 = dofile("ipv4-2.lua")
dscp_table = dofile("dscp2.lua")
cpe_table = dofile("cpe_table.lua")
acl_table = dofile("rules-2.lua")
user_table = dofile("user_table-pe.lua")
[defaults]
mempool size=65K
[global]
start time=5
name=PE
cpe table map=if0,if1,if2,if3
[variables]
$wkd=5s1-6s1,5s1h-6s1h; 4 workers
$wku=7s1-9s1,7s1h-9s1h; 6 workers
;$wkd=5s1-6s1,5s1h-6s1h; 6 workers
;$wku=7s1-9s1,7s1h-9s1h; 10 workers
[core 0s1]
task=0
mode=master
tx cores=(${wku})t3m
[core 1s1]
name=LB-inet0
task=0
mode=lbnetwork
rx port=inet0
untag mpls=yes
tx cores=(${wkd})t0 proto=ipv4
task=1
mode=lbnetwork
rx port=inet2
untag mpls=yes
tx cores=(${wkd})t0 proto=ipv4
[core 1s1h]
name=LB-inet1
task=0
mode=lbnetwork
untag mpls=yes
rx port=inet1
tx cores=(${wkd})t0 proto=ipv4
task=1
mode=lbnetwork
untag mpls=yes
rx port=inet3
tx cores=(${wkd})t0 proto=ipv4
[core 2s1]
name=LB-c0
task=0
mode=lbnetwork
rx port=if0
mempool size=16K
untag mpls=no
tx cores=(${wku})t0 proto=ipv4
task=1
mode=lbnetwork
rx port=if2
mempool size=16K
untag mpls=no
tx cores=(${wku})t0 proto=ipv4
[core 2s1h]
name=LB-c1
task=0
mode=lbnetwork
mempool size=16K
untag mpls=no
rx port=if1
tx cores=(${wku})t0 proto=ipv4
task=1
mode=lbnetwork
mempool size=16K
untag mpls=no
rx port=if3
tx cores=(${wku})t0 proto=ipv4
[core $wkd]
name=W-down
task=0
mode=qinqencapv4
sub mode=pe
rx ring=yes
tx cores from cpe table=3s1,4s1,3s1h,4s1h remap=if0,if1,if2,if3
user table=user_table
cpe table=cpe_table
classify=yes
dscp=dscp_table
[core $wku]
name=W-up
task=0
mode=acl
rx ring=yes
rules=acl_table
tx cores=${self}t1
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
users=256
mark=yes
user table=user_table
task=2
mode=untag
ether type=0xa888
rx ring=yes
tx cores=${self}t3
task=3
mode=routing
add mpls=yes
rx ring=yes
tx ports from routing table=inet0,inet1,inet2,inet3
route table=lpm4
mark=yes
mark green=1
mark yellow=2
mark red=3
[core 3s1]
name=qos1
task=0
rx ring=yes
mode=qos
tx port=if0
pipes=256
pipe tb rate=6250000
pipe tc rate=6250000
drop=no
user table=user_table
[core 4s1]
name=qos1
rx ring=yes
task=0
mode=qos
tx port=if1
pipes=256
pipe tb rate=6250000
pipe tc rate=6250000
drop=no
user table=user_table
[core 3s1h]
name=qos1
task=0
rx ring=yes
mode=qos
tx port=if2
pipes=256
pipe tb rate=6250000
pipe tc rate=6250000
drop=no
user table=user_table
[core 4s1h]
name=qos1
rx ring=yes
task=0
mode=qos
tx port=if3
pipes=256
pipe tb rate=6250000
pipe tc rate=6250000
drop=no
user table=user_table
|