2 ;; Copyright (c) 2010-2017 Intel Corporation
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
8 ;; http://www.apache.org/licenses/LICENSE-2.0
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.
18 ; This configuration is provided for virtualized environments running on top of
19 ; a soft-switch. Specifically, ingredients are Open vSwitch (openvswitch.org)
20 ; and Qemu version 1.6.2. Note that since the currently supported version of
21 ; Open vSwitch does not handle all the protocols that are used in the full BNG,
22 ; PROX has to be recompiled to use different packet processing paths as a
23 ; workaround. DPDK version 1.8.0 should be used with this configuration and it
24 ; has to be compiled with COMBINE_LIBS enabled:
25 ; make install T=$RTE_TARGET CONFIG_RTE_BUILD_COMBINE_LIBS=y CONFIG_RTE_LIBRTE_VHOST=y
26 ; The following commands demonstrate how to set up Open vSwitch:
27 ; git clone https://github.com/openvswitch/ovs.git
29 ; git checkout 5c62a855c7bb24424cbe7ec48ecf2f128db8b102
30 ; ./boot.sh && ./configure --with-dpdk=$RTE_SDK/$RTE_TARGET --disable-ssl && make
31 ; This configuration is intended to be used in a VM with 4 virtual ports. This
32 ; means that 4 virtual ports (with type dpdkvhost) and 4 physical ports (with
33 ; type dpdk) will need to be added and connected through open-flow commands in
34 ; Open vSwitch. After Open vSwitch has been set up on the host, PROX needs to be
35 ; recompiled in the VM as follows before running it with this configuration:
36 ; make BNG_QINQ=n MPLS_ROUTING=n
40 -n=4 ; force number of memory channels
41 no-output=no ; disable DPDK debug output
61 lpm4 = dofile("ipv4.lua")
62 user_table =dofile("user_table-65K-bng.lua")
70 ;*****************************************************************************************
71 ;##### Load Balancing receiving from CPE and from Internet ####
81 tx cores=(${wk})t0 proto=ipv4
93 tx cores=(${wk})t1 proto=ipv4
104 tx cores=(${wk})t0 proto=ipv4
116 tx cores=(${wk})t1 proto=ipv4
118 ;*****************************************************************************************
119 ;#### Workers receiving from LB
120 ;#### Task 0: Upstream traffic
121 ;#### Task 1: Downstream traffic
127 tx cores from routing table=2s0,4s0
129 local ipv4=21.22.23.24
131 user table=user_table
136 tx cores from cpe table=1s0,3s0 remap=cpe0,cpe1
137 user table=user_table