From 02f35b48700f3561f0d77e82c2db341aedd8bd33 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Mar 2019 21:06:48 +0000 Subject: [PATCH 1/5] +pcap: static_nat64-2019-03-26-2055-h3.pcap --- pcap/static_nat64-2019-03-26-2055-h3.pcap | Bin 0 -> 236 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pcap/static_nat64-2019-03-26-2055-h3.pcap b/pcap/static_nat64-2019-03-26-2055-h3.pcap index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3611ca1f92b813303dcbc63ba6492d8541d9c248 100644 GIT binary patch literal 236 zcmca|c+)~A1{MYcU}0bcas(#LiV^Z>W{3i^LD<+BNQf~oa4|42x7|$uau`&=3PCJ5 r_|F7qf*4{}46HyAMuvWdf_5OEkr_xJsbTyNG))j_lUOt(9c%&sg8LU0 literal 0 HcmV?d00001 From 5f946ff6b6b527c3766b5a33b44359ce15230368 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Mar 2019 21:13:34 +0000 Subject: [PATCH 2/5] +pcap: static_nat64-2019-03-26-2107-h1.pcap --- doc/plan.org | 9 +++++++++ p4src/static-mapping.p4 | 13 +++++++++---- pcap/static_nat64-2019-03-26-2107-h1.pcap | Bin 0 -> 856 bytes pcap/static_nat64-2019-03-26-2107-h3.pcap | 0 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 pcap/static_nat64-2019-03-26-2107-h1.pcap create mode 100644 pcap/static_nat64-2019-03-26-2107-h3.pcap diff --git a/doc/plan.org b/doc/plan.org index dd121bb..0738494 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -467,6 +467,15 @@ DEBUG:main:v6 reassambled=>>> from table TABLE_V6_NETWORKS +INFO:main:unhandled reassambled=>>> from table TABLE_V6_NETWORKS +INFO:main:unhandled reassambled=>>> from table TABLE_NAT64 +INFO:main:unhandled reassambled=>> from table TABLE_V4_NETWORKS +**** TODO Solve logic problem: Valid headers +- If ipv6 header is valid && nat64 will be made and afterwards v4 egress needs to be applied +- If ipv4 header is valid && nat46 will be made and afterwards v6 egress needs to be applied + **** TODO Make switch answer IPv4 icmp echo request for **** TODO Add / check default route for v4 hosts *** TODO Get p4 VM / vagrant running diff --git a/p4src/static-mapping.p4 b/p4src/static-mapping.p4 index 971c30f..c2634d9 100644 --- a/p4src/static-mapping.p4 +++ b/p4src/static-mapping.p4 @@ -335,11 +335,16 @@ control MyIngress(inout headers hdr, apply { if(hdr.ipv6.isValid()) { icmp6.apply(); /* icmp6 echo, icmp6 ndp */ - nat64.apply(); /* translating */ + if(nat64.apply().hit) { /* translating */ + v4_networks.apply(); /* apply egress */ + exit; /* no further v6 processing */ + } v6_networks.apply(); /* egress / routing */ - } - if(hdr.ipv4.isValid()) { - nat46.apply(); /* v4->v6 */ + } else if(hdr.ipv4.isValid()) { + if(nat46.apply().hit) { /* v4->v6 */ + v6_networks.apply(); /* Now apply v6 egress */ + exit; /* no further v4 processing */ + } v4_networks.apply(); /* routing, egress */ } } diff --git a/pcap/static_nat64-2019-03-26-2107-h1.pcap b/pcap/static_nat64-2019-03-26-2107-h1.pcap new file mode 100644 index 0000000000000000000000000000000000000000..8fb4a1ecfac704c750eafb0189b275feebf61339 GIT binary patch literal 856 zcmca|c+)~A1{MYcU}0bcawbig74uM*jlm7b24Q1kAi>1Iz{SA8*mgGo$YBt$`v0#1 z!~jWf{r?A)`43cq1ejVG(se+5Mxc=(ogaaw-UFH%1{4EfW8?n}3{EJfD&RGh5v0DI z!TdhRR0T%f9UvMCoRDqVXidl#blvEF>0ns;G685bx;iF^Uz|XGd1*_?7IagQLWpR; zNV*cT1C$FHWq^zQ orLCi@r*B|rWNcz;W)6xsw|G+hitefohQ^HvKwHtoonWa00Nz806951J literal 0 HcmV?d00001 diff --git a/pcap/static_nat64-2019-03-26-2107-h3.pcap b/pcap/static_nat64-2019-03-26-2107-h3.pcap new file mode 100644 index 0000000..e69de29 From aec7b5b666d03e2b8ad2891db83eabbd3c943483 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Mar 2019 21:13:34 +0000 Subject: [PATCH 3/5] +pcap: static_nat64-2019-03-26-2107-h3.pcap --- pcap/static_nat64-2019-03-26-2107-h3.pcap | Bin 0 -> 24 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pcap/static_nat64-2019-03-26-2107-h3.pcap b/pcap/static_nat64-2019-03-26-2107-h3.pcap index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4f9600e90a64e3ed9c747268f5dcbdc29ad1a596 100644 GIT binary patch literal 24 Vcmca|c+)~A1{MYcU}0bcasWb#0`>p^ literal 0 HcmV?d00001 From 830383e4b9f54a093ae516377bc3e832c8288ff4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Mar 2019 21:17:03 +0000 Subject: [PATCH 4/5] +pcap: static_nat64-2019-03-26-2114-h1.pcap --- pcap/static_nat64-2019-03-26-2114-h1.pcap | Bin 0 -> 770 bytes pcap/static_nat64-2019-03-26-2114-h3.pcap | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pcap/static_nat64-2019-03-26-2114-h1.pcap create mode 100644 pcap/static_nat64-2019-03-26-2114-h3.pcap diff --git a/pcap/static_nat64-2019-03-26-2114-h1.pcap b/pcap/static_nat64-2019-03-26-2114-h1.pcap new file mode 100644 index 0000000000000000000000000000000000000000..6999cdf29a6d50b2ab2e525879e40907b29f8a17 GIT binary patch literal 770 zcmca|c+)~A1{MYcU}0bcassE#is8D?zz_yxgRrsje+C981_mw$2FA9#2|y7B1*`x6 z8bAyN1||ls|Nnq8|Cu0sAjt?)-_BqTGy|xVk#`4N1}M%5v;t%j$d;Plgls|Ajc#iP z!_t=tSZrZ}*y04X?`FM*M9IPDB+{g&#gAxx!J!1pIk9#t?kXQzZMFQgh1Ox Date: Tue, 26 Mar 2019 21:17:03 +0000 Subject: [PATCH 5/5] +pcap: static_nat64-2019-03-26-2114-h3.pcap --- pcap/static_nat64-2019-03-26-2114-h3.pcap | Bin 0 -> 24 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pcap/static_nat64-2019-03-26-2114-h3.pcap b/pcap/static_nat64-2019-03-26-2114-h3.pcap index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4f9600e90a64e3ed9c747268f5dcbdc29ad1a596 100644 GIT binary patch literal 24 Vcmca|c+)~A1{MYcU}0bcasWb#0`>p^ literal 0 HcmV?d00001