Debug send ipv4 packets to controller

This commit is contained in:
Nico Schottelius 2019-03-25 13:09:29 +01:00
parent b7b3e97302
commit 236bd8e7d6
3 changed files with 9 additions and 8 deletions

View file

@ -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

View file

@ -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)

View file

@ -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 ***********************************/