(typeattribute cil_gen_require)
(roleattribute cil_gen_require)
(handleunknown allow)
(mls true)
(policycap network_peer_controls)
(policycap open_perms)
(sid security)
(sidorder (security))
(sensitivity s0)
(sensitivityorder (s0))
(user system_u)
(userrole system_u object_r)
(userlevel system_u (s0))
(userrange system_u ((s0) (s0)))
(role object_r)
(roletype object_r first_node_t)
(roletype object_r second_node_t)
(roletype object_r third_node_t)
(type first_node_t)
(type second_node_t)
(type third_node_t)
(sidcontext security (system_u object_r first_node_t ((s0) (s0))))
(class node (tcp_recv))
(classorder (node))
(allow first_node_t self (node (tcp_recv)))
(nodecon (192.168.0.0) (255.255.255.0) (system_u object_r first_node_t ((s0) (s0))))
(nodecon (2001:db8:85a3::8a2e:370:7334) (2001:db8:85a3::8a2e:370:7334) (system_u object_r second_node_t ((s0) (s0))))
(nodecon (127.0.0.1) (255.255.0.0) (system_u object_r third_node_t ((s0) (s0))))
