From c61796c3ce1b6f94033f9ee6732135d52d5bfdf5 Mon Sep 17 00:00:00 2001 From: Steffen Smolka Date: Mon, 25 Jul 2016 23:21:32 -0700 Subject: [PATCH] first global example --- examples/meta-fields/global/meta-global1.kat | 2 ++ lib/Frenetic_NetKAT_Compiler.ml | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 examples/meta-fields/global/meta-global1.kat diff --git a/examples/meta-fields/global/meta-global1.kat b/examples/meta-fields/global/meta-global1.kat new file mode 100644 index 000000000..60746c04b --- /dev/null +++ b/examples/meta-fields/global/meta-global1.kat @@ -0,0 +1,2 @@ +let meta := 1 in +if meta = 1 then 1@1=>2@2 else 1@1=>3@3 diff --git a/lib/Frenetic_NetKAT_Compiler.ml b/lib/Frenetic_NetKAT_Compiler.ml index 6ddcd69a0..fbce67061 100644 --- a/lib/Frenetic_NetKAT_Compiler.ml +++ b/lib/Frenetic_NetKAT_Compiler.ml @@ -535,6 +535,9 @@ module Pol = struct |> mk_filter in mk_big_seq [filter_loc s1 p1; Dup; post_link ] + | Let (metaid, Const v, _, p) -> + Seq (Mod (Meta (metaid, v)), of_pol ing p) + | Let _ -> failwith "not implemented" | VLink _ -> assert false (* SJS / JNF *) end