From 140a36a40c8dba3e3c710f9f865dd0771f56ecd5 Mon Sep 17 00:00:00 2001 From: Christopher Canel Date: Thu, 2 May 2024 16:17:26 +0000 Subject: [PATCH] Reorganize runtime files --- .vscode/launch.json | 8 ++++---- ratemon/runtime/{ => c}/Makefile | 0 ratemon/runtime/{ => c}/experimental/Makefile | 0 .../experimental/client_server/.output/client.o | Bin 0 -> 7824 bytes .../experimental/client_server/.output/server.o | Bin 0 -> 8832 bytes .../{ => c}/experimental/client_server/Makefile | 0 .../runtime/c/experimental/client_server/client | Bin 0 -> 19024 bytes .../{ => c}/experimental/client_server/client.c | 0 .../{ => c}/experimental/client_server/common.h | 0 .../experimental/client_server/libinterptest.c | 0 .../client_server/libinterptest_cpp.cpp | 0 .../runtime/c/experimental/client_server/server | Bin 0 -> 19312 bytes .../{ => c}/experimental/client_server/server.c | 0 .../{ => c}/experimental/ratemon_test.bpf.c | 0 .../runtime/{ => c}/experimental/ratemon_test.c | 0 .../runtime/{ => c}/experimental/ratemon_test.h | 0 ratemon/runtime/{ => c}/libratemon_interp.cpp | 0 ratemon/runtime/{ => c}/ratemon.h | 0 ratemon/runtime/{ => c}/ratemon_main.c | 0 ratemon/runtime/{ => c}/ratemon_maps.h | 0 ratemon/runtime/{ => c}/ratemon_sockops.bpf.c | 0 ratemon/runtime/{ => c}/ratemon_structops.bpf.c | 0 ratemon/runtime/{ => c}/ratemon_tc.bpf.c | 0 ratemon/runtime/python/__init__.py | 0 ratemon/runtime/{old => python}/ebpf.py | 0 .../{ => python}/experimental/iter_map.cc | 0 ratemon/runtime/{ => python}/flow_utils.py | 0 .../runtime/{ => python}/mitigation_strategy.py | 0 ratemon/runtime/{ => python}/pacing_notes.py | 0 ratemon/runtime/{ => python}/policies.py | 2 +- ratemon/runtime/{ => python}/policy_engine.py | 4 ++-- .../runtime/{old => python}/ratemon_runtime.c | 0 .../runtime/{old => python}/ratemon_runtime.py | 8 ++++---- .../runtime/{ => python}/reaction_strategy.py | 0 34 files changed, 11 insertions(+), 11 deletions(-) rename ratemon/runtime/{ => c}/Makefile (100%) rename ratemon/runtime/{ => c}/experimental/Makefile (100%) create mode 100644 ratemon/runtime/c/experimental/client_server/.output/client.o create mode 100644 ratemon/runtime/c/experimental/client_server/.output/server.o rename ratemon/runtime/{ => c}/experimental/client_server/Makefile (100%) create mode 100755 ratemon/runtime/c/experimental/client_server/client rename ratemon/runtime/{ => c}/experimental/client_server/client.c (100%) rename ratemon/runtime/{ => c}/experimental/client_server/common.h (100%) rename ratemon/runtime/{ => c}/experimental/client_server/libinterptest.c (100%) rename ratemon/runtime/{ => c}/experimental/client_server/libinterptest_cpp.cpp (100%) create mode 100755 ratemon/runtime/c/experimental/client_server/server rename ratemon/runtime/{ => c}/experimental/client_server/server.c (100%) rename ratemon/runtime/{ => c}/experimental/ratemon_test.bpf.c (100%) rename ratemon/runtime/{ => c}/experimental/ratemon_test.c (100%) rename ratemon/runtime/{ => c}/experimental/ratemon_test.h (100%) rename ratemon/runtime/{ => c}/libratemon_interp.cpp (100%) rename ratemon/runtime/{ => c}/ratemon.h (100%) rename ratemon/runtime/{ => c}/ratemon_main.c (100%) rename ratemon/runtime/{ => c}/ratemon_maps.h (100%) rename ratemon/runtime/{ => c}/ratemon_sockops.bpf.c (100%) rename ratemon/runtime/{ => c}/ratemon_structops.bpf.c (100%) rename ratemon/runtime/{ => c}/ratemon_tc.bpf.c (100%) create mode 100644 ratemon/runtime/python/__init__.py rename ratemon/runtime/{old => python}/ebpf.py (100%) rename ratemon/runtime/{ => python}/experimental/iter_map.cc (100%) rename ratemon/runtime/{ => python}/flow_utils.py (100%) rename ratemon/runtime/{ => python}/mitigation_strategy.py (100%) rename ratemon/runtime/{ => python}/pacing_notes.py (100%) rename ratemon/runtime/{ => python}/policies.py (99%) rename ratemon/runtime/{ => python}/policy_engine.py (99%) rename ratemon/runtime/{old => python}/ratemon_runtime.c (100%) rename ratemon/runtime/{old => python}/ratemon_runtime.py (99%) rename ratemon/runtime/{ => python}/reaction_strategy.py (100%) diff --git a/.vscode/launch.json b/.vscode/launch.json index 4461a735..5ecfeefc 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "name": "(d) runtime", "type": "debugpy", "request": "launch", - "program": "${workspaceFolder}/ratemon/runtime/ratemon_runtime.py", + "program": "${workspaceFolder}/ratemon/runtime/python/ratemon_runtime.py", "console": "integratedTerminal", "args": [ "-h" @@ -26,7 +26,7 @@ "name": "(r) runtime", "type": "debugpy", "request": "launch", - "program": "${workspaceFolder}/ratemon/runtime/ratemon_runtime.py", + "program": "${workspaceFolder}/ratemon/runtime/python/ratemon_runtime.py", "console": "integratedTerminal", "args": [ "--model=HistGbdtSklearn", @@ -55,7 +55,7 @@ "name": "(r) runtime, schedule", "type": "debugpy", "request": "launch", - "program": "${workspaceFolder}/ratemon/runtime/ratemon_runtime.py", + "program": "${workspaceFolder}/ratemon/runtime/python/ratemon_runtime.py", "console": "integratedTerminal", "args": [ "--model=HistGbdtSklearn", @@ -85,7 +85,7 @@ "args": [ "-o", "/tmp/tmp.prof", - "${workspaceFolder}/ratemon/runtime/ratemon_runtime.py", + "${workspaceFolder}/ratemon/runtime/python/ratemon_runtime.py", "--model=HistGbdtSklearn", "--model-file=${workspaceFolder}/test/HistGbdtSklearn_fewer_features.pickle", "--interface=ens3", diff --git a/ratemon/runtime/Makefile b/ratemon/runtime/c/Makefile similarity index 100% rename from ratemon/runtime/Makefile rename to ratemon/runtime/c/Makefile diff --git a/ratemon/runtime/experimental/Makefile b/ratemon/runtime/c/experimental/Makefile similarity index 100% rename from ratemon/runtime/experimental/Makefile rename to ratemon/runtime/c/experimental/Makefile diff --git a/ratemon/runtime/c/experimental/client_server/.output/client.o b/ratemon/runtime/c/experimental/client_server/.output/client.o new file mode 100644 index 0000000000000000000000000000000000000000..1dfdf68e1ca7cefe5eeac562a8e547d89e08997f GIT binary patch literal 7824 zcmb_geUMvK6~8aZ+hjNU+1>88w9qUHE`=oBQfgbEY)zM@&{AmW(8_4czP#PdH2YFt zlBHWH^5HTrSagL^92rHxkw2K>V?aKn0_yNFG7Jj(k2+Qc6h_8Dfw2e!p5MLaCT}n4 zKkAvuyXXAw@0@$?=esXo8Qpe%$g+eMOKcPkOQS-(w4|YrNOeREh<@=-*Gd20ot=9< zd+l2zxV<9&f;$oBab3uRnt4 z$F-%|!#2?D+_SRwQIOyKCq2fWojppFka%+FQ|vlEH~T6<&(6L^Pw92|FgQ2KkdJrE zI4^Rf>yI5T`mNv{e)#RW=VOTVI3lud7S8?6Qv2KIvxjHlnVoy4QU53c$ow0aG*xDS zjG70vWq|BWyN?yJr}xPLtlBcb^S=3z z$?AzI@aM~}0H`9ge;uy$6QSP>fGqX!(!M=){e-@KT95pCAft7=)O(HATLu^3M*1T9 ziD(32+LyE>sV@;AmVAcfGc2DG`LyM;MLyel!4x7U`nZ&dM3>7>$B&|?bwxz?$)gC z*n4l(S^o;O7CY7jcQx{{_xr9TBcg(R*bA4K=txnNW2DLyqIv@4ytj^9?FFjtr~X+` zh)>d1P;d$`9*afmEx=JZ-~AjtFVh~@)nr*u;2{G@&ebyNbe$u$SBN88F>11r*!5Nq zI`}QHps4WU()EG5D}t)X{oq(_wrmDEiC&`C?I+T5?gZ3{`tbY{hoqGN9-hDdP#ksf zsH%KHnLYhKrfkCVFDY|b>|{wkdPuaQ*8`Y5IcgtK!?xH;%Ocb-!kru9XUEsaVTL~~ z;_;2~FtrsKqMGH@jNK8StRtYM*9v#W*JqUy0!P5 zrKoT167j(p8fas}plq_ih_68-gO*Apw1gJx}#+6+;kav zdAafYRIxN8Djb23e4*frnztZ4y>9^Lik@)PyGA}0j< zRm7Hyb|*5!pG^!8r`DuaC6ZIsn&+N7;d-uLbjZy6&g8iV)~!vhU6V*oB$AbC;arFK z$?<$;#&ah9vRAHEk~Qy&qE|>(^J68qLY0+j-r1Mj@0Y9e5-j`VMnrPw3a6B>OzP@l z*`o?)JYb7To`->kFqf-QzQb!tl>@e*7i#1-Z&yRRIg`1V`Dd;s{#2fZCzn$%=UjDW zKaGSjnivW>VKUO@Eju@DhX)US#r3B*Vf6FuEuq+nlfF8%c}( zK7}3UQAZ2)9#EWVm1}0(j?q1%85xvr4q(WfWgfdO-8o8$@Z3{FXj(N%LsO8g@d^M5 zvksD8D^L!)ep#d^%TsRJaq^y9N>_X*?dPlRRM~5kHLqGEihE!`&G;1ELh_}wBd;Sl zbl&xavQp0fC0M#v@zX`mDb)&Yn$}fr?V4n%=+zD+C%jsEtXQoGNhuY_(i4vJNy_lB zc2~sX#;VM4D9!L(x=hhX2UBQtuHH+ml1gflX0C!||3j~WTnaqa7(C#ssf*NnY5k4kmXp`-EOPGKGBwwAR=W8b7BayixE2ayN%XlM5gp-e|hn63`d zg$KG~sV7d?i1>%R*avawVRa~*FyZnLZh|*I@x#UoMLUKCy~dhIm@Z(=B&;qD3#xF9 zSro`qzpQXm#yFaS%SkhQ*>Ui} z3hp+&Gl1ix?rHi#`*pj4W9}iBszTT;Hi1U2Fz%O9@h=J?*c;3J-XZyDXUgS7`Ht@SSpLYy= z7xUjY@Lw@szX0?&Y+)W`^Vi+-1z zd7jJ!@Nqut^X^mwpJ#iefj`7H?iUap=a0%1tGU#;-p^|dypQ`eV&H>}j~e(ôN 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 Xa&0NC=?dF_UcJAgcOuT@BE^3L3ma2- literal 0 HcmV?d00001 diff --git a/ratemon/runtime/experimental/client_server/client.c b/ratemon/runtime/c/experimental/client_server/client.c similarity index 100% rename from ratemon/runtime/experimental/client_server/client.c rename to ratemon/runtime/c/experimental/client_server/client.c diff --git a/ratemon/runtime/experimental/client_server/common.h b/ratemon/runtime/c/experimental/client_server/common.h similarity index 100% rename from ratemon/runtime/experimental/client_server/common.h rename to ratemon/runtime/c/experimental/client_server/common.h diff --git a/ratemon/runtime/experimental/client_server/libinterptest.c b/ratemon/runtime/c/experimental/client_server/libinterptest.c similarity index 100% rename from ratemon/runtime/experimental/client_server/libinterptest.c rename to ratemon/runtime/c/experimental/client_server/libinterptest.c diff --git a/ratemon/runtime/experimental/client_server/libinterptest_cpp.cpp b/ratemon/runtime/c/experimental/client_server/libinterptest_cpp.cpp similarity index 100% rename from ratemon/runtime/experimental/client_server/libinterptest_cpp.cpp rename to ratemon/runtime/c/experimental/client_server/libinterptest_cpp.cpp diff --git a/ratemon/runtime/c/experimental/client_server/server b/ratemon/runtime/c/experimental/client_server/server new file mode 100755 index 0000000000000000000000000000000000000000..4778c7c02c4b78388f9ed70d911b6a3f474abab6 GIT binary patch literal 19312 zcmeHPe{dYteSdqWy*o?R4_mU3e*~Y60TZf|WeZ~l8_#(1U!EtEJNXp9M9Ab>*%V`n-INgBq@K(Hn>F-k~H2v$Ge z_uhAPTBOo;`bRo*Z)W%V{eHeb-rMin+kJ0$-+ifL;|&4B5L|*{ogiuN9EG%M#ftTs z0cjO$L?!l@ie(}MxlCe8->L|-s=OYUN+TK%f|6eYG1JgR3KmScg+$43ref&|n2H)@ zNq#1=TK3ahrBVo{toQ1Rk~2zF?mhY{8K5vN_M_YkHcGV^TsxH>)_HkYQ}!c~{Pt?U zz1olIIb9!9&L`!BwlzARe!2oWDop);{o2n@Hz+s3lecRwidHL@a?&dCC-%R~*Q0JeiPOoT6r+QYmG^LY`=~SjL)Ht+eb>r%mSUwwD zDVsp;iejVF=EluC1j3vkOs7!<_9~g7>D$|1zkmFJ ze~|vvZt@`;Din`T5t50o#zr%@nbXKPXLc%^Op?(ri*jU4EW76;NJxv#pW+d0ZbR)08YA(6x&V=#qHiy zCZ0~+=?L4#36-$(ZanAO1MyTwO1eS~X{@jyHH*&fKhyH#hrWT+IUxR0Cz7w1e4V;YCx1v^4;hbYJkqKh8E5(R z>lIGF73wQ4XNqw8O>sF}grk98Iah?^K)iCk2&dmAm%B9{2Ef+@(j6?q>6*ah-XdJz zilpjr5w3pk%H!c8oa*3mvxa z87O6-lz~zP{{Lj)H`N#a-rDz0#5!R9xJd|W{|PrRamw2F-N*~_ASSNr0z5u(X*Wpq zVnO!(q!}Okw~2{~gHon})%e(HPo@FY_}FuvOaq|tv2S@Y4SdGO9`s}y@QjZg@?;w5 zjE~*r$uz(jAG^boX<#!x7WZTtsEvcxK!5gjzT_7))4sM$s2n)B{FbX`61=(<@GXQ~(PCA$|ih5Z%M{;H)!uDD>0oU@+$ z)%DhM=Yy8ICiR0kJGjvitOJ~yAlQ0?C|2p>jo~HdoVLp!krb=qZ%V!q=IY!1~pNI9!`~Mj- ziPq>n#2%22ZO7=GvqnxIr-(8(Tz~x`LY`OQ>U6m815@D^!qhsp$;s#AeNNOm-kZw~ zMBRSJ8rgpifvu5y&J#Hn%{#eWP7W4smh{mCECiYfiwKcp>6DXkqnBIOaVMS5M%&XV zSkx$s25ABP6do-gZ_Bycwg zM(@k}&!ABO@$B+TkhvHRrgvoj&jG!>|4r;Eh&4J&HYzd4X@X{ryoPMF6=h=?#{87r zr~km&s6Wl1-XuE&(>`d7g)`1=8lh&1W^2Bw`v!wst3v`;x>#27IrFNG}DFdYp zlrm7tKq&*I43siZ%0MXte;gSw^xMUbTrQi7rZUk)&WXFJOkY&LpYjxV-6ZkuEp}JO zj_!`O4I8?Ir={0c@R|hF%d07ndXY5+qE}u7h;B89N@g<-=2H@kMLUL4RAnp{n~Y1Z z%78@^YEq?J`BA-|l(F7e7`%?&HPWMoHNT#ipl29oK@WnS2Yndy-g6TZTS4!7cVglM zC>45VOU1aeOBh2n#=_a*$U#hn2&ZooTH$jU8Egp4S6$1%QavYsH8F9N@T!^{sv2&p zuGk&fE3RK~?I%|)TS_qbe-_(T)GZweL?PV8W&uA8%7yCs3brRv-`g~Y?Wn5xi$Hs2 zDELMIO=7bWEoGpTfl>xa87O6-lz~zPN*O3+pp=0>q73kNZ2a9Cy{V#-QAFT9iYj_i zfVWbzY@Mg*d@b|$aSOG~Gk^tJ=I`YA`)Ss{cVQw+CP(#0Y5c9(PR;N)X0K~Ke=GKe zj*FKevNUL_o28}6Z`}sj?UZ$8D}tkDZCDmyj6_`SLz-0l<7N(lZYkL$l! z<7|hQF!K12R|(<$k(77pczEN)dg+Pjl$2L%{rg(hhp(gm-x2ajHpAW^9&l1cBq1Z@DP!*@HTX5 zFcRKK#0Ygrok?$c18uZhzUV4IbIQzA#ub5G1bwppQ)Cq}-y!J*+C9H;H$g^dBgm{T zV;A@-;Xk~HOatxUgY)Zl55HgAffvD>>Dn(6|14V3UBj8_UeCR?v>TWS3nKv+e^g3{!O0 zqOa>kung6PAThX1R8*|12v(uvmqW7%Hw3e?$Yc$GP_?L75+U<&%(#BO^f#}m zxO{$R?Wg7&fFmvBvBXeO0}VJSE|ayD*BZg9iV9iZk_eer7)EC;F|(Jzq6yI}b<8E@ zS`IH+SIX^lv9%_c+DK+(yH2u;Npdg=NNOtHMr@_(Z_+S(cCiBxvruD#_Bk! zwpw{`xGB_026xAKmmw+j-tp+FDPC*C7vxci2Bg}=Z(xwpXBZz;RT2S6pPqwR9HOh; zCTwJJAGW8kox&C{76+=md%qC$^@Q;j?S4yI5`!O-7@|mXuq&&_&Lk|jm@sp>m=)kt zC^*ZAJZjdyZH6L;O!JUA`z>?rVKe-I846rJ*EByvK-CfRqQFt3;gC7+0drBo3_l3# zM@{nZwA6Rc)g0D zdrSMx_U0{{*KY(Pq}1K9ZEIWm%^lm7*wyxFfhW9J<1mm)4;Qa;C}i@fzKoNMCi>$! zxqc#^Oy+D_O9A`AY|d2?bTqxFq91tFbEUh3dUV{a)?cWl7Fcc*ZEwC>-`b*$18yPX ztnG6$PA-*z7|$j8*Qzx@(Z;@LW8O`!O~AgfH=ZBPB>HpNOtz43EM#`$Ie4Q>t10qO z$`u=pgSo8hB;0HcZZL$qRwUB#d_SvG*$fnk-XdA#v4TXV!KU>e1vI{SHCU|J=$m>- zGLc;yHmL+`Xm8)D7Lq8ZRV(3y2jZLZeL}81!CDe|^tL-Zh;=76DbxP z&MRTm$*{ev12v*QW#7sW$+#Q$x|>wg)zk`YC7C;&TvoQ;$;A?)sXsg5G$j)8jFWE4 z=Mqi1xa(kT%Ou4BCj}E{Xb@dIfbXy3=_Ykz*y`1RXe#7$O{q*GT}V1j=zDv0i(U-Y zmnk&$q_A#BnqcuwQ(q$SQIqCocK?`I`C%Q3Ys)xz?}5cZ#Z3^@SNT}Kz`2J!HqzOU zQDV~RB}R6sW+;1LQ)E%dV5v{ivyhz*>Ax(vq+qqqyYhpvVne!s8PI%%ZV@O^xySVq zbUJ$)p9e&ZII7o^YIEsF_!%F*O55}Ni0wPU7-E5_X;lcdkID{ghNu@j-;p48U%*E3 zZ=1`AqIZKBVxG4ileG_lnXdga9oJDAr%s$)!VxCvba9@M_7@5N`2S_;R_m>UsPQH-Ah<2xj&qR;c9Y*a*#N*uGs)*=w>6~L#9bL|W`jlOHdd@uhTZ710W<_Mmj zGESqX>EaL1fFGCvzkde&G2ql5|8YG9Jj#tIqOSm-6PPb}p2Mmi5l$`DPGwp_gW2iY z|32^Baj*olFXfiPlc4!oyfV(u`DkB@t&0J#`^?-yj$q) z#pQQ$eWC3R*tijAoIEU(S-UTt?TM%DB<_Z|?G%PYB0Dgcc3dYJTQR)_t)WcW@mwxG zY~wPW8y3B}_<&<43j+hga4C{76iB&KOx2|vEwb$!a3|}qJ2r2yv9fW)Et}gmb+!Y> zo!{=TwAR8aZTrTJTh_O2w71-FLwCn^dwbjZjUDjtuitFtm6ji~rjpiodbYF{b8^|{ z6xep;ZB8C7YMZ*&)3a<*OG7kL7pGaS}gc?QIsetk~&V}RvJDuz0_l?U^v3S&eBQ|{;)5yP*F#x%g3oT}EdKV#fnpBq9X~&(Wx7` z*LM8enJJC0sE|M9%>t&BOpj_mCR*)P^N`Q~ zlr~_>_A~iY{Nno0Xa}Z;*-=xD$Mi{`KmSh*(^Gn0z+u>rpGupT8Hi zKli_gYD-Pu)*=(`KbC(0hK`^8&qkGoX^RrQy}$mSLR0J?U7}2xKI(ZY#$P`@)4{Vd z?>_m(7QzTm#*V6Hg5|BJ24|MNZv HpD6wl=aYr? literal 0 HcmV?d00001 diff --git a/ratemon/runtime/experimental/client_server/server.c b/ratemon/runtime/c/experimental/client_server/server.c similarity index 100% rename from ratemon/runtime/experimental/client_server/server.c rename to ratemon/runtime/c/experimental/client_server/server.c diff --git a/ratemon/runtime/experimental/ratemon_test.bpf.c b/ratemon/runtime/c/experimental/ratemon_test.bpf.c similarity index 100% rename from ratemon/runtime/experimental/ratemon_test.bpf.c rename to ratemon/runtime/c/experimental/ratemon_test.bpf.c diff --git a/ratemon/runtime/experimental/ratemon_test.c b/ratemon/runtime/c/experimental/ratemon_test.c similarity index 100% rename from ratemon/runtime/experimental/ratemon_test.c rename to ratemon/runtime/c/experimental/ratemon_test.c diff --git a/ratemon/runtime/experimental/ratemon_test.h b/ratemon/runtime/c/experimental/ratemon_test.h similarity index 100% rename from ratemon/runtime/experimental/ratemon_test.h rename to ratemon/runtime/c/experimental/ratemon_test.h diff --git a/ratemon/runtime/libratemon_interp.cpp b/ratemon/runtime/c/libratemon_interp.cpp similarity index 100% rename from ratemon/runtime/libratemon_interp.cpp rename to ratemon/runtime/c/libratemon_interp.cpp diff --git a/ratemon/runtime/ratemon.h b/ratemon/runtime/c/ratemon.h similarity index 100% rename from ratemon/runtime/ratemon.h rename to ratemon/runtime/c/ratemon.h diff --git a/ratemon/runtime/ratemon_main.c b/ratemon/runtime/c/ratemon_main.c similarity index 100% rename from ratemon/runtime/ratemon_main.c rename to ratemon/runtime/c/ratemon_main.c diff --git a/ratemon/runtime/ratemon_maps.h b/ratemon/runtime/c/ratemon_maps.h similarity index 100% rename from ratemon/runtime/ratemon_maps.h rename to ratemon/runtime/c/ratemon_maps.h diff --git a/ratemon/runtime/ratemon_sockops.bpf.c b/ratemon/runtime/c/ratemon_sockops.bpf.c similarity index 100% rename from ratemon/runtime/ratemon_sockops.bpf.c rename to ratemon/runtime/c/ratemon_sockops.bpf.c diff --git a/ratemon/runtime/ratemon_structops.bpf.c b/ratemon/runtime/c/ratemon_structops.bpf.c similarity index 100% rename from ratemon/runtime/ratemon_structops.bpf.c rename to ratemon/runtime/c/ratemon_structops.bpf.c diff --git a/ratemon/runtime/ratemon_tc.bpf.c b/ratemon/runtime/c/ratemon_tc.bpf.c similarity index 100% rename from ratemon/runtime/ratemon_tc.bpf.c rename to ratemon/runtime/c/ratemon_tc.bpf.c diff --git a/ratemon/runtime/python/__init__.py b/ratemon/runtime/python/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ratemon/runtime/old/ebpf.py b/ratemon/runtime/python/ebpf.py similarity index 100% rename from ratemon/runtime/old/ebpf.py rename to ratemon/runtime/python/ebpf.py diff --git a/ratemon/runtime/experimental/iter_map.cc b/ratemon/runtime/python/experimental/iter_map.cc similarity index 100% rename from ratemon/runtime/experimental/iter_map.cc rename to ratemon/runtime/python/experimental/iter_map.cc diff --git a/ratemon/runtime/flow_utils.py b/ratemon/runtime/python/flow_utils.py similarity index 100% rename from ratemon/runtime/flow_utils.py rename to ratemon/runtime/python/flow_utils.py diff --git a/ratemon/runtime/mitigation_strategy.py b/ratemon/runtime/python/mitigation_strategy.py similarity index 100% rename from ratemon/runtime/mitigation_strategy.py rename to ratemon/runtime/python/mitigation_strategy.py diff --git a/ratemon/runtime/pacing_notes.py b/ratemon/runtime/python/pacing_notes.py similarity index 100% rename from ratemon/runtime/pacing_notes.py rename to ratemon/runtime/python/pacing_notes.py diff --git a/ratemon/runtime/policies.py b/ratemon/runtime/python/policies.py similarity index 99% rename from ratemon/runtime/policies.py rename to ratemon/runtime/python/policies.py index 8b506bfa..49891f73 100644 --- a/ratemon/runtime/policies.py +++ b/ratemon/runtime/python/policies.py @@ -4,7 +4,7 @@ import logging from ratemon.model import defaults, models, features, utils -from ratemon.runtime import reaction_strategy +from ratemon.runtime.python import reaction_strategy class Policy(IntEnum): diff --git a/ratemon/runtime/policy_engine.py b/ratemon/runtime/python/policy_engine.py similarity index 99% rename from ratemon/runtime/policy_engine.py rename to ratemon/runtime/python/policy_engine.py index e6480695..e0e49636 100644 --- a/ratemon/runtime/policy_engine.py +++ b/ratemon/runtime/python/policy_engine.py @@ -12,8 +12,8 @@ from ratemon.model import data, defaults, features, gen_features, models, utils from ratemon.model.defaults import Class -from ratemon.runtime import ebpf, flow_utils, policies -from ratemon.runtime.policies import Policy +from ratemon.runtime.python import ebpf, flow_utils, policies +from ratemon.runtime.python.policies import Policy def run(args, que, flags, done): diff --git a/ratemon/runtime/old/ratemon_runtime.c b/ratemon/runtime/python/ratemon_runtime.c similarity index 100% rename from ratemon/runtime/old/ratemon_runtime.c rename to ratemon/runtime/python/ratemon_runtime.c diff --git a/ratemon/runtime/old/ratemon_runtime.py b/ratemon/runtime/python/ratemon_runtime.py similarity index 99% rename from ratemon/runtime/old/ratemon_runtime.py rename to ratemon/runtime/python/ratemon_runtime.py index 4af91007..2e0f0319 100644 --- a/ratemon/runtime/old/ratemon_runtime.py +++ b/ratemon/runtime/python/ratemon_runtime.py @@ -18,16 +18,16 @@ import pcapy from ratemon.model import features, utils -from ratemon.runtime import ( +from ratemon.runtime.python import ( flow_utils, mitigation_strategy, policies, policy_engine, reaction_strategy, ) -from ratemon.runtime.policies import Policy -from ratemon.runtime.mitigation_strategy import MitigationStrategy -from ratemon.runtime.reaction_strategy import ReactionStrategy +from ratemon.runtime.python.policies import Policy +from ratemon.runtime.python.mitigation_strategy import MitigationStrategy +from ratemon.runtime.python.reaction_strategy import ReactionStrategy LOCALHOST = utils.ip_str_to_int("127.0.0.1") diff --git a/ratemon/runtime/reaction_strategy.py b/ratemon/runtime/python/reaction_strategy.py similarity index 100% rename from ratemon/runtime/reaction_strategy.py rename to ratemon/runtime/python/reaction_strategy.py