[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
 | 
			
		||||
| 5.1. - 5.5 | failure due to variable renaming |
 | 
			
		||||
|        5.6 | subparser: compiled!             |
 | 
			
		||||
|        5.7 | subcontrol:                      |
 | 
			
		||||
|        5.8 | nat64 actions/table:             |
 | 
			
		||||
|        5.7 | subcontrol: [nsg]                |
 | 
			
		||||
|        5.8 | nat64 actions/table: --          |
 | 
			
		||||
|        5.9 | nat64+headers [esprimo]:         |
 | 
			
		||||
** TODO Benchmark/comparison
 | 
			
		||||
*** TODO Setup / Benchmark Jool
 | 
			
		||||
*** TODO Setup / Benchmark tayga
 | 
			
		||||
| 
						 | 
				
			
			@ -6104,8 +6105,10 @@ nico@nsg-System:~/master-thesis/netpfga/minip4/simple_sume_switch/test/sim_switc
 | 
			
		|||
#+END_CENTER
 | 
			
		||||
*** DONE 2019-07-23: check: switch_calc compiles
 | 
			
		||||
    CLOSED: [2019-07-23 Tue 08:59]
 | 
			
		||||
*** TODO Reset project to plain send-to-port1 code, no includes
 | 
			
		||||
*** TODO 2019-07-23: merge/migrate code into switch calc until it breaks
 | 
			
		||||
*** DONE Reset project to plain send-to-port1 code, no includes
 | 
			
		||||
    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]
 | 
			
		||||
**** DONE Install SDNET via xsetup
 | 
			
		||||
     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
 | 
			
		||||
 | 
			
		||||
#+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
 | 
			
		||||
     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
 | 
			
		||||
      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
 | 
			
		||||
Problems encountered:
 | 
			
		||||
- The logfile for a compile run is 10k+ lines
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,6 +74,7 @@ control RealMain(
 | 
			
		|||
    inout sume_metadata_t sume_metadata) {
 | 
			
		||||
 | 
			
		||||
    #include "actions_nat64_generic.p4"
 | 
			
		||||
    #include "actions_egress.p4"
 | 
			
		||||
 | 
			
		||||
    action swap_eth_addresses() {
 | 
			
		||||
        mac_addr_t temp = hdr.ethernet.dst_addr;
 | 
			
		||||
| 
						 | 
				
			
			@ -120,6 +121,27 @@ control RealMain(
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue