; Copyright (c) 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.

[PIPELINE0]
type = MASTER
core = 0

[PIPELINE1]
type =  ARPICMP
core = 1

pktq_in  = SWQ2
pktq_out = TXQ0.0 TXQ1.0

; IPv4 ARP route table entries (ip, mask, if_port, nh) hex values with no 0x
; arp_route_tbl = (ac102814,ff000000,1,ac102814) (ca106414,ff000000,0,ca106414)
; Link MAC addresses in order aa:bb:cc:dd:ee:ff separated by space

; IPv6 ARP route table entries (ip, mask, if_port, nh) hex values with no 0x
;nd_route_tbl =  (fec0::6a05:caff:fe30:21b0,64,0,fec0::6a05:caff:fe30:21b0)
;nd_route_tbl =  (2012::6a05:caff:fe30:2081,64,1,2012::6a05:caff:fe30:2081)
; Link MAC addresses in order aa:bb:cc:dd:ee:ff separated by space

; Hex values with no leading 0x, MACs in ascending port order starting @P0
;ports_mac_list = 00:cb:10:64:14:00 00:ad:10:28:14:00

; egress (private interface) info
pktq_in_prv =  RXQ0.0

;for pub port <-> prv port mapping (prv, pub)
prv_to_pub_map = (0,1)
prv_que_handler = (0)

[PIPELINE2]
type = TXRX
core = 2
pktq_in  = RXQ0.0 RXQ1.0
pktq_out = SWQ0 SWQ1 SWQ2
pipeline_txrx_type = RXRX

[PIPELINE3]
type = LOADB
core = 3
pktq_in  = SWQ0 SWQ1
pktq_out = SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9 SWQ10
outport_offset = 136
n_vnf_threads = 4
prv_que_handler = (0)
n_lb_tuples = 5
;loadb_debug = 0

[PIPELINE4]
type = VFW
core = 4
pktq_in  = SWQ3 SWQ4
pktq_out = SWQ11 SWQ12;TXQ0.0 TXQ1.0

n_rules = 4096
;n_flows gets round up to power of 2
n_flows = 1048576
traffic_type = 4 ; IPv4 Traffic
;traffic_type = 6 ; IPv6 Traffic
; tcp_time_wait controls timeout for closed connection, normally 120
tcp_time_wait = 10
tcp_be_liberal = 0
;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
;udp_unreplied = 20
;udp_replied = 20

[PIPELINE5]
type = VFW
core = 5
pktq_in  = SWQ5 SWQ6
pktq_out = SWQ13 SWQ14;TXQ0.0 TXQ1.0

n_rules = 4096
;n_flows gets round up to power of 2
n_flows = 1048576
traffic_type = 4 ; IPv4 Traffic
;traffic_type = 6 ; IPv6 Traffic
; tcp_time_wait controls timeout for closed connection, normally 120
tcp_time_wait = 10
tcp_be_liberal = 0
;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
;udp_unreplied = 20
;udp_replied = 20

[PIPELINE6]
type = VFW
core = 6
pktq_in  = SWQ7 SWQ8
pktq_out = SWQ15 SWQ16

n_rules = 4096
;n_flows gets round up to power of 2
n_flows = 1048576
traffic_type = 4 ; IPv4 Traffic
;traffic_type = 6 ; IPv6 Traffic
; tcp_time_wait controls timeout for closed connection, normally 120
tcp_time_wait = 10
tcp_be_liberal = 0
;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
;udp_unreplied = 20
;udp_replied = 20

[PIPELINE7]
type = VFW
core = 7
pktq_in  = SWQ9 SWQ10
pktq_out = SWQ17 SWQ18

n_rules = 4096
;n_flows gets round up to power of 2
n_flows = 1048576
traffic_type = 4 ; IPv4 Traffic
;traffic_type = 6 ; IPv6 Traffic
; tcp_time_wait controls timeout for closed connection, normally 120
tcp_time_wait = 10
tcp_be_liberal = 0

[PIPELINE8]
type = TXRX
core = 8
pktq_in  = SWQ11 SWQ12 SWQ13 SWQ14 SWQ15 SWQ16 SWQ17 SWQ18
pktq_out = TXQ0.1 TXQ1.1 TXQ0.2 TXQ1.2 TXQ0.3 TXQ1.3 TXQ0.4 TXQ1.4
pipeline_txrx_type = TXTX