X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=flowspec-xdp;a=blobdiff_plain;f=genrules.py;h=40fc5c1f2d84969b959e5d30fdaad8c3c29cdf20;hp=6c8411b03ec3962a8100e3aa585e34fb3197ba04;hb=66e2db182f749072cac361b873dcc35d6377468e;hpb=bcf836638563135278efe7d0476ece5772ff465a diff --git a/genrules.py b/genrules.py index 6c8411b..40fc5c1 100755 --- a/genrules.py +++ b/genrules.py @@ -272,6 +272,7 @@ with open("rules.h", "w") as out: use_v4 = False use_v6 = False use_v6_frags = False + rulecnt = 0 out.write("#define RULES \\\n") @@ -334,10 +335,13 @@ with open("rules.h", "w") as out: pass else: assert False - out.write("\t\treturn XDP_DROP;\\\n") + out.write(f"\t\tconst uint32_t ruleidx = STATIC_RULE_CNT + {rulecnt};\\\n") + out.write("\t\tDO_RETURN(ruleidx, XDP_DROP);\\\n") out.write("\t} while(0);\\\n}\\\n") + rulecnt += 1 out.write("\n") + out.write(f"#define RULECNT {rulecnt}\n") if use_v4: out.write("#define NEED_V4_PARSE\n") if use_v6: