Setup the cast_length in icmp->icmp6 translations
This commit is contained in:
		
					parent
					
						
							
								c465e5719b
							
						
					
				
			
			
				commit
				
					
						71d1e86d3f
					
				
			
		
					 2 changed files with 4 additions and 0 deletions
				
			
		|  | @ -738,6 +738,7 @@ Entry has been added with handle 0 | ||||||
| ******* DONE Make switch respond to ARP | ******* DONE Make switch respond to ARP | ||||||
| ******* DONE Make switch respond to icmp echo request w/ correct checksum (2019-04-03) | ******* DONE Make switch respond to icmp echo request w/ correct checksum (2019-04-03) | ||||||
| ******* TODO Correct icmp6 checksum | ******* TODO Correct icmp6 checksum | ||||||
|  | ******** DONE Checksum is SET, but not correct! | ||||||
| **** TODO Add / check default route for v4 hosts | **** TODO Add / check default route for v4 hosts | ||||||
| **** TODO Update p4c to avoid compiler bug | **** TODO Update p4c to avoid compiler bug | ||||||
| ***** TODO Updating p4c | ***** TODO Updating p4c | ||||||
|  |  | ||||||
|  | @ -167,6 +167,7 @@ Echo or Echo Reply Message | ||||||
|         hdr.ipv6.next_header = PROTO_ICMP6; |         hdr.ipv6.next_header = PROTO_ICMP6; | ||||||
| 
 | 
 | ||||||
|         meta.chk_icmp6 = 1; |         meta.chk_icmp6 = 1; | ||||||
|  |         meta.cast_length = (bit<32>) hdr.ipv6.payload_length; | ||||||
| 
 | 
 | ||||||
|         hdr.icmp.setInvalid(); |         hdr.icmp.setInvalid(); | ||||||
|     } |     } | ||||||
|  | @ -437,9 +438,11 @@ Echo or Echo Reply Message | ||||||
| 
 | 
 | ||||||
|                     if(hdr.icmp6.type == ICMP6_ECHO_REPLY) { |                     if(hdr.icmp6.type == ICMP6_ECHO_REPLY) { | ||||||
|                         hdr.icmp.type = ICMP_ECHO_REPLY; |                         hdr.icmp.type = ICMP_ECHO_REPLY; | ||||||
|  |                         hdr.icmp.code = 0; | ||||||
|                     } |                     } | ||||||
|                     if(hdr.icmp6.type == ICMP6_ECHO_REQUEST) { |                     if(hdr.icmp6.type == ICMP6_ECHO_REQUEST) { | ||||||
|                         hdr.icmp.type = ICMP_ECHO_REQUEST; |                         hdr.icmp.type = ICMP_ECHO_REQUEST; | ||||||
|  |                         hdr.icmp.code = 0; | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue