Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xanadu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
SYNERG
xanadu
Commits
3a6cef8c
Commit
3a6cef8c
authored
Apr 24, 2021
by
Shah Rinku
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Working solution for dispatcher NIC offload
parent
2867ff9b
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
5017 additions
and
395 deletions
+5017
-395
.gitignore
.gitignore
+26
-0
dispatch_system/benchmark_dispatcher.py
dispatch_system/benchmark_dispatcher.py
+147
-0
dispatch_system/dispatch_daemon/package.json
dispatch_system/dispatch_daemon/package.json
+1
-0
dispatch_system/dispatch_manager/Makefile-nfp4build
dispatch_system/dispatch_manager/Makefile-nfp4build
+1421
-0
dispatch_system/dispatch_manager/index.js
dispatch_system/dispatch_manager/index.js
+2
-1
dispatch_system/dispatch_manager/lib.js
dispatch_system/dispatch_manager/lib.js
+47
-2
dispatch_system/dispatch_manager/nic/Makefile-nfp4build
dispatch_system/dispatch_manager/nic/Makefile-nfp4build
+9
-8
dispatch_system/dispatch_manager/nic/assign_ip.sh
dispatch_system/dispatch_manager/nic/assign_ip.sh
+13
-11
dispatch_system/dispatch_manager/nic/assign_ip_test.sh
dispatch_system/dispatch_manager/nic/assign_ip_test.sh
+45
-0
dispatch_system/dispatch_manager/nic/build_offload.sh
dispatch_system/dispatch_manager/nic/build_offload.sh
+2
-2
dispatch_system/dispatch_manager/nic/build_offload_test.sh
dispatch_system/dispatch_manager/nic/build_offload_test.sh
+38
-0
dispatch_system/dispatch_manager/nic/p4src/echo.bmv2.json
dispatch_system/dispatch_manager/nic/p4src/echo.bmv2.json
+8
-57
dispatch_system/dispatch_manager/nic/p4src/echo.yml
dispatch_system/dispatch_manager/nic/p4src/echo.yml
+2
-20
dispatch_system/dispatch_manager/nic/p4src/includes/defines.p4
...tch_system/dispatch_manager/nic/p4src/includes/defines.p4
+7
-6
dispatch_system/dispatch_manager/nic/p4src/includes/headers_test.p4
...ystem/dispatch_manager/nic/p4src/includes/headers_test.p4
+79
-0
dispatch_system/dispatch_manager/nic/p4src/orchestrator.bmv2.json
..._system/dispatch_manager/nic/p4src/orchestrator.bmv2.json
+950
-0
dispatch_system/dispatch_manager/nic/p4src/orchestrator.p4
dispatch_system/dispatch_manager/nic/p4src/orchestrator.p4
+2
-11
dispatch_system/dispatch_manager/nic/p4src/orchestrator.p4info.json
...ystem/dispatch_manager/nic/p4src/orchestrator.p4info.json
+117
-0
dispatch_system/dispatch_manager/nic/p4src/orchestrator.yml
dispatch_system/dispatch_manager/nic/p4src/orchestrator.yml
+374
-0
dispatch_system/dispatch_manager/nic/p4src/test.bmv2.json
dispatch_system/dispatch_manager/nic/p4src/test.bmv2.json
+798
-201
dispatch_system/dispatch_manager/nic/p4src/test.p4
dispatch_system/dispatch_manager/nic/p4src/test.p4
+73
-51
dispatch_system/dispatch_manager/nic/p4src/test.p4info.json
dispatch_system/dispatch_manager/nic/p4src/test.p4info.json
+7
-0
dispatch_system/dispatch_manager/nic/p4src/test.yml
dispatch_system/dispatch_manager/nic/p4src/test.yml
+773
-0
dispatch_system/dispatch_manager/nic/receive_reply.py
dispatch_system/dispatch_manager/nic/receive_reply.py
+37
-9
dispatch_system/dispatch_manager/nic/send.py
dispatch_system/dispatch_manager/nic/send.py
+6
-6
dispatch_system/dispatch_manager/nic/smartnic_dispatch_monitor.py
..._system/dispatch_manager/nic/smartnic_dispatch_monitor.py
+4
-3
dispatch_system/dispatch_manager/repository/worker_env/env_udp.js
..._system/dispatch_manager/repository/worker_env/env_udp.js
+29
-7
No files found.
.gitignore
View file @
3a6cef8c
...
...
@@ -7,3 +7,29 @@ secrets.json
resource_system/bin/**
resource_system/version.linux
local_experiments/
.vscode
p4src/Makefile-nfp4build
p4src/app_master.list/
p4src/blm0.list/
p4src/echo.nffw
p4src/echo.yml
p4src/flowcache_timeout_emu0.list/
p4src/gro0.list/
p4src/gro1.list/
p4src/nbi_init_csr.list/
p4src/nfd_pcie0_notify.list/
p4src/nfd_pcie0_pci_in_gather.list/
p4src/nfd_pcie0_pci_in_issue0.list/
p4src/nfd_pcie0_pci_in_issue1.list/
p4src/nfd_pcie0_pci_out_me0.list/
p4src/nfd_pcie0_pd0.list/
p4src/nfd_pcie0_pd1.list/
p4src/nfd_pcie0_sb.list/
p4src/nfd_svc.list/
p4src/out/
p4src/pif_app_nfd.list/
client/Makefile-nfp4build
*.list
p4src/out_dir
*.nffw
dispatch_system/benchmark_dispatcher.py
0 → 100644
View file @
3a6cef8c
import
socket
import
struct
import
time
import
threading
import
random
import
time
import
argparse
parser
=
argparse
.
ArgumentParser
(
description
=
'Mininet demo'
)
parser
.
add_argument
(
'--fid'
,
help
=
'Funtion id'
,
type
=
int
,
action
=
"store"
,
required
=
False
)
parser
.
add_argument
(
'--c'
,
help
=
'Concurrency'
,
type
=
int
,
action
=
"store"
,
required
=
True
)
group
=
parser
.
add_mutually_exclusive_group
(
required
=
True
)
group
.
add_argument
(
'--rps'
,
help
=
'Requests per second'
,
type
=
int
,
action
=
"store"
)
group
.
add_argument
(
'--n'
,
help
=
'Number of requests to send'
,
type
=
int
,
action
=
"store"
)
args
=
parser
.
parse_args
()
PORT
=
8000
dataInt
=
0
fid
=
args
.
fid
SERVER_IP
=
"192.168.2.3"
egress_time
=
[]
ingress_time
=
[]
stop_thread
=
False
def
receive
():
global
egress_time
,
stop_thread
CLIENT_IP
=
"0.0.0.0"
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_DGRAM
)
s
.
bind
((
CLIENT_IP
,
8080
))
print
"listening to {} at port {}"
.
format
(
CLIENT_IP
,
8080
)
run_status
=
{}
while
True
:
if
stop_thread
:
break
packet
,
addr
=
s
.
recvfrom
(
1024
)
# print packet
base
=
0
chain_id
=
struct
.
unpack
(
">I"
,
packet
[
base
:
base
+
4
])[
0
]
base
+=
4
exec_id
=
struct
.
unpack
(
">I"
,
packet
[
base
:
base
+
4
])[
0
]
base
+=
4
function_id
=
struct
.
unpack
(
">I"
,
packet
[
base
:
base
+
4
])[
0
]
base
+=
4
data
=
struct
.
unpack
(
">I"
,
packet
[
base
:
base
+
4
])[
0
]
base
+=
4
function_count
=
struct
.
unpack
(
"B"
,
packet
[
base
])[
0
]
t
=
int
(
time
.
time
()
*
1000
)
%
1000000000
data
=
int
(
data
)
-
t
print
"rec"
,
chain_id
,
exec_id
,
data
,
function_id
,
function_count
,
def
genPacket
():
global
fid
packet
=
None
exec_id
=
random
.
randint
(
0
,
2
**
30
)
print
exec_id
chain_id
=
1
function_count
=
5
function_id
=
fid
if
(
fid
)
else
1
f0
=
0
;
f1
=
1
;
f2
=
2
;
f3
=
0
;
f4
=
0
print
chain_id
,
exec_id
,
"function_id"
,
function_id
,
function_count
,
\
f0
,
f1
,
f2
,
f3
,
f4
chain_id
=
struct
.
pack
(
">I"
,
chain_id
)
# chain id
exec_id
=
struct
.
pack
(
">I"
,
exec_id
)
# execution id
dataInt
=
int
(
time
.
time
()
*
1000
)
%
1000000000
data
=
struct
.
pack
(
">I"
,
dataInt
)
# data
function_count
=
struct
.
pack
(
"B"
,
function_count
)
# function count
function_id_packed
=
struct
.
pack
(
">I"
,
function_id
)
f0
=
struct
.
pack
(
"B"
,
f0
)
# f0
f1
=
struct
.
pack
(
"B"
,
f1
)
# f1
f2
=
struct
.
pack
(
"B"
,
f2
)
# f2 -> f0
f3
=
struct
.
pack
(
"B"
,
f3
)
# f3 -> f1 f2
f4
=
struct
.
pack
(
"B"
,
f4
)
# f4 -> f3
packet
=
chain_id
+
exec_id
+
function_id_packed
+
data
+
function_count
+
f0
+
f1
+
f2
+
f3
+
f4
# print dataInt, offload_status
return
packet
,
function_id
def
sendThread
(
start_time
,
runtime
,
sleep_time
):
global
ingress_time
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_DGRAM
)
while
True
:
packet
,
function_id
=
genPacket
()
if
time
.
time
()
-
start_time
>
runtime
:
break
s
.
sendto
(
packet
,
(
SERVER_IP
,
PORT
))
ingress_time
.
append
(
time
.
time
())
time
.
sleep
(
sleep_time
)
def
send
():
global
egress_time
,
ingress_time
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_DGRAM
)
print
"Sending packet to
%
s at port
%
s"
%
(
SERVER_IP
,
PORT
)
print
"chain id, exec id, data, function count, functions dependencies..."
# op = struct.unpack("B", packet[0])
packet
,
_
=
genPacket
()
if
args
.
n
is
not
None
:
for
i
in
range
(
args
.
req_count
):
s
.
sendto
(
packet
,
(
SERVER_IP
,
PORT
))
ingress_time
.
append
(
time
.
time
())
elif
args
.
rps
is
not
None
:
runtime
=
10
thread_count
=
args
.
c
start_time
=
time
.
time
()
sleep_time
=
thread_count
/
float
(
args
.
rps
)
print
"calculated inter-arrival time, offload mode"
,
sleep_time
for
i
in
range
(
thread_count
):
t
=
threading
.
Thread
(
target
=
sendThread
,
args
=
[
start_time
,
runtime
,
sleep_time
])
t
.
daemon
=
True
t
.
start
()
time
.
sleep
(
runtime
)
stop_thread
=
True
# s.sendto(packet, (SERVER_IP, PORT))
# r.join()
r
=
threading
.
Thread
(
name
=
"receive"
,
target
=
receive
)
r
.
daemon
=
True
r
.
start
()
time
.
sleep
(
1
)
send
()
r
.
join
()
dispatch_system/dispatch_daemon/package.json
View file @
3a6cef8c
...
...
@@ -13,6 +13,7 @@
"body-parser"
:
"^1.19.0"
,
"express"
:
"^4.17.1"
,
"express-fileupload"
:
"^1.1.6"
,
"jspack"
:
"^0.0.4"
,
"kafka-node"
:
"^5.0.0"
,
"morgan"
:
"^1.9.1"
,
"mqtt"
:
"^3.0.0"
,
...
...
dispatch_system/dispatch_manager/Makefile-nfp4build
0 → 100644
View file @
3a6cef8c
#
# Generated Makefile for test
#
ifndef SDKDIR
export SDKDIR=/opt/netronome
endif
ifndef SDKTOOLSDIR
SDKTOOLSDIR=$(SDKDIR)/bin
endif
ifndef SDKP4DIR
SDKP4DIR=$(SDKDIR)/p4
endif
ifndef OUTDIR
OUTDIR=p4src
endif
ifndef PIFOUTDIR
PIFOUTDIR=p4src/out
endif
NFP4C_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfp4c ]; then echo "found"; fi)
ifneq ($(NFP4C_FOUND),found)
$(warning warning: nfp4c not found or not executable, on windows please run nfp4term.bat)
endif
NFIRC_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfirc ]; then echo "found"; fi)
ifneq ($(NFIRC_FOUND),found)
$(warning warning: nfirc not found or not executable, on windows please run nfp4term.bat)
endif
NFLD_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfld ]; then echo "found"; fi)
ifneq ($(NFLD_FOUND),found)
$(warning warning: nfld not found or not executable, on windows please run nfp4term.bat)
endif
NFCC_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfcc ]; then echo "found"; fi)
ifneq ($(NFCC_FOUND),found)
$(warning warning: nfcc not found or not executable, on windows please run nfp4term.bat)
endif
NFAS_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfas ]; then echo "found"; fi)
ifneq ($(NFAS_FOUND),found)
$(warning warning: nfas not found or not executable, on windows please run nfp4term.bat)
endif
NFP4C_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfp4c ]; then echo "found"; fi)
ifneq ($(NFP4C_FOUND),found)
$(warning warning: nfp4c not found or not executable, on windows please run nfp4term.bat)
endif
NFIRC_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfirc ]; then echo "found"; fi)
ifneq ($(NFIRC_FOUND),found)
$(warning warning: nfirc not found or not executable, on windows please run nfp4term.bat)
endif
NFLD_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfld ]; then echo "found"; fi)
ifneq ($(NFLD_FOUND),found)
$(warning warning: nfld not found or not executable, on windows please run nfp4term.bat)
endif
NFCC_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfcc ]; then echo "found"; fi)
ifneq ($(NFCC_FOUND),found)
$(warning warning: nfcc not found or not executable, on windows please run nfp4term.bat)
endif
NFAS_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfas ]; then echo "found"; fi)
ifneq ($(NFAS_FOUND),found)
$(warning warning: nfas not found or not executable, on windows please run nfp4term.bat)
endif
NFP4C_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfp4c ]; then echo "found"; fi)
ifneq ($(NFP4C_FOUND),found)
$(warning warning: nfp4c not found or not executable, on windows please run nfp4term.bat)
endif
NFIRC_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfirc ]; then echo "found"; fi)
ifneq ($(NFIRC_FOUND),found)
$(warning warning: nfirc not found or not executable, on windows please run nfp4term.bat)
endif
NFLD_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfld ]; then echo "found"; fi)
ifneq ($(NFLD_FOUND),found)
$(warning warning: nfld not found or not executable, on windows please run nfp4term.bat)
endif
NFCC_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfcc ]; then echo "found"; fi)
ifneq ($(NFCC_FOUND),found)
$(warning warning: nfcc not found or not executable, on windows please run nfp4term.bat)
endif
NFAS_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfas ]; then echo "found"; fi)
ifneq ($(NFAS_FOUND),found)
$(warning warning: nfas not found or not executable, on windows please run nfp4term.bat)
endif
NFP4C_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfp4c ]; then echo "found"; fi)
ifneq ($(NFP4C_FOUND),found)
$(warning warning: nfp4c not found or not executable, on windows please run nfp4term.bat)
endif
NFIRC_FOUND = $(shell if [ -x $(SDKP4DIR)/bin/nfirc ]; then echo "found"; fi)
ifneq ($(NFIRC_FOUND),found)
$(warning warning: nfirc not found or not executable, on windows please run nfp4term.bat)
endif
NFLD_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfld ]; then echo "found"; fi)
ifneq ($(NFLD_FOUND),found)
$(warning warning: nfld not found or not executable, on windows please run nfp4term.bat)
endif
NFCC_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfcc ]; then echo "found"; fi)
ifneq ($(NFCC_FOUND),found)
$(warning warning: nfcc not found or not executable, on windows please run nfp4term.bat)
endif
NFAS_FOUND = $(shell if [ -x $(SDKTOOLSDIR)/nfas ]; then echo "found"; fi)
ifneq ($(NFAS_FOUND),found)
$(warning warning: nfas not found or not executable, on windows please run nfp4term.bat)
endif
$(OUTDIR)/test.nffw: $(OUTDIR)/nfd_pcie0_pd0.list/nfd_pcie0_pd0.list \
$(OUTDIR)/nfd_pcie0_pci_in_issue1.list/nfd_pcie0_pci_in_issue1.list \
$(OUTDIR)/nfd_pcie0_pci_out_me0.list/nfd_pcie0_pci_out_me0.list \
$(OUTDIR)/nbi_init_csr.list/nbi_init_csr.list \
$(OUTDIR)/nfd_pcie0_pd1.list/nfd_pcie0_pd1.list \
$(OUTDIR)/nfd_pcie0_pci_in_issue0.list/nfd_pcie0_pci_in_issue0.list \
$(OUTDIR)/gro1.list/gro1.list \
$(OUTDIR)/pif_app_nfd.list/pif_app_nfd.list \
$(OUTDIR)/app_master.list/app_master.list \
$(OUTDIR)/nfd_svc.list/nfd_svc.list \
$(OUTDIR)/blm0.list/blm0.list \
$(OUTDIR)/gro0.list/gro0.list \
$(OUTDIR)/nfd_pcie0_notify.list/nfd_pcie0_notify.list \
$(OUTDIR)/nfd_pcie0_pci_in_gather.list/nfd_pcie0_pci_in_gather.list \
$(OUTDIR)/flowcache_timeout_emu0.list/flowcache_timeout_emu0.list \
$(OUTDIR)/nfd_pcie0_sb.list/nfd_pcie0_sb.list \
$(PIFOUTDIR)/build_info.json \
$(MAKEFILE_LIST)
@echo ---------
@echo linking $@
@echo ---------
$(SDKTOOLSDIR)/nfld -rtsyms -mip -user_note_f pif_debug_json "$(PIFOUTDIR)/pif_debug.json" -user_note_f build_info_json "$(PIFOUTDIR)/build_info.json" -g -user_note_f pif_design_json "$(PIFOUTDIR)/pif_design.json" \
-i i8 -e $(SDKDIR)/components/standardlibrary/picocode/nfp6000/catamaran/catamaran.npfw \
-chip nfp-4xxxc-b0 -g -o $@ \
-u i36.me9 $(OUTDIR)/nfd_pcie0_pd0.list/nfd_pcie0_pd0.list \
-u pcie0.me3 $(OUTDIR)/nfd_pcie0_pci_in_issue1.list/nfd_pcie0_pci_in_issue1.list \
-u pcie0.me0 $(OUTDIR)/nfd_pcie0_pci_out_me0.list/nfd_pcie0_pci_out_me0.list \
-u i36.me7 $(OUTDIR)/nfd_pcie0_pd1.list/nfd_pcie0_pd1.list \
-u pcie0.me2 $(OUTDIR)/nfd_pcie0_pci_in_issue0.list/nfd_pcie0_pci_in_issue0.list \
-u i48.me1 $(OUTDIR)/gro1.list/gro1.list \
-u i32.me0 i33.me0 i34.me0 i35.me0 i36.me0 i32.me1 i33.me1 \
i34.me1 i35.me1 i36.me1 i32.me2 i33.me2 i34.me2 i35.me2 \
i36.me2 i32.me3 i33.me3 i34.me3 i35.me3 i36.me3 i32.me4 \
i33.me4 i34.me4 i35.me4 i36.me4 i32.me5 i33.me5 i34.me5 \
i35.me5 i36.me5 i32.me6 i33.me6 i34.me6 i35.me6 i32.me7 \
i33.me7 i34.me7 i35.me7 i32.me8 i33.me8 i34.me8 i35.me8 \
i32.me9 i33.me9 i34.me9 i35.me9 i32.me10 i33.me10 i34.me10 \
i35.me10 i32.me11 i33.me11 i34.me11 i35.me11 $(OUTDIR)/pif_app_nfd.list/pif_app_nfd.list \
-u i36.me11 $(OUTDIR)/app_master.list/app_master.list \
-u i48.me2 $(OUTDIR)/nfd_svc.list/nfd_svc.list \
-u i48.me3 $(OUTDIR)/blm0.list/blm0.list \
-u i48.me0 $(OUTDIR)/gro0.list/gro0.list \
-u i36.me6 $(OUTDIR)/nfd_pcie0_notify.list/nfd_pcie0_notify.list \
-u pcie0.me1 $(OUTDIR)/nfd_pcie0_pci_in_gather.list/nfd_pcie0_pci_in_gather.list \
-u i36.me10 $(OUTDIR)/flowcache_timeout_emu0.list/flowcache_timeout_emu0.list \
-u i36.me8 $(OUTDIR)/nfd_pcie0_sb.list/nfd_pcie0_sb.list \
-L $(OUTDIR)/nbi_init_csr.list/nbi_init_csr.list
#
# Generate build info json
#
$(PIFOUTDIR)/build_info.json: $(MAKEFILE_LIST)
@echo ---------
@echo generating $@
@echo ---------
@mkdir -p $(PIFOUTDIR)
@echo -n {\"sku\": \"nfp-4xxxc-b0\", \"worker_mes\": [\"i32.me0\", \"i33.me0\", \"i34.me0\", \"i35.me0\", \"i36.me0\", \"i32.me1\", \"i33.me1\", \"i34.me1\", \"i35.me1\", \"i36.me1\", \"i32.me2\", \"i33.me2\", \"i34.me2\", \"i35.me2\", \"i36.me2\", \"i32.me3\", \"i33.me3\", \"i34.me3\", \"i35.me3\", \"i36.me3\", \"i32.me4\", \"i33.me4\", \"i34.me4\", \"i35.me4\", \"i36.me4\", \"i32.me5\", \"i33.me5\", \"i34.me5\", \"i35.me5\", \"i36.me5\", \"i32.me6\", \"i33.me6\", \"i34.me6\", \"i35.me6\", \"i32.me7\", \"i33.me7\", \"i34.me7\", \"i35.me7\", \"i32.me8\", \"i33.me8\", \"i34.me8\", \"i35.me8\", \"i32.me9\", \"i33.me9\", \"i34.me9\", \"i35.me9\", \"i32.me10\", \"i33.me10\", \"i34.me10\", \"i35.me10\", \"i32.me11\", \"i33.me11\", \"i34.me11\", \"i35.me11\"], \"reduced_thread_usage\": true, \"debug_info\": true, \"simulation\": false} >$@
#
# Generate IR from P4
#
$(OUTDIR)/test.yml: p4src/test.p4 \
$(MAKEFILE_LIST)
@echo ---------
@echo compiling p4 $@
@echo ---------
@mkdir -p $(PIFOUTDIR)
$(SDKP4DIR)/bin/nfp4c -o $(OUTDIR)/test.yml \
--p4-version 16 \
--p4-compiler p4c-nfp \
--source_info \
p4src/test.p4
#
# Generate PIF from IR
#
$(PIFOUTDIR)/pif_design%c \
$(PIFOUTDIR)/pif_design%h \
$(PIFOUTDIR)/pif_parrep%c \
$(PIFOUTDIR)/pif_parrep%h \
$(PIFOUTDIR)/pif_actions%c \
$(PIFOUTDIR)/pif_actions%h \
$(PIFOUTDIR)/pif_global%c \
$(PIFOUTDIR)/pif_global%h \
$(PIFOUTDIR)/pif_ctlflow%c \
$(PIFOUTDIR)/pif_ctlflow%h \
$(PIFOUTDIR)/pif_tables%c \
$(PIFOUTDIR)/pif_tables%h \
$(PIFOUTDIR)/pif_deparse%c \
$(PIFOUTDIR)/pif_digests%c \
$(PIFOUTDIR)/pif_digests%h \
$(PIFOUTDIR)/pif_meters%c \
$(PIFOUTDIR)/pif_meters%h \
$(PIFOUTDIR)/pif_registers%c \
$(PIFOUTDIR)/pif_registers%h \
$(PIFOUTDIR)/pif_pkt_recurse%c \
$(PIFOUTDIR)/pif_pkt_recurse%h \
$(PIFOUTDIR)/pif_pkt_clone%c \
$(PIFOUTDIR)/pif_pkt_clone%h \
$(PIFOUTDIR)/pif_flcalc%c \
$(PIFOUTDIR)/pif_flcalc%h \
$(PIFOUTDIR)/pif_field_lists%h \
$(PIFOUTDIR)/pif_parrep_pvs_sync%c : $(OUTDIR)/test%yml $(MAKEFILE_LIST)
@echo ---------
@echo generating pif $@
@echo ---------
@mkdir -p $(PIFOUTDIR)
$(SDKP4DIR)/bin/nfirc -o $(PIFOUTDIR)/ \
--p4info $(OUTDIR)/test.p4info.json \
--debugpoints \
--mac_ingress_timestamp \
$(OUTDIR)/test.yml
#
# NFD_PCIE0_PD0
#
$(OUTDIR)/nfd_pcie0_pd0.list/nfd_pcie0_pd0.list: $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_pd.uc \
$(PIFOUTDIR)/pif_design.h \
$(MAKEFILE_LIST)
@echo ---------
@echo assembling $@
@echo ---------
@mkdir -p $(OUTDIR)/nfd_pcie0_pd0.list
$(SDKTOOLSDIR)/nfas -DPLATFORM_PORT_SELECTION=H_PLATFORM \
-DPIF_APP_CONFIG=PIF_APP_DEFAULT \
-DNUM_IMU=1 \
-DNUM_EMU=1 \
-DSIMULATION=0 \
-DPIF_APP_REDUCED_THREADS=1 \
-DPIF_DEBUG=1 \
-DSTAGE_BATCH_MANAGER_CTX=0 \
-DNFD_OUT_SB_WQ_NUM=15 \
-DNFD_OUT_STAGE_ME="__nfp_idstr2meid(\"i36.me8\")" \
-DPCIE_ISL=0 \
-chip nfp-4xxxc-b0 \
-go \
-t \
-W3 \
-R \
-lm 0 \
-C \
-Of \
-Os \
-O \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_h \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_uc \
-I$(SDKDIR)/components/flowenv/me/blocks/blm \
-I$(SDKDIR)/components/flowenv/me/blocks \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include \
-I$(SDKDIR)/components/ng_nfd/me/blocks/vnic \
-I$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared \
-I$(SDKDIR)/components/ng_nfd/me/blocks \
-I$(SDKDIR)/components/ng_nfd/shared \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/common/include \
-I$(SDKDIR)/components/flowenv/me/include \
-I$(PIFOUTDIR)/ \
-I$(SDKDIR)/components/standardlibrary/microcode/src \
-I$(SDKDIR)/components/standardlibrary/microcode/include \
-I$(SDKDIR)/components/standardlibrary/include \
-include $(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include/config.h \
-o $@ $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_pd.uc
#
# NFD_PCIE0_PCI_IN_ISSUE1
#
$(OUTDIR)/nfd_pcie0_pci_in_issue1.list/nfd_pcie0_pci_in_issue1.list: $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_in_me1.c \
$(SDKDIR)/components/flowenv/me/blocks/blm/libblm.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/utils/libutils.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared/nfd_cfg.c \
$(SDKDIR)/components/standardlibrary/microc/src/intrinsic.c \
$(SDKDIR)/components/standardlibrary/microc/src/rtl.c \
$(SDKDIR)/components/flowenv/me/lib/nfp/libnfp.c \
$(SDKDIR)/components/flowenv/me/lib/std/libstd.c \
$(SDKDIR)/components/flowenv/me/lib/pkt/libpkt.c \
$(SDKDIR)/components/flowenv/me/lib/pktdma/libpktdma.c \
$(SDKDIR)/components/flowenv/me/lib/net/libnet.c \
$(SDKDIR)/components/flowenv/me/lib/modscript/libmodscript.c \
$(PIFOUTDIR)/pif_design.h \
$(MAKEFILE_LIST)
@echo ---------
@echo compiling $@
@echo ---------
@mkdir -p $(OUTDIR)/nfd_pcie0_pci_in_issue1.list
$(SDKTOOLSDIR)/nfcc -DPLATFORM_PORT_SELECTION=H_PLATFORM \
-DPIF_APP_CONFIG=PIF_APP_DEFAULT \
-DNUM_IMU=1 \
-DNUM_EMU=1 \
-DSIMULATION=0 \
-DPIF_APP_REDUCED_THREADS=1 \
-DPIF_DEBUG=1 \
-DNFD_IN_NOTIFY_ME="__nfp_idstr2meid(\"i36.me6\")" \
-DPCI_IN_ISSUE_DMA_IDX=1 \
-DPCIE_ISL=0 \
-chip nfp-4xxxc-b0 \
-W3 \
-Qno_decl_volatile \
-O2 \
-mIPOPT_nfp=2 \
-Zi \
-ng \
-Qnctx=4 \
-Qnctx_mode=4 \
-Qlmpt_reserve_option=0xc \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_h \
-I$(SDKDIR)/components/flowenv/me/blocks \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include \
-I$(SDKDIR)/components/ng_nfd/me/blocks \
-I$(SDKDIR)/components/ng_nfd/shared \
-I$(SDKDIR)/components/ng_nfd \
-I$(SDKDIR)/components/standardlibrary/microc/include \
-I$(SDKDIR)/components/standardlibrary/microc/src \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/common/include \
-I$(SDKDIR)/components/flowenv/me/include \
-I$(SDKDIR)/components/flowenv/me/include/nfp6000 \
-I$(SDKDIR)/components/flowenv/me/lib \
-I$(SDKDIR)/components/flowenv/me/lib/nfp \
-I$(PIFOUTDIR)/ \
-I$(PIFOUTDIR)/callbackapi \
-I$(SDKDIR)/components/standardlibrary/include \
-FI$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include/config.h \
-Fo$(OUTDIR)/nfd_pcie0_pci_in_issue1.list/ \
-Fe$(OUTDIR)/nfd_pcie0_pci_in_issue1.list/nfd_pcie0_pci_in_issue1 $(NFCC_FLAGS) \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_in_me1.c \
$(SDKDIR)/components/flowenv/me/blocks/blm/libblm.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/utils/libutils.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared/nfd_cfg.c \
$(SDKDIR)/components/standardlibrary/microc/src/intrinsic.c \
$(SDKDIR)/components/standardlibrary/microc/src/rtl.c \
$(SDKDIR)/components/flowenv/me/lib/nfp/libnfp.c \
$(SDKDIR)/components/flowenv/me/lib/std/libstd.c \
$(SDKDIR)/components/flowenv/me/lib/pkt/libpkt.c \
$(SDKDIR)/components/flowenv/me/lib/pktdma/libpktdma.c \
$(SDKDIR)/components/flowenv/me/lib/net/libnet.c \
$(SDKDIR)/components/flowenv/me/lib/modscript/libmodscript.c
#
# NFD_PCIE0_PCI_OUT_ME0
#
$(OUTDIR)/nfd_pcie0_pci_out_me0.list/nfd_pcie0_pci_out_me0.list: $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_me0.c \
$(SDKDIR)/components/flowenv/me/blocks/blm/libblm.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/utils/libutils.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared/nfd_cfg.c \
$(SDKDIR)/components/standardlibrary/microc/src/intrinsic.c \
$(SDKDIR)/components/standardlibrary/microc/src/rtl.c \
$(SDKDIR)/components/flowenv/me/lib/nfp/libnfp.c \
$(SDKDIR)/components/flowenv/me/lib/std/libstd.c \
$(SDKDIR)/components/flowenv/me/lib/pkt/libpkt.c \
$(SDKDIR)/components/flowenv/me/lib/pktdma/libpktdma.c \
$(SDKDIR)/components/flowenv/me/lib/net/libnet.c \
$(SDKDIR)/components/flowenv/me/lib/modscript/libmodscript.c \
$(PIFOUTDIR)/pif_design.h \
$(MAKEFILE_LIST)
@echo ---------
@echo compiling $@
@echo ---------
@mkdir -p $(OUTDIR)/nfd_pcie0_pci_out_me0.list
$(SDKTOOLSDIR)/nfcc -DPLATFORM_PORT_SELECTION=H_PLATFORM \
-DPIF_APP_CONFIG=PIF_APP_DEFAULT \
-DNUM_IMU=1 \
-DNUM_EMU=1 \
-DSIMULATION=0 \
-DPIF_APP_REDUCED_THREADS=1 \
-DPIF_DEBUG=1 \
-DNFD_CFG_SIG_NEXT_ME="nfd_cfg_sig_sb" \
-DNFD_CFG_NEXT_ME="__nfp_idstr2meid(\"i36.me8\")" \
-DPCIE_ISL=0 \
-chip nfp-4xxxc-b0 \
-W3 \
-Qno_decl_volatile \
-O2 \
-mIPOPT_nfp=2 \
-Zi \
-ng \
-Qnctx=8 \
-Qnctx_mode=8 \
-Qlm_start=512 \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_h \
-I$(SDKDIR)/components/flowenv/me/blocks \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include \
-I$(SDKDIR)/components/ng_nfd/me/blocks \
-I$(SDKDIR)/components/ng_nfd/shared \
-I$(SDKDIR)/components/ng_nfd \
-I$(SDKDIR)/components/standardlibrary/microc/include \
-I$(SDKDIR)/components/standardlibrary/microc/src \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/common/include \
-I$(SDKDIR)/components/flowenv/me/include \
-I$(SDKDIR)/components/flowenv/me/include/nfp6000 \
-I$(SDKDIR)/components/flowenv/me/lib \
-I$(SDKDIR)/components/flowenv/me/lib/nfp \
-I$(PIFOUTDIR)/ \
-I$(PIFOUTDIR)/callbackapi \
-I$(SDKDIR)/components/standardlibrary/include \
-FI$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include/config.h \
-Fo$(OUTDIR)/nfd_pcie0_pci_out_me0.list/ \
-Fe$(OUTDIR)/nfd_pcie0_pci_out_me0.list/nfd_pcie0_pci_out_me0 $(NFCC_FLAGS) \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_me0.c \
$(SDKDIR)/components/flowenv/me/blocks/blm/libblm.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/utils/libutils.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared/nfd_cfg.c \
$(SDKDIR)/components/standardlibrary/microc/src/intrinsic.c \
$(SDKDIR)/components/standardlibrary/microc/src/rtl.c \
$(SDKDIR)/components/flowenv/me/lib/nfp/libnfp.c \
$(SDKDIR)/components/flowenv/me/lib/std/libstd.c \
$(SDKDIR)/components/flowenv/me/lib/pkt/libpkt.c \
$(SDKDIR)/components/flowenv/me/lib/pktdma/libpktdma.c \
$(SDKDIR)/components/flowenv/me/lib/net/libnet.c \
$(SDKDIR)/components/flowenv/me/lib/modscript/libmodscript.c
#
# NBI_INIT_CSR
#
$(OUTDIR)/nbi_init_csr.list/nbi_init_csr.list: $(SDKP4DIR)/components/nfp_pif/me/apps/common/src/nbi_init.uc \
$(PIFOUTDIR)/pif_design.h \
$(MAKEFILE_LIST)
@echo ---------
@echo assembling $@
@echo ---------
@mkdir -p $(OUTDIR)/nbi_init_csr.list
$(SDKTOOLSDIR)/nfas -DPLATFORM_PORT_SELECTION=H_PLATFORM \
-DPIF_APP_CONFIG=PIF_APP_DEFAULT \
-DNUM_IMU=1 \
-DNUM_EMU=1 \
-DSIMULATION=0 \
-DPIF_APP_REDUCED_THREADS=1 \
-DPIF_DEBUG=1 \
-chip nfp-4xxxc-b0 \
-go \
-W3 \
-R \
-C \
-permit_dram_unaligned \
-preproc64 \
-keep_unreachable_code \
-lm 0 \
-codeless \
-I$(SDKDIR)/components/flowenv/me/blocks/init \
-I$(SDKDIR)/components/flowenv/me/blocks/init/_uc \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/common/include \
-I$(SDKDIR)/components/standardlibrary/microcode/src \
-I$(SDKDIR)/components/standardlibrary/microcode/include \
-I$(PIFOUTDIR)/ \
-I$(SDKDIR)/components/standardlibrary/include \
-include $(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include/config.h \
-o $@ $(SDKP4DIR)/components/nfp_pif/me/apps/common/src/nbi_init.uc
#
# NFD_PCIE0_PD1
#
$(OUTDIR)/nfd_pcie0_pd1.list/nfd_pcie0_pd1.list: $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_pd.uc \
$(PIFOUTDIR)/pif_design.h \
$(MAKEFILE_LIST)
@echo ---------
@echo assembling $@
@echo ---------
@mkdir -p $(OUTDIR)/nfd_pcie0_pd1.list
$(SDKTOOLSDIR)/nfas -DPLATFORM_PORT_SELECTION=H_PLATFORM \
-DPIF_APP_CONFIG=PIF_APP_DEFAULT \
-DNUM_IMU=1 \
-DNUM_EMU=1 \
-DSIMULATION=0 \
-DPIF_APP_REDUCED_THREADS=1 \
-DPIF_DEBUG=1 \
-DSTAGE_BATCH_MANAGER_CTX=0 \
-DNFD_OUT_SB_WQ_NUM=15 \
-DNFD_OUT_STAGE_ME="__nfp_idstr2meid(\"i36.me8\")" \
-DPCIE_ISL=0 \
-chip nfp-4xxxc-b0 \
-go \
-t \
-W3 \
-R \
-lm 0 \
-C \
-Of \
-Os \
-O \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_h \
-I$(SDKDIR)/components/flowenv/me/blocks/blm/_uc \
-I$(SDKDIR)/components/flowenv/me/blocks/blm \
-I$(SDKDIR)/components/flowenv/me/blocks \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include \
-I$(SDKDIR)/components/ng_nfd/me/blocks/vnic \
-I$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared \
-I$(SDKDIR)/components/ng_nfd/me/blocks \
-I$(SDKDIR)/components/ng_nfd/shared \
-I$(SDKP4DIR)/components/nfp_pif/me/apps/common/include \
-I$(SDKDIR)/components/flowenv/me/include \
-I$(PIFOUTDIR)/ \
-I$(SDKDIR)/components/standardlibrary/microcode/src \
-I$(SDKDIR)/components/standardlibrary/microcode/include \
-I$(SDKDIR)/components/standardlibrary/include \
-include $(SDKP4DIR)/components/nfp_pif/me/apps/pif_app_nfd/include/config.h \
-o $@ $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_out_pd.uc
#
# NFD_PCIE0_PCI_IN_ISSUE0
#
$(OUTDIR)/nfd_pcie0_pci_in_issue0.list/nfd_pcie0_pci_in_issue0.list: $(SDKDIR)/components/ng_nfd/me/blocks/vnic/pci_in_me1.c \
$(SDKDIR)/components/flowenv/me/blocks/blm/libblm.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/utils/libutils.c \
$(SDKDIR)/components/ng_nfd/me/blocks/vnic/shared/nfd_cfg.c \
$(SDKDIR)/components/standardlibrary/microc/src/intrinsic.c \
$(SDKDIR)/components/standardlibrary/microc/src/rtl.c \
$(SDKDIR)/components/flowenv/me/lib/nfp/libnfp.c \
$(SDKDIR)/components/flowenv/me/lib/std/libstd.c \
$(SDKDIR)/components/flowenv/me/lib/pkt/libpkt.c \