Simplify nftables.ml types
This commit is contained in:
parent
9d300de0f3
commit
e8b7c08b27
1 changed files with 13 additions and 15 deletions
28
nftables.ml
28
nftables.ml
|
@ -50,9 +50,13 @@ type rule = {
|
||||||
expr : unit stmt list;
|
expr : unit stmt list;
|
||||||
}
|
}
|
||||||
|
|
||||||
type add_object = AddTable of table | AddChain of chain | AddRule of rule
|
type command =
|
||||||
type flush_object = FlushRuleset | FlushTable of table | FlushChain of chain
|
| FlushRuleset
|
||||||
type command = Add of add_object | Flush of flush_object
|
| AddTable of table
|
||||||
|
| FlushTable of table
|
||||||
|
| AddChain of chain
|
||||||
|
| FlushChain of chain
|
||||||
|
| AddRule of rule
|
||||||
|
|
||||||
let string_of_udp : type a. a udp -> string = function
|
let string_of_udp : type a. a udp -> string = function
|
||||||
| UdpSport -> "sport"
|
| UdpSport -> "sport"
|
||||||
|
@ -164,19 +168,13 @@ let json_of_rule { family; table; chain; expr } =
|
||||||
("expr", `List (List.map json_of_stmt expr));
|
("expr", `List (List.map json_of_stmt expr));
|
||||||
])
|
])
|
||||||
|
|
||||||
let json_of_add_object = function
|
|
||||||
| AddTable t -> json_of_table t
|
|
||||||
| AddChain c -> json_of_chain c
|
|
||||||
| AddRule r -> json_of_rule r
|
|
||||||
|
|
||||||
let json_of_flush_object = function
|
|
||||||
| FlushRuleset -> assoc_one "ruleset" `Null
|
|
||||||
| FlushTable t -> json_of_table t
|
|
||||||
| FlushChain c -> json_of_chain c
|
|
||||||
|
|
||||||
let json_of_command = function
|
let json_of_command = function
|
||||||
| Add a -> assoc_one "add" (json_of_add_object a)
|
| FlushRuleset -> assoc_one "flush" (assoc_one "ruleset" `Null)
|
||||||
| Flush a -> assoc_one "flush" (json_of_flush_object a)
|
| AddTable t -> assoc_one "add" (json_of_table t)
|
||||||
|
| FlushTable t -> assoc_one "flush" (json_of_table t)
|
||||||
|
| AddChain c -> assoc_one "add" (json_of_chain c)
|
||||||
|
| FlushChain c -> assoc_one "flush" (json_of_chain c)
|
||||||
|
| AddRule r -> assoc_one "add" (json_of_rule r)
|
||||||
|
|
||||||
let json_of_nftables n =
|
let json_of_nftables n =
|
||||||
assoc_one "nftables" (`List (List.map json_of_command n))
|
assoc_one "nftables" (`List (List.map json_of_command n))
|
||||||
|
|
Loading…
Reference in a new issue