[netpfga] phase in first applied tables/nat64 code

This commit is contained in:
Nico Schottelius 2019-07-24 13:08:02 +02:00
parent 49e1f511b0
commit ee0d500355
2 changed files with 35 additions and 5 deletions

View file

@ -3331,8 +3331,9 @@ https://en.wikipedia.org/wiki/IPv4_header_checksum
** Compile log ** Compile log
| 5.1. - 5.5 | failure due to variable renaming | | 5.1. - 5.5 | failure due to variable renaming |
| 5.6 | subparser: compiled! | | 5.6 | subparser: compiled! |
| 5.7 | subcontrol: | | 5.7 | subcontrol: [nsg] |
| 5.8 | nat64 actions/table: | | 5.8 | nat64 actions/table: -- |
| 5.9 | nat64+headers [esprimo]: |
** TODO Benchmark/comparison ** TODO Benchmark/comparison
*** TODO Setup / Benchmark Jool *** TODO Setup / Benchmark Jool
*** TODO Setup / Benchmark tayga *** TODO Setup / Benchmark tayga
@ -6104,8 +6105,10 @@ nico@nsg-System:~/master-thesis/netpfga/minip4/simple_sume_switch/test/sim_switc
#+END_CENTER #+END_CENTER
*** DONE 2019-07-23: check: switch_calc compiles *** DONE 2019-07-23: check: switch_calc compiles
CLOSED: [2019-07-23 Tue 08:59] CLOSED: [2019-07-23 Tue 08:59]
*** TODO Reset project to plain send-to-port1 code, no includes *** DONE Reset project to plain send-to-port1 code, no includes
*** TODO 2019-07-23: merge/migrate code into switch calc until it breaks CLOSED: [2019-07-24 Wed 12:21]
*** DONE 2019-07-23: merge/migrate code into switch calc until it breaks
CLOSED: [2019-07-24 Wed 12:21]
*** TODO 2019-07-23: install xilinx & co. to eth2.nico.ungleich.cloud -> 2nd compiler [MANUAL] *** TODO 2019-07-23: install xilinx & co. to eth2.nico.ungleich.cloud -> 2nd compiler [MANUAL]
**** DONE Install SDNET via xsetup **** DONE Install SDNET via xsetup
CLOSED: [2019-07-23 Tue 11:03] CLOSED: [2019-07-23 Tue 11:03]
@ -6217,7 +6220,8 @@ sudo apt-get install -y libc6-dev-i386
sudo apt install -y libc6-dev sudo apt install -y libc6-dev
#+END_CENTER #+END_CENTER
*** 2019-07-23: compiling on ISG computer *** DONE 2019-07-23: compiling on ISG computer
CLOSED: [2019-07-24 Wed 12:19]
**** DONE try1: "souce" files: / missing sumereg **** DONE try1: "souce" files: / missing sumereg
CLOSED: [2019-07-23 Tue 12:14] CLOSED: [2019-07-23 Tue 12:14]
@ -6433,6 +6437,10 @@ release, use 'get_user_parameters' instead
messages that actually constitute ERROR messages, but are not messages that actually constitute ERROR messages, but are not
flagged as such nor do they cause the build process to abort. flagged as such nor do they cause the build process to abort.
*** 2019-07-24: setup VM in DCL as third compiler [INSTALL MANUAL]
**** TODO install mate for getting xlibraries
**** Install sdnet
** 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

@ -74,6 +74,7 @@ control RealMain(
inout sume_metadata_t sume_metadata) { inout sume_metadata_t sume_metadata) {
#include "actions_nat64_generic.p4" #include "actions_nat64_generic.p4"
#include "actions_egress.p4"
action swap_eth_addresses() { action swap_eth_addresses() {
mac_addr_t temp = hdr.ethernet.dst_addr; mac_addr_t temp = hdr.ethernet.dst_addr;
@ -120,6 +121,27 @@ control RealMain(
} }
apply { apply {
if(hdr.ipv6.isValid()) {
if(nat64.apply().hit) { /* generic / static nat64 done */
if(hdr.icmp6.isValid()) {
nat64_icmp6_generic();
if(hdr.icmp6.type == ICMP6_ECHO_REPLY) {
hdr.icmp.type = ICMP_ECHO_REPLY;
hdr.icmp.code = 0;
}
if(hdr.icmp6.type == ICMP6_ECHO_REQUEST) {
hdr.icmp.type = ICMP_ECHO_REQUEST;
hdr.icmp.code = 0;
}
}
}
} else if(hdr.arp.isValid()) {
if(v4_arp.apply().hit) {
v4_arp_egress.apply();
}
}
lookup_table.apply(); lookup_table.apply();
} }
} }