Debug send ipv4 packets to controller
This commit is contained in:
		
					parent
					
						
							
								b7b3e97302
							
						
					
				
			
			
				commit
				
					
						236bd8e7d6
					
				
			
		
					 3 changed files with 9 additions and 8 deletions
				
			
		| 
						 | 
					@ -398,7 +398,7 @@ Not sure what I meant to do here - closing.
 | 
				
			||||||
***** DONE Create table entry for mapping v4->v6 [net]
 | 
					***** DONE Create table entry for mapping v4->v6 [net]
 | 
				
			||||||
***** DONE Create table entry for mapping v6->v4 [net]
 | 
					***** DONE Create table entry for mapping v6->v4 [net]
 | 
				
			||||||
**** TODO Translate icmp <-> icmp6: test v6_static_mapping
 | 
					**** TODO Translate icmp <-> icmp6: test v6_static_mapping
 | 
				
			||||||
***** try1: only packets on h1 + controller 2019-03-25
 | 
					***** DONE try1: only packets on h1 + controller -> wrong checksum 2019-03-25
 | 
				
			||||||
+ filename=static_nat64-2019-03-25-1121-h1.pcap
 | 
					+ filename=static_nat64-2019-03-25-1121-h1.pcap
 | 
				
			||||||
+ intf=h1-eth0
 | 
					+ intf=h1-eth0
 | 
				
			||||||
+ mx h1 tcpdump -ni h1-eth0 -w static_nat64-2019-03-25-1121-h1.pcap
 | 
					+ mx h1 tcpdump -ni h1-eth0 -w static_nat64-2019-03-25-1121-h1.pcap
 | 
				
			||||||
| 
						 | 
					@ -421,6 +421,9 @@ that the checksum code DOES NOT work on the task field!
 | 
				
			||||||
Problem: task field might be overriden for controller use in different
 | 
					Problem: task field might be overriden for controller use in different
 | 
				
			||||||
table -> need different task field!
 | 
					table -> need different task field!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***** try2: checksum ok, but no packets on h3
 | 
				
			||||||
 | 
					****** Setup a default rule for the IPv4 world to debug on controller
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*** TODO Get p4 VM / vagrant running
 | 
					*** TODO Get p4 VM / vagrant running
 | 
				
			||||||
**** DONE install libvirtd-daemon
 | 
					**** DONE install libvirtd-daemon
 | 
				
			||||||
**** DONE install ebtables
 | 
					**** DONE install ebtables
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -421,12 +421,12 @@ class L2Controller(object):
 | 
				
			||||||
    def recv_msg_cpu(self, pkg):
 | 
					    def recv_msg_cpu(self, pkg):
 | 
				
			||||||
        packet = Ether(str(pkg))
 | 
					        packet = Ether(str(pkg))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # self.debug_print_pkg(pkg)
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if packet.type == 0x0800:
 | 
					        if packet.type == 0x0800:
 | 
				
			||||||
            pass
 | 
					            pass
 | 
				
			||||||
        elif packet.type == 0x86dd:
 | 
					        elif packet.type == 0x86dd:
 | 
				
			||||||
            pass
 | 
					            self.debug_print_pkg(pkg)
 | 
				
			||||||
        elif packet.type == 0x4242:
 | 
					        elif packet.type == 0x4242:
 | 
				
			||||||
            cpu_header = CpuHeader(packet.payload)
 | 
					            cpu_header = CpuHeader(packet.payload)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,9 +27,7 @@ control MyIngress(inout headers hdr,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    action controller_debug() {
 | 
					    action controller_debug() {
 | 
				
			||||||
        meta.task = TASK_DEBUG;
 | 
					        controller_reply(TASK_DEBUG);
 | 
				
			||||||
        meta.ingress_port = standard_metadata.ingress_port;
 | 
					 | 
				
			||||||
        clone3(CloneType.I2E, 100, meta);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    action controller_reply(task_t task) {
 | 
					    action controller_reply(task_t task) {
 | 
				
			||||||
| 
						 | 
					@ -308,7 +306,6 @@ control MyIngress(inout headers hdr,
 | 
				
			||||||
            NoAction;
 | 
					            NoAction;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        size = ROUTING_TABLE_SIZE;
 | 
					        size = ROUTING_TABLE_SIZE;
 | 
				
			||||||
//        default_action = NoAction;
 | 
					 | 
				
			||||||
        default_action = controller_debug;
 | 
					        default_action = controller_debug;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -318,10 +315,11 @@ control MyIngress(inout headers hdr,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        actions = {
 | 
					        actions = {
 | 
				
			||||||
			set_egress_port;
 | 
								set_egress_port;
 | 
				
			||||||
 | 
					            controller_debug;
 | 
				
			||||||
            NoAction;
 | 
					            NoAction;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        size = ROUTING_TABLE_SIZE;
 | 
					        size = ROUTING_TABLE_SIZE;
 | 
				
			||||||
        default_action = NoAction;
 | 
					        default_action = controller_debug;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/********************** APPLYING TABLES ***********************************/
 | 
						/********************** APPLYING TABLES ***********************************/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue