[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…
	
	Add table
		Add a link
		
	
		Reference in a new issue