Track ports valid directly - as LLVM will | pointers which BPF wont allow
[flowspec-xdp] / genrules.py
index edef6175e264f03f6edec910069c55ea92ae1c41..4468c1e00e52d58fb12c9d4769ae12c95c7d2704 100755 (executable)
@@ -232,10 +232,10 @@ def dscp_to_rule(proto, rules):
 def port_to_rule(ty, rules):
     if ty == "port" :
         ast = parse_ast(rules, parse_numbers_expr)
-        return "if (tcp == NULL && udp == NULL) break;\nif (!( " + ast.write("sport", "dport") + " )) break;"
+        return "if (!ports_valid) break;\nif (!( " + ast.write("sport", "dport") + " )) break;"
 
     ast = parse_ast(rules, parse_numbers_expr)
-    return "if (tcp == NULL && udp == NULL) break;\nif (!( " + ast.write(ty) + " )) break;"
+    return "if (!ports_valid) break;\nif (!( " + ast.write(ty) + " )) break;"
 
 def tcp_flags_to_rule(rules):
     ast = parse_ast(rules, parse_bit_expr)