[netpfga] phase in first applied tables/nat64 code
This commit is contained in:
parent
49e1f511b0
commit
ee0d500355
2 changed files with 35 additions and 5 deletions
18
doc/plan.org
18
doc/plan.org
|
@ -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
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue