++debug of netfpga compile
This commit is contained in:
parent
128da41060
commit
55a363055b
3 changed files with 38 additions and 46 deletions
36
doc/plan.org
36
doc/plan.org
|
@ -2347,7 +2347,6 @@ actual < tuple_out_digest_data, tuple_out_sume_metadata > = < 0000000000000000
|
|||
$finish called at time : 2735572 ps : File
|
||||
"/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch/Testbench/Check.v"
|
||||
Line 120
|
||||
|
||||
#+END_CENTER
|
||||
|
||||
Error message created in
|
||||
|
@ -2379,7 +2378,6 @@ INFO: [Common 17-206] Exiting xsim at Sat May 25 14:38:05 2019...
|
|||
[14:38] rainbow:SimpleSumeSwitch%
|
||||
|
||||
#+END_CENTER
|
||||
|
||||
Analysing Makefile in testdata + scripts
|
||||
******** get_testdata.py: generates some pcap with some packets
|
||||
|
||||
|
@ -5876,13 +5874,43 @@ compile-20190713-1935-failure compile-2019-07-21-122852 step4-2019-07-21-1
|
|||
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$
|
||||
|
||||
#+END_CENTER
|
||||
**** TODO try3: find out again, what generates config_writes.py
|
||||
**** DONE try3: find out again, what generates config_writes.py: likely step6
|
||||
CLOSED: [2019-07-21 Sun 14:11]
|
||||
***** Solution: Commented out code by me for debugging
|
||||
#+BEGIN_CENTER
|
||||
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ cd $P4_PROJECT_DIR && make config_writes
|
||||
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
|
||||
orig dic: OrderedDict([(0, ('00000020', '00000001')), (1, ('00000020', '00000000'))])
|
||||
new dic: OrderedDict()
|
||||
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$
|
||||
|
||||
#+END_CENTER
|
||||
**** TODO try4: find out why empty "new dic: OrderedDict()" is a problem - unclear
|
||||
**** TODO try5: use older version of gen_testdata
|
||||
Previous output and new output of tuple expect:
|
||||
|
||||
#+BEGIN_CENTER
|
||||
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ cat testdata/Tuple_expect.txt
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001010000
|
||||
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ cat testdata/Tuple_expect.txt
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001010000
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001040000
|
||||
|
||||
#+END_CENTER
|
||||
|
||||
*** TODO Further notes P4/master thesis
|
||||
- Cannot easily run P4 on notebook - changes to the system very
|
||||
invasive
|
||||
- Varous compiler bugs/limitations
|
||||
- Very very deep rabbithole problems
|
||||
- Hanging/sleeping issue -- unclear whether it does something or not
|
||||
- Hanging/sleeping issue -- unclear whether it does something or
|
||||
not
|
||||
- Open impl_1 error with unclear reason
|
||||
- logfiles referenced that don't exist
|
||||
Run output will be captured here: /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/synth/runme.log
|
||||
nico@nsg-System:~/master-thesis/netpfga/log$ ls -alh /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/synth/runme.log
|
||||
ls: cannot access '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw/project/simple_sume_switch.runs/synth/runme.log': No such file or directory
|
||||
|
||||
|
||||
** The NetPFGA saga
|
||||
Problems encountered:
|
||||
|
|
|
@ -7,7 +7,7 @@ echo "First source all variables and THEN run this script"
|
|||
read something
|
||||
|
||||
# Step 1..3: create code
|
||||
# Step 4
|
||||
# Step 4:
|
||||
cd $P4_PROJECT_DIR && make
|
||||
|
||||
# Step 5
|
||||
|
|
46
netpfga/minip4/testdata/gen_testdata-port1.py
vendored
46
netpfga/minip4/testdata/gen_testdata-port1.py
vendored
|
@ -1,14 +1,10 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# from switch_calc_headers import *
|
||||
from scapy.all import *
|
||||
from nf_sim_tools import *
|
||||
from collections import OrderedDict
|
||||
import sss_sdnet_tuples
|
||||
|
||||
########################
|
||||
# pkt generation tools #
|
||||
########################
|
||||
|
||||
pktsApplied = []
|
||||
pktsExpected = []
|
||||
|
@ -47,6 +43,7 @@ def applyPkt(pkt, ingress, time):
|
|||
sss_sdnet_tuples.sume_tuple_in['src_port'] = nf_port_map[ingress]
|
||||
sss_sdnet_tuples.sume_tuple_expect['src_port'] = nf_port_map[ingress]
|
||||
pkt.time = time
|
||||
print("apply packet on {} at {}: {}".format(ingress, time, pkt.__repr__()))
|
||||
nf_applied[nf_id_map[ingress]].append(pkt)
|
||||
|
||||
def expPkt(pkt, egress):
|
||||
|
@ -60,6 +57,8 @@ def expPkt(pkt, egress):
|
|||
nf_expected[1].append(pkt)
|
||||
nf_expected[2].append(pkt)
|
||||
nf_expected[3].append(pkt)
|
||||
print("exppkt packet on {}: {}".format(egress, pkt.__repr__()))
|
||||
|
||||
|
||||
def print_summary(pkts):
|
||||
for pkt in pkts:
|
||||
|
@ -119,42 +118,7 @@ def test_port1():
|
|||
pktCnt += 1
|
||||
expPkt(pkt, 'nf0')
|
||||
|
||||
# Test that packets are being mirrored
|
||||
def test_mirror():
|
||||
pktCnt = 0
|
||||
|
||||
# First ethernet
|
||||
pktCnt += 1
|
||||
pkt = Ether(dst=MAC2, src=MAC1)
|
||||
pkt = pad_pkt(pkt, 64)
|
||||
applyPkt(pkt, 'nf0', pktCnt)
|
||||
|
||||
pktCnt += 1
|
||||
pkt = Ether(dst=MAC1, src=MAC2)
|
||||
pkt = pad_pkt(pkt, 64)
|
||||
expPkt(pkt, 'nf0')
|
||||
|
||||
# # Second IP
|
||||
# pktCnt += 1
|
||||
# pkt = Ether(dst=MAC2, src=MAC1) / IPv6(src="fe80::1", dst="fe80::2")
|
||||
# pkt = pad_pkt(pkt, 64)
|
||||
# applyPkt(pkt, 'nf0', pktCnt)
|
||||
# pktCnt += 1
|
||||
# pkt = Ether(dst=MAC1, src=MAC2) / IPv6(src="fe80::2", dst="fe80::1")
|
||||
# pkt = pad_pkt(pkt, 64)
|
||||
# expPkt(pkt, 'nf0')
|
||||
|
||||
# # Third tcp
|
||||
# pktCnt += 1
|
||||
# pkt = Ether(dst=MAC2, src=MAC1) / IPv6(src="fe80::1", dst="fe80::2") / TCP(sport=42, dport=23)
|
||||
# pkt = pad_pkt(pkt, 64)
|
||||
# applyPkt(pkt, 'nf0', pktCnt)
|
||||
# pktCnt += 1
|
||||
# pkt = Ether(dst=MAC1, src=MAC2) / IPv6(src="fe80::2", dst="fe80::1") / TCP(sport=23, dport=42)
|
||||
# pkt = pad_pkt(pkt, 64)
|
||||
# expPkt(pkt, 'nf0')
|
||||
|
||||
#test_mirror()
|
||||
test_port1()
|
||||
|
||||
write_pcap_files()
|
||||
# don't write at the moment, just help debugging
|
||||
# write_pcap_files()
|
||||
|
|
Loading…
Reference in a new issue