Re-add prod nat64 code to netpfga

This commit is contained in:
Nico Schottelius 2019-07-29 21:34:07 +02:00
parent 636fb52ac5
commit dfa19325a5
2 changed files with 45 additions and 11 deletions

View File

@ -7267,8 +7267,7 @@ success
*** DONE 2019-07-28: ping6 test for getting packet: failure *** DONE 2019-07-28: ping6 test for getting packet: failure
CLOSED: [2019-07-28 Sun 12:43] CLOSED: [2019-07-28 Sun 12:43]
*** DONE 2019-07-28: !!!!!!! NETPFGA PORT MAPPINGS *** TODO 2019-07-28: !!!!!!! NETPFGA PORT MAPPINGS
CLOSED: [2019-07-29 Mon 18:35]
nf_port_map = { nf_port_map = {
"nf0":0b00000001, "nf0":0b00000001,
"nf1":0b00000100, "nf1":0b00000100,
@ -7280,11 +7279,11 @@ nf_port_map = {
- esprimo either nf0 & nf1 - esprimo either nf0 & nf1
- or esprimo nf2 & nf3 - or esprimo nf2 & nf3
| port 0 | 0b00000001 | 1 | eth1@ nsg ?! likely: esprimo enp2s0f0 | | | port 0 | 0b00000001 | 1 | eth1@ nsg |
| port 1 | 0b00000100 | 4 | likely: esprimo enp2s0f1 | | | port 1 | 0b00000100 | 4 | |
| port 2 | 0b00010000 | 16 | not connected likely | | | port 2 | 0b00010000 | 16 | esprimo enp2s0f0 |
| port 3 | 0b01000000 | 64 | eth1 @ nsg | PROBALY NOT, probably 1! | | port 3 | 0b01000000 | 64 | esprimo enp2s0f1 |
| | | | | | | | | | |
*** DONE 2019-07-28: testing with port = 64 (first or last in theory): LAST! WORKS! *** DONE 2019-07-28: testing with port = 64 (first or last in theory): LAST! WORKS!
CLOSED: [2019-07-28 Sun 13:19] CLOSED: [2019-07-28 Sun 13:19]
@ -8060,7 +8059,39 @@ listening on enp2s0f1, link-type EN10MB (Ethernet), capture size 262144 bytes
#+END_CENTER #+END_CENTER
**** DONE 2019-07-29: found bug in PARSER!!!! **** DONE 2019-07-29: found bug in PARSER!!!!
CLOSED: [2019-07-29 Mon 18:34] CLOSED: [2019-07-29 Mon 18:34]
*** 2019-07-29: documentation: `portland.sty' not found *** DONE 2019-07-29: testing v8.0: sucess!
CLOSED: [2019-07-29 Mon 20:49]
- eth1 on nsg: seeing ipv4 and ipv6
- eth1 on nsg: seeing icmp (ipv4)
- enp2s0f0 SEES icmp6!
*** TODO 2019-07-29: test table entries for moving to different port
#+BEGIN_CENTER
>> table_cam_add_entry realmain_dummy_table_for_netpfga_0 realmain.set_egress_port 34525 => 64
fields = [(u'hit', 1), (u'action_run', 2), (u'out_port', 8)]
action_name = TopPipe.realmain.set_egress_port
field_vals = [3, '64']
CAM_Init_ValidateContext() - done
WROTE 0x44020050 = 0x86dd
WROTE 0x44020080 = 0x0340
READ 0x44020044 = 0x0001
WROTE 0x44020040 = 0x0001
READ 0x44020044 = 0x0001
READ 0x44020044 = 0x0001
success
#+END_CENTER
It works!!!!!
#+BEGIN_CENTER
20:50:20.147649 IP6 2001:db8:42::42 > 2001:db8:42::2: ICMP6, echo request, seq 1, length 64
20:50:20.147670 IP6 2001:db8:42::42 > 2001:db8:42::2: ICMP6, echo request, seq 1, length 64
20:50:21.162126 IP6 2001:db8:42::42 > 2001:db8:42::2: ICMP6, echo request, seq 2, length 64
20:50:21.162148 IP6 2001:db8:42::42 > 2001:db8:42::2: ICMP6, echo request, seq 2, length 64
#+END_CENTER
*** DONE 2019-07-29: documentation: `portland.sty' not found: removed include
CLOSED: [2019-07-29 Mon 20:27]
** The NetPFGA saga ** The NetPFGA saga
Problems encountered: Problems encountered:
- The logfile for a compile run is 10k+ lines - The logfile for a compile run is 10k+ lines

View File

@ -61,17 +61,20 @@ control RealMain(
#include "actions_egress.p4" #include "actions_egress.p4"
#include "actions_delta_checksum.p4" #include "actions_delta_checksum.p4"
//#include "netpfga_dummy.p4"
#include "netpfga_dummy.p4"
apply { apply {
bit<17> tmp17 = 0; bit<17> tmp17 = 0;
/* does not compile without a table - give it a table */ /* does not compile without a table - give it a table */
dummy_table_for_netpfga.apply(); //dummy_table_for_netpfga.apply();
/* continue without tables */ /* continue without tables */
//#include "netpfga_nat64_stupid_hardcoded.p4" //#include "netpfga_nat64_stupid_hardcoded.p4"
#include "netpfga_nat64.p4"
} }
} }