From 1534edff2b9d38fb21e204c7cf0c1ed732f82f65 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 12:50:54 +0200 Subject: [PATCH 1/6] Ping until 32 --- netpfga/ping_ipv6_addresses.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netpfga/ping_ipv6_addresses.sh b/netpfga/ping_ipv6_addresses.sh index 42c25c1..e3e96c4 100755 --- a/netpfga/ping_ipv6_addresses.sh +++ b/netpfga/ping_ipv6_addresses.sh @@ -7,7 +7,7 @@ if [ $# -ge 1 ]; then read="" fi -for addr in $(seq 1 8); do +for addr in $(seq 1 32); do ip=2001:db8:42::$addr echo "Next to ping: ${ip}" if [ "$read" ]; then From cddf348575b5d6c818e87be49f7b93975eda41ff Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 12:52:59 +0200 Subject: [PATCH 2/6] set hwaddr/ipv6 neigh until 32 --- netpfga/set_ipv6_neighbour.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/netpfga/set_ipv6_neighbour.sh b/netpfga/set_ipv6_neighbour.sh index 5f0179e..75bd9df 100755 --- a/netpfga/set_ipv6_neighbour.sh +++ b/netpfga/set_ipv6_neighbour.sh @@ -2,6 +2,7 @@ set -x -for addr in $(seq 1 8); do - sudo ip -6 neighbor add 2001:db8:42::$addr lladdr 02:53:55:4d:45:0${addr} dev enp2s0f1 +for addr in $(seq 1 32); do + hwaddr=$(printf "%0.2d" $addr) + sudo ip -6 neighbor add 2001:db8:42::$addr lladdr 02:53:55:4d:45:0${hwaddr} dev enp2s0f1 done From 7bbd1fbe1c1bb84d8145682d2da441d59b4a11e4 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 12:53:38 +0200 Subject: [PATCH 3/6] -leading 0 --- netpfga/set_ipv6_neighbour.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netpfga/set_ipv6_neighbour.sh b/netpfga/set_ipv6_neighbour.sh index 75bd9df..25529aa 100755 --- a/netpfga/set_ipv6_neighbour.sh +++ b/netpfga/set_ipv6_neighbour.sh @@ -4,5 +4,5 @@ set -x for addr in $(seq 1 32); do hwaddr=$(printf "%0.2d" $addr) - sudo ip -6 neighbor add 2001:db8:42::$addr lladdr 02:53:55:4d:45:0${hwaddr} dev enp2s0f1 + sudo ip -6 neighbor add 2001:db8:42::$addr lladdr 02:53:55:4d:45:${hwaddr} dev enp2s0f1 done From fb09f14672597194fd77d6fd6001fbd1cf32a15f Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 13:15:53 +0200 Subject: [PATCH 4/6] [netfpga] pcap --- ...enp2s0f0-ping6-2019-07-28-1250-enp2s0f0.pcap | Bin 0 -> 60220 bytes ...enp2s0f1-ping6-2019-07-28-1250-enp2s0f1.pcap | Bin 0 -> 5239 bytes .../netfpga-ping6-2019-07-28-1249-enp2s0f0.pcap | Bin 0 -> 24 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pcap/netfpga-enp2s0f0-ping6-2019-07-28-1250-enp2s0f0.pcap create mode 100644 pcap/netfpga-enp2s0f1-ping6-2019-07-28-1250-enp2s0f1.pcap create mode 100644 pcap/netfpga-ping6-2019-07-28-1249-enp2s0f0.pcap diff --git a/pcap/netfpga-enp2s0f0-ping6-2019-07-28-1250-enp2s0f0.pcap b/pcap/netfpga-enp2s0f0-ping6-2019-07-28-1250-enp2s0f0.pcap new file mode 100644 index 0000000000000000000000000000000000000000..45d791bbd5e8a5500bde0391ca51b71c313fdaea GIT binary patch literal 60220 zcmeHQ2Y4057M{K7xi>ciDJs1xO-c$RJXDN442tl;k7#HK0X|A37o-G4jR?|Icv1xP zfrJtZsPrma6_gSXX+C%$Du~8L69GfWJO4%(c9ZL}xoalwoz1t9-Q?~+=RapAGyk5M zIr!1ag*N8Tt{?tPqKj9aZqsv26&p*U?{P*((m$0hpRXR$XW#S3lj(xhm46Z6DMx`# z`4-<)iemwEM`F|12k+9g1e_awM=D5PJ{U-=r`T9Gg2h=NAB9N4tX(4EMAIQG*OZQS>uhay11`B3O}#C`}e(09oIEAT9O=&c3nGnN$A+AN$1$;n3mZCFaP*a0R~r@-ZzEXV6BblT{>%*uX5FYDI3pwBWmV+Vj4M(~ZB$HT zpY(+#*D~=hV|$J#Y?wgLaY{M+J71o@a1Plss9&&-J=#y-fP#nK5T6;F>AKkX1d=q< zJfynwi$OwZ@_q7{?0wbgSIJ^W2rr|Ck_EtaRbCwD7=o_CH* zV>*wZ_lNiy@6n7`dNh8pOMQqQjhYXzoL@i4qLt@WvaZ8LF5&wcL5DpaY*Aw8lXXjP zEkWhXR4QkXIuLOsDyN#01;lb-K9}&#BIu|qp~hR^v5JH3YGZ_hi}I08EV~_{JjN<- z6Lhl+g<^pr!QctS!4--cBx9RnQ3tI=SE<*Mo@;!3cr=42hQyrl}4YP6Z4 zM}0;*4R!AgRii$NgX^h{5e_cO$2Ma5-qAKTj(&u*m_g7(vN)mosOLe@=E?Mnei$BT zekboH?#Tlql&J0-=9OrZp%N80R6~j4E*V#V-M=9c*VNn9PDS4D7ow?AvjUdu91GEr zHPoLe5@k0irk)jjAT8`__gVoy9Dvej1p=oOf2QA{Ux#idlm#p7I`(Kkt*JFP*yC9N z22zVJ%|r4m2mxu#-C;a>RUZ@df2a*PN|fU)MvJnD0t`!sw=aCHmGp$MXA@q^A$V?<9pocCms=ldQKbidy#F39jp-)@%^Cz4?pwPr zDLopY0PDWf2FpK<53^|a?jY;Nw&fDOy9oNbaLJ;?=8$z^_8{Yx^Sn|ygQ?q~ImB>7 zO$b=ddVov#9wg{qUARCWCFq)Y#>Hp%DJ8Zlsd>beh%GfIr-i5o{$EHgy|q@%jp@(vqlA^ z+?M7cc@{N*bf&qJQ(6zuFV1xGP{=M2bkLopp&J3IAluV@r8Bo z&Epcjmk7GXY(I;(3zx~d<>AJ4gsiue$|$k)CPO^RX3N92`c_i=rqA!eDw;)-1)rB7aV|21gLfKX2vY;3@77aJ?m;(B~O2)I=?5`+2AE6lP4ryu=%l%thHTkLzS-0&jF5z33 zpdUVGRmJcQvhJG}T!?Kz(1Cr7Psp@SQ`!YF<5ss_Xi6+U8pFlG(FC3QaF}7K!~UG& zU^yWJ1E1@M81i1{0^i+3EXTCr;@}PhJ$9?{8F=;~ih~=gjlq?0u$q$xiRFqWYFXaT z1x1P8A7(dAW%0g5qcTbFYg8KR4g%@eRO2x}Vhdva@W@}9sl8ixC1PI93RvzwJy1tw zQh%movrd83GueB6?)!r%jaFfEO8bs99X92?3_|I@r8M+8Al>Y#w2 zM9}W~CD1BfRvaw!Ib8=YCYCoum8DsyDAC)CjOUu=%!c2W?AnXv)`}cLqf%2Mvpkgk zKGJP(W}Qxu7s@ZH99?~BYiv|JP<}oXS_(?o5<+V9sh;MhEoVt`$bi)Rnt4c`H7Xzl z+I&FCp&{O1CEqmN$QA)$o0T ztXrAFC4Ao`=t+tG7S-sNk#$#wa3S_xg3hJUiqYwEIa8H(LFAC>whOC?W!Fe94&Fl0 zr!N{`I4eiqmO~!O-mV_D;Yti;)tqc2mZPU|aqvEZ?$yS)2$?fTslh^{(yhUt5zFh# zltzUT?d@w^qdJlUzjy3@8}=qFa)^qprUWeajiUu2=(aZ+Rb~pFs~sXarEim8NPKo3 zP`c2hb+dM>@P6IB{ZyhsbM#a*tvw~tvVe5LS`8(-F-`Gh}S?GNlCDL)JCAE4zcP+nXqmxpC;xYK^Np0 z&#O4HQ|b8#Elan@3zo0ae)5!{ET6?poBkVbl6;7)8`gl!U&zA*efD*$5_^QKn_sa6 zm2;a?ImIgfx|I_wk8R2&e7_>-@O!vGe?!pAe>A>y=8^SEY>6F6bz|!su^iBii-Uh5 z=xsep(0IJ5IJgeR+3G`R8freS5z8Cbm8G31QKIcsB5zfeC(~i6R+Vr{F*UZIxz+_J zGru*S&A03YL|3(^M|M~9Sa>C(OU+6FvD~D&RED%Hl<0HX)gp-sinExc6GIyhdfp8H zNZAej7^GF4GLo$@LY_aK9NH{`1;-U=<5Q!W*(R_Saz-1T*8UOm%I#Sh1CoETFNhDY zG<20e4`mF{(Ys4yZ7(2Ap~Ol)x(Co}w(y0NL0B3dk4q?Zx&t;FvAld8m+hz%m> z1J`bi$Eh`EEhHOEOTKXr_YgKr_|r{6U$bu1gDG>sK$grPaaU{p;=bz=F< z4_q8vpP=U+3Nf5nxva0^VA}Lddk6=s8EHf;e;#1o+(GYG(rQd4nmWxq{lohbC61%l z;8padZ>V`K*;-IQYMy3XVavV?F~4xRLtJZ;t1luk1!jk47k1y5n%LoIlyBOHlP7>sD3g625@m-QKD@f+Ul5 zA@s`M=;X!hdP?OKBAIUG1k0WIEU-0zpyOL{sX1u`ePSgoYiw{I$?V&d*b@4jZfs=` z%jM&_ICwNcx13P|2Rjr8*Vc})g;t?uWIVB4*~GQ?y`R~J5^cO}T%$^tb=k{b|F^o< zMqCSxO3eybeyy$dtHQ5#;knvDw^M3$_1yZ|Z%-hUc$axvtM}1`63wOsj*_UjoGC!hHEs2FJT3c2n-Apcz|wIocx8YAeaHL0u(u>EZT_+^ z>@5jP&rj8R>7Z?>OQMbfX>68N$E*{<3qYIZ70bS~QXN^6n5;rEBX*-}j15-qpd>x_Zr zuC<+IXx=DFG_Y#8*RztNvSF)sXzY}B^cmVSXwWJ`S>LiyE&OX0Lm>6-Zyu6o#Slo< zOiRqd(-LVh^TEU-&SF-giH^{lRhw5Kw?Zz9P9Ub~pcE|}0lf#hTu=D-9-it7NJ~#m zNn^~xB!Ap>m&dn&p1;HwGPPi71}#y0lxV?O49SaclH|n+OF^zoGIHViNHJ1hDMji} z|3^!$q*%HWD@D;ge5FdwJbty3`bqu$2D)PWQ---xD2J6vj&@x;cS-2jsY&P9=$Jp8 zM)%!GtSY75F_yu~X{(ys0bj~Lv$>OC>8|m?oMy)Yedn3d*pCrNqaN~w*{Q3^(q*)h zmNl2Ef_1I8acTYlUGcE-1$QEQC_Nvc80sp9Yl!9PTdgW=ttIPrf6OI(*AaA5npIa| z+(6bje>FbAEK(Mf#~t?N)4{3HbywO zC?8)C%eR%O97B|7f3R`I@Wh?)``K--jG|VGiml}YESG=5QHB)56I7xZjp!X871f*F zBED-4TeUKVQ|j@LO%+Do|0SYpvfg}d?WaAb;&`4f3#9y)Y$mN|ho{wAZ(g}Q>yJRP zRpPSj1E4=^65sXey(48`E78Sftl68lxaUu2;L0_X?c&zy* z;ajq9MmggNz$a=b!xAxHR<~UM%j4>C3EwjWz5HG-&}RvH_K(KJ$`h58*eb6b;E5rx zmXUm7`PHwDzmPi-qOe>;`%J;ImXQKtd2|OZ)yV!Fz3d%r-rfw}uO5dI?K>G}n#$sR GiT)4tL&R?Y literal 0 HcmV?d00001 diff --git a/pcap/netfpga-enp2s0f1-ping6-2019-07-28-1250-enp2s0f1.pcap b/pcap/netfpga-enp2s0f1-ping6-2019-07-28-1250-enp2s0f1.pcap new file mode 100644 index 0000000000000000000000000000000000000000..b2c0c93de06d88976dff5724a3a627bdd91bb9bb GIT binary patch literal 5239 zcmbuDdrXyO9LImpIqw0Ef^s?UdjNsB!_kymX=TmINNlY$GchY!(lj;L=&6Xr zQMT1TOtTA(#fl1-Q8UZD%+!@>(bc?UE^#edEicoe-&fnic>emO-wnoLd_UjMo&)d8 z-mkWAe8oo&jl?0vFN#~Lqc?OU&tM(c_kd&zwcDWQX7^e3}+)a)}gZ zSUkkQky@PPUd2?)A~0gHwO(Km&@@!wP9p^x)(e@4NG<%2RYx0YEsGdq zF{Z9xU=gFK_mn%E6lhqFG7*tlByg|vA31s1WI4(@TIq(H-ZJ`)kCMVNa{ z9hOC$v4}tTslXymQ%9$}loV)Ke~^iY)FOv_$6mKAg2uwBUnH;yY6>rK*N_4Y>jO+g zq!yF7SGdcvNHiAX`!)+K5;g6Oxa&!QhV?KL5vfHb_m&^AERu}H*q3t!7D<|xop;|R z1sc}tnTSX&uH)V}XDy3lW1*groJF!G=Yab$DbTRKn~8|jVixz@kTd$Kl`>+HHY_-c z6iwT@-F>7$!@6Q3BDJXH-sCdNB4jL_ImZMRAx-O7xra%ChV@J)B2tSe_g=WwvT%)s z@<#*~uBJ(|+#yn+VZD`!h}2>+_jW9?EIec3Z+cB&;qetb-Qza`G_1eJL_})wF!##V zSQcSp5!mppz#^<^<)Fv+RM4=V$3#SG(agR2Zp$LoSR}-}A+Si*RP~|9_f*iZUdKd4 zYVj2Jj_k55(u_si9d`*V(lmY6?v;}Q4eK8;5s_M~<=&Q`EsJbp5!hKFu*lZ*Wvw@Z z6lhrQVIm^6=;YqJe_0ke#v*vAPhgRw>AO;IE-BEk-pNEnYSG2Le-Z8VZD)wh}2>) z_v%_Li$Y_O(0#kWqEOT68jtVnpke(+CL&Uc0q&J`Sr$dc!kKVJU{RzgG~U}z3N)+da#h_UdUS|K=#h^D$e z?-x>_VSNu15vj$W+*@_ZvM4ncV_nJJtW?umE#7HTpke)fCL&Uczqz+K6f^p&Rc0(` z?@Ga0lxf;@eK?U6Xjq@eL_}&4tE;2Wms%F(#$wFwMuA1Srgkr!M+!8oKgvWzYB7g< z-nG_!q~2KgPjm__>NUM{Q<(o!LBo2GiHOvq`HAYNv(tKVa0wQ#o}2Ip|9`DO7^+Mf zww`0v{P&QAfAm7mg$6@|R5|7G3$HF70|n+k(Ac=lnZJBtW1wN_!UYXP@uVDlcWW}f z-27y9^i1dFKT^B%w#?p(G|Zo1A|gG2eQYtKIBxXY;FtptKfpP^F7pdgpkcj|iHOwV EUqUs@#{d8T literal 0 HcmV?d00001 diff --git a/pcap/netfpga-ping6-2019-07-28-1249-enp2s0f0.pcap b/pcap/netfpga-ping6-2019-07-28-1249-enp2s0f0.pcap new file mode 100644 index 0000000000000000000000000000000000000000..4f9600e90a64e3ed9c747268f5dcbdc29ad1a596 GIT binary patch literal 24 Vcmca|c+)~A1{MYcU}0bcasWb#0`>p^ literal 0 HcmV?d00001 From dd6e5b1628e272bdc71639d3ff01a4d0517159e5 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 13:39:24 +0200 Subject: [PATCH 5/6] Remove sending to port1 by default --- p4src/actions_egress.p4 | 2 +- p4src/minip4_solution.p4 | 15 --------------- p4src/netpfga_nat64.p4 | 2 -- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/p4src/actions_egress.p4 b/p4src/actions_egress.p4 index 4d1bf92..52e05da 100644 --- a/p4src/actions_egress.p4 +++ b/p4src/actions_egress.p4 @@ -32,7 +32,7 @@ action controller_reply(task_t task) { action controller_reply(task_t task) { meta.task = task; meta.ingress_port = sume_metadata.src_port; - set_egress_port(4); /* port1 = 1, port2 = 2, port3=4 */ + set_egress_port(8); /* port1 = 1, port2 = 2, port3=4 */ } #endif /* _SUME_SWITCH_P4_ */ diff --git a/p4src/minip4_solution.p4 b/p4src/minip4_solution.p4 index 3ff4c12..f608507 100644 --- a/p4src/minip4_solution.p4 +++ b/p4src/minip4_solution.p4 @@ -88,21 +88,6 @@ control RealMain( mac_addr_t temp = hdr.ethernet.dst_addr; } - table lookup_table { - key = { - hdr.ethernet.dst_addr: exact; - } - - actions = { - swap_eth_addresses; - do_nothing; - send_to_port1; - send_to_all_ports; - } - size = 64; - default_action = send_to_port1; // test_port1() - } - apply { bit<17> tmp17 = 0; bool apply_v4networks = true; diff --git a/p4src/netpfga_nat64.p4 b/p4src/netpfga_nat64.p4 index 34b3348..c15572f 100644 --- a/p4src/netpfga_nat64.p4 +++ b/p4src/netpfga_nat64.p4 @@ -57,5 +57,3 @@ if(apply_v6networks == true) { v6_networks.apply(); } - - lookup_table.apply(); From db5bae89ad2771d210908a356784cc0becdda87e Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 28 Jul 2019 13:40:49 +0200 Subject: [PATCH 6/6] ++ various logs --- doc/plan.org | 123 +++++++++++++++++- netpfga/delete_ipv6_neighbor.sh | 1 + netpfga/delete_table_entries.sh | 17 +++ netpfga/minip4/testdata/gen_testdata-port1.py | 2 +- p4src/actions_egress.p4 | 2 +- p4src/no_commmands.txt | 22 ++++ 6 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 netpfga/delete_ipv6_neighbor.sh create mode 100755 netpfga/delete_table_entries.sh diff --git a/doc/plan.org b/doc/plan.org index b8f9cf1..48514eb 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -7208,7 +7208,8 @@ IOError: [Errno 2] No such file or directory: '/home/nico/projects/P4-NetFPGA/co nico@nsg-System:~/master-thesis/netpfga/minip4/sw/CLI$ #+END_CENTER -*** TODO 2019-07-28: setting ipv6 neighbor entries +*** DONE 2019-07-28: setting ipv6 neighbor entries + CLOSED: [2019-07-28 Sun 13:07] #+BEGIN_CENTER nico@ESPRIMO-P956:~/master-thesis$ ./netpfga/set_ipv6_neighbour.sh @@ -7263,7 +7264,125 @@ success #+END_CENTER -*** TODO 2019-07-28: ping6 test for getting packet: failure +*** DONE 2019-07-28: ping6 test for getting packet: failure + CLOSED: [2019-07-28 Sun 12:43] + +*** DONE 2019-07-28: !!!!!!! NETPFGA PORT MAPPINGS + CLOSED: [2019-07-28 Sun 13:07] +nf_port_map = { + "nf0":0b00000001, + "nf1":0b00000100, + "nf2":0b00010000, + "nf3":0b01000000, + "dma0":0b00000010 +} + +| port 0 | 1 | likely: esprimo enp2s0f0 | | +| port 1 | 4 | likely: esprimo enp2s0f1 | | +| port 2 | 16 | not connected likely | | +| port 3 | 64 | eth1 @ nsg | PROBALY NOT, probably 1! | +| | | | | + +*** DONE 2019-07-28: testing with port = 64 (first or last in theory): LAST! WORKS! + CLOSED: [2019-07-28 Sun 13:19] +#+BEGIN_CENTER +>> table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434276 => 1 64 64 0 0 +fields = [(u'hit', 1), (u'action_run', 3), (u'out_port', 8), (u'out_port', 8), (u'mac_addr', 48), (u'task', 16), (u'table_id', 16)] +action_name = TopPipe.realmain.set_egress_port +field_vals = [1, '1', '64', '64', '0', '0'] +CAM_Init_ValidateContext() - done +WROTE 0x44020150 = 0x0064 +WROTE 0x44020154 = 0x0000 +WROTE 0x44020158 = 0x420000 +WROTE 0x4402015c = 0x20010db8 +WROTE 0x44020180 = 0x0000 +WROTE 0x44020184 = 0x0040 +WROTE 0x44020188 = 0x1400000 +WROTE 0x4402018c = 0x0001 +READ 0x44020144 = 0x0001 +WROTE 0x44020140 = 0x0001 +READ 0x44020144 = 0x0001 +READ 0x44020144 = 0x0001 +success + +#+END_CENTER + +*** TODO 2019-07-28: and another bug in the table code: invalid literal for int() with base 0: + +#+BEGIN_CENTER +>> table_cam_delete_entry realmain_v6_networks_0 42540766411362381960998550477184434180 +ERROR: failed to convert of type to an integer: invalid literal for int() with base 0: '' +nico@nsg-System:~/master-thesis/netpfga/minip4/sw/CLI$ + +#+END_CENTER + +*** DONE 2019-07-28: try pinging nsg <-> esprimo: reply is being created, not received + CLOSED: [2019-07-28 Sun 13:32] + - reply seems to come back, too => wrong out port? +#+BEGIN_CENTER +nico@ESPRIMO-P956:~/master-thesis/netpfga$ sudo ip -6 neighbor add 2001:db8:42::64 lladdr f8:f2:1e:41:44:9c dev enp2s0f1 + ⚡ root  root ip -6 neighbor add 2001:db8:42::42 lladdr f8:f2:1e:09:62:d1 dev eth1 + + +13:27:21.387690 IP6 2001:db8:42::42 > 2001:db8:42::64: ICMP6, echo request, seq 1, length 64 +13:27:21.387721 IP6 2001:db8:42::64 > 2001:db8:42::42: ICMP6, echo reply, seq 1, length 64 +13:27:21.387741 IP6 2001:db8:42::64 > 2001:db8:42::42: ICMP6, echo reply, seq 1, length 64 +13:27:22.404759 IP6 2001:db8:42::42 > 2001:db8:42::64: ICMP6, echo request, seq 2, length 64 +13:27:22.404788 IP6 2001:db8:42::64 > 2001:db8:42::42: ICMP6, echo reply, seq 2, length 64 +13:27:22.404807 IP6 2001:db8:42::64 > 2001:db8:42::42: ICMP6, echo reply, seq 2, length 64 + +#+END_CENTER + +*** TODO 2019-07-28: try setting correct out port for 42: seems all go to port3 + - solution: lookup table still in place!!!! + +#+BEGIN_CENTER +>> table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434242 => 4 4 4 0 0 +fields = [(u'hit', 1), (u'action_run', 3), (u'out_port', 8), (u'out_port', 8), (u'mac_addr', 48), (u'task', 16), (u'table_id', 16)] +action_name = TopPipe.realmain.set_egress_port +field_vals = [1, '4', '4', '4', '0', '0'] +CAM_Init_ValidateContext() - done +WROTE 0x44020150 = 0x0042 +WROTE 0x44020154 = 0x0000 +WROTE 0x44020158 = 0x420000 +WROTE 0x4402015c = 0x20010db8 +WROTE 0x44020180 = 0x0000 +WROTE 0x44020184 = 0x0004 +WROTE 0x44020188 = 0x4040000 +WROTE 0x4402018c = 0x0001 +READ 0x44020144 = 0x0001 +WROTE 0x44020140 = 0x0001 +READ 0x44020144 = 0x0001 +READ 0x44020144 = 0x0001 +success +>> + +#+END_CENTER + +Rewriting/adding: + +#+BEGIN_CENTER +>> table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434242 => 4 4 4 4 4 +fields = [(u'hit', 1), (u'action_run', 3), (u'out_port', 8), (u'out_port', 8), (u'mac_addr', 48), (u'task', 16), (u'table_id', 16)] +action_name = TopPipe.realmain.set_egress_port +field_vals = [1, '4', '4', '4', '4', '4'] +CAM_Init_ValidateContext() - done +WROTE 0x44020150 = 0x0042 +WROTE 0x44020154 = 0x0000 +WROTE 0x44020158 = 0x420000 +WROTE 0x4402015c = 0x20010db8 +WROTE 0x44020180 = 0x40004 +WROTE 0x44020184 = 0x0004 +WROTE 0x44020188 = 0x4040000 +WROTE 0x4402018c = 0x0001 +READ 0x44020144 = 0x0001 +WROTE 0x44020140 = 0x0001 +READ 0x44020144 = 0x0001 +READ 0x44020144 = 0x0001 +success +>> + +#+END_CENTER ** The NetPFGA saga Problems encountered: diff --git a/netpfga/delete_ipv6_neighbor.sh b/netpfga/delete_ipv6_neighbor.sh new file mode 100644 index 0000000..a4de691 --- /dev/null +++ b/netpfga/delete_ipv6_neighbor.sh @@ -0,0 +1 @@ +sudo ip -6 neigh del 2001:db8:42::64 dev enp2s0f1 diff --git a/netpfga/delete_table_entries.sh b/netpfga/delete_table_entries.sh new file mode 100755 index 0000000..03166c0 --- /dev/null +++ b/netpfga/delete_table_entries.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +set -x + +read=yes +if [ $# -ge 1 ]; then + read="" +fi + +for addr in $(seq 1 64); do + ip=2001:db8:42::$addr + echo "Next to ping: ${ip}" + if [ "$read" ]; then + read dummy + fi + ping6 -c1 "$ip" +done diff --git a/netpfga/minip4/testdata/gen_testdata-port1.py b/netpfga/minip4/testdata/gen_testdata-port1.py index 2363d19..2f1a4b2 100755 --- a/netpfga/minip4/testdata/gen_testdata-port1.py +++ b/netpfga/minip4/testdata/gen_testdata-port1.py @@ -32,7 +32,7 @@ nf_port_map = { "nf3":0b01000000, "dma0":0b00000010 } - +n nf_id_map = { "nf0":0, "nf1":1, diff --git a/p4src/actions_egress.p4 b/p4src/actions_egress.p4 index 52e05da..2cc8123 100644 --- a/p4src/actions_egress.p4 +++ b/p4src/actions_egress.p4 @@ -32,7 +32,7 @@ action controller_reply(task_t task) { action controller_reply(task_t task) { meta.task = task; meta.ingress_port = sume_metadata.src_port; - set_egress_port(8); /* port1 = 1, port2 = 2, port3=4 */ + set_egress_port(1); } #endif /* _SUME_SWITCH_P4_ */ diff --git a/p4src/no_commmands.txt b/p4src/no_commmands.txt index 49a0251..1ef25f9 100644 --- a/p4src/no_commmands.txt +++ b/p4src/no_commmands.txt @@ -1,6 +1,8 @@ // only used on netpfga for dummy packet reply //table_cam_add_entry dummy_table_for_netpfga send_to_port1 0x082222222208 => 0x1 +// likely wrong! + table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434177 => 1 0 0 0 0 table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434178 => 2 0 0 0 0 table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434179 => 3 0 0 0 0 @@ -9,3 +11,23 @@ table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 425407664113 table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434182 => 6 0 0 0 0 table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434183 => 7 0 0 0 0 table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434184 => 8 0 0 0 0 + +// 1 +table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434177 => 1 1 1 0 0 + +// 4 +table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434180 => 1 4 4 0 0 + +// 16 +table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434198 => 1 16 16 0 0 + +// 32 +table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434226 => 1 32 32 0 0 + +//64 +table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434276 => 1 64 64 0 0 + + +// deleting: table_cam_delete_entry realmain_v6_networks_0 42540766411362381960998550477184434179 + +// 42 del: table_cam_delete_entry realmain_v6_networks_0 42540766411362381960998550477184434242