# Warning: table ip filter is managed by iptables-nft, do not touch!
table ip filter { # handle 3
	chain OUTPUT { # handle 1
		type filter hook output priority filter; policy accept;
		tcp flags syn / fin,syn,rst,ack tcp dport 22624 counter packets 0 bytes 0 reject # handle 20
		tcp flags syn / fin,syn,rst,ack tcp dport 22623 counter packets 0 bytes 0 reject # handle 19
		counter packets 6307890 bytes 6506654015 jump KUBE-FIREWALL # handle 11
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 2
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 3
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 4
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 5
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 6
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 7
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 8
		oifname "ens3" udp dport 53 xt match "string" counter packets 0 bytes 0 drop # handle 9
	}

	chain KUBE-FIREWALL { # handle 10
		ip saddr != 127.0.0.0/8 ip daddr 127.0.0.0/8  ct status dnat counter packets 0 bytes 0 drop # handle 14
	}

	chain INPUT { # handle 12
		type filter hook input priority filter; policy accept;
		iifname "ovn-k8s-mp0"  counter packets 2006244 bytes 2077180796 accept # handle 29
		counter packets 4728671 bytes 9955402011 jump KUBE-FIREWALL # handle 13
	}

	chain KUBE-KUBELET-CANARY { # handle 15
	}

	chain FORWARD { # handle 16
		type filter hook forward priority filter; policy accept;
		iifname "ovn-k8s-mp0" counter packets 12583 bytes 1380320 accept # handle 28
		oifname "ovn-k8s-mp0" counter packets 10399 bytes 6291752 accept # handle 27
		tcp flags syn / fin,syn,rst,ack tcp dport 22624 counter packets 0 bytes 0 reject # handle 18
		tcp flags syn / fin,syn,rst,ack tcp dport 22623 counter packets 0 bytes 0 reject # handle 17
	}
}
# Warning: table ip mangle is managed by iptables-nft, do not touch!
table ip mangle { # handle 4
	chain KUBE-IPTABLES-HINT { # handle 1
	}

	chain KUBE-KUBELET-CANARY { # handle 2
	}

	chain OVN-KUBE-ITP { # handle 3
	}

	chain OUTPUT { # handle 4
		type route hook output priority mangle; policy accept;
		counter packets 6191970 bytes 6391887812 jump OVN-KUBE-ITP # handle 5
	}

	chain PREROUTING { # handle 6
		type filter hook prerouting priority mangle; policy accept;
		meta mark 0x000003f0 counter packets 0 bytes 0 ct mark set mark # handle 8
		meta mark 0x00000000 counter packets 5979466 bytes 9074884316 meta mark set ct mark # handle 7
	}
}
table ip6 mangle { # handle 5
	chain KUBE-IPTABLES-HINT { # handle 1
	}

	chain KUBE-KUBELET-CANARY { # handle 2
	}
}
# Warning: table ip nat is managed by iptables-nft, do not touch!
table ip nat { # handle 6
	chain KUBE-KUBELET-CANARY { # handle 1
	}

	chain OVN-KUBE-ITP { # handle 7
	}

	chain OVN-KUBE-NODEPORT { # handle 8
		ip protocol tcp fib daddr type local tcp dport 31035 counter packets 0 bytes 0 dnat to 10.217.4.146:9696 # handle 357
		ip protocol tcp fib daddr type local tcp dport 32500 counter packets 0 bytes 0 dnat to 10.217.4.100:53 # handle 351
		ip protocol udp fib daddr type local udp dport 32500 counter packets 0 bytes 0 dnat to 10.217.4.100:53 # handle 349
		ip protocol tcp fib daddr type local tcp dport 32181 counter packets 0 bytes 0 dnat to 10.217.5.232:9311 # handle 340
		ip protocol tcp fib daddr type local tcp dport 31175 counter packets 0 bytes 0 dnat to 10.217.4.42:5000 # handle 323
		ip protocol tcp fib daddr type local tcp dport 30705 counter packets 0 bytes 0 dnat to 10.217.4.234:5671 # handle 302
		ip protocol tcp fib daddr type local tcp dport 30252 counter packets 0 bytes 0 dnat to 10.217.4.234:15691 # handle 300
		ip protocol tcp fib daddr type local tcp dport 32418 counter packets 0 bytes 0 dnat to 10.217.4.234:15671 # handle 298
		ip protocol tcp fib daddr type local tcp dport 30627 counter packets 0 bytes 0 dnat to 10.217.5.54:15671 # handle 296
		ip protocol tcp fib daddr type local tcp dport 30331 counter packets 0 bytes 0 dnat to 10.217.5.54:5671 # handle 294
		ip protocol tcp fib daddr type local tcp dport 32717 counter packets 0 bytes 0 dnat to 10.217.5.54:15691 # handle 292
	}

	chain OVN-KUBE-EXTERNALIP { # handle 9
		ip daddr 172.17.0.80 tcp dport 9696 counter packets 0 bytes 0 dnat to 10.217.4.146:9696 # handle 358
		ip daddr 192.168.122.80 tcp dport 53 counter packets 0 bytes 0 dnat to 10.217.4.100:53 # handle 352
		ip daddr 192.168.122.80 udp dport 53 counter packets 0 bytes 0 dnat to 10.217.4.100:53 # handle 350
		ip daddr 172.17.0.80 tcp dport 9311 counter packets 0 bytes 0 dnat to 10.217.5.232:9311 # handle 341
		ip daddr 172.17.0.80 tcp dport 5000 counter packets 0 bytes 0 dnat to 10.217.4.42:5000 # handle 324
		ip daddr 172.17.0.86 tcp dport 5671 counter packets 0 bytes 0 dnat to 10.217.4.234:5671 # handle 303
		ip daddr 172.17.0.86 tcp dport 15691 counter packets 0 bytes 0 dnat to 10.217.4.234:15691 # handle 301
		ip daddr 172.17.0.86 tcp dport 15671 counter packets 0 bytes 0 dnat to 10.217.4.234:15671 # handle 299
		ip daddr 172.17.0.85 tcp dport 15671 counter packets 0 bytes 0 dnat to 10.217.5.54:15671 # handle 297
		ip daddr 172.17.0.85 tcp dport 5671 counter packets 0 bytes 0 dnat to 10.217.5.54:5671 # handle 295
		ip daddr 172.17.0.85 tcp dport 15691 counter packets 0 bytes 0 dnat to 10.217.5.54:15691 # handle 293
	}

	chain OVN-KUBE-ETP { # handle 10
	}

	chain OUTPUT { # handle 11
		type nat hook output priority dstnat; policy accept;
		counter packets 70707 bytes 4253532 jump OVN-KUBE-EXTERNALIP # handle 17
		counter packets 70707 bytes 4253532 jump OVN-KUBE-NODEPORT # handle 15
		counter packets 70707 bytes 4253532 jump OVN-KUBE-ITP # handle 12
	}

	chain PREROUTING { # handle 13
		type nat hook prerouting priority dstnat; policy accept;
		counter packets 6059 bytes 409216 jump OVN-KUBE-ETP # handle 18
		counter packets 6059 bytes 409216 jump OVN-KUBE-EXTERNALIP # handle 16
		counter packets 6059 bytes 409216 jump OVN-KUBE-NODEPORT # handle 14
	}

	chain OVN-KUBE-EGRESS-IP-MULTI-NIC { # handle 19
	}

	chain POSTROUTING { # handle 20
		type nat hook postrouting priority srcnat; policy accept;
		counter packets 71698 bytes 4313074 jump OVN-KUBE-EGRESS-IP-MULTI-NIC # handle 21
		ip saddr 169.254.0.1 counter packets 0 bytes 0 masquerade # handle 24
		ip saddr 10.217.0.0/23 counter packets 50548 bytes 3032962 masquerade # handle 25
		counter packets 16530 bytes 1000894 jump OVN-KUBE-UDN-MASQUERADE # handle 26
	}

	chain OVN-KUBE-UDN-MASQUERADE { # handle 23
		ip saddr 169.254.0.0/29 counter packets 98 bytes 11424 return # handle 27
		ip daddr 10.217.4.0/23 counter packets 0 bytes 0 return # handle 28
		ip saddr 169.254.0.0/17 counter packets 0 bytes 0 masquerade # handle 29
	}
}
table ip6 nat { # handle 7
	chain KUBE-KUBELET-CANARY { # handle 1
	}
}
table ip6 filter { # handle 8
	chain KUBE-KUBELET-CANARY { # handle 1
	}
}
# Warning: table ip raw is managed by iptables-nft, do not touch!
table ip raw { # handle 9
	chain PREROUTING { # handle 1
		type filter hook prerouting priority raw; policy accept;
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 2
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 5
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 7
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 9
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 11
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 13
	}

	chain OUTPUT { # handle 3
		type filter hook output priority raw; policy accept;
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 4
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 6
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 8
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 10
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 12
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 14
	}
}
# Warning: table ip6 raw is managed by iptables-nft, do not touch!
table ip6 raw { # handle 10
	chain PREROUTING { # handle 1
		type filter hook prerouting priority raw; policy accept;
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 2
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 5
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 7
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 9
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 11
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 13
	}

	chain OUTPUT { # handle 3
		type filter hook output priority raw; policy accept;
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 4
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 6
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 8
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 10
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 12
		udp dport 6081 counter packets 0 bytes 0 notrack # handle 14
	}
}
table inet ovn-kubernetes { # handle 12
	set udn-open-ports-v4 { # handle 22
		type ipv4_addr . inet_proto . inet_service
		comment "default network open ports of pods in user defined networks (IPv4)"
	}

	set udn-open-ports-v6 { # handle 23
		type ipv6_addr . inet_proto . inet_service
		comment "default network open ports of pods in user defined networks (IPv6)"
	}

	set udn-open-ports-icmp-v4 { # handle 24
		type ipv4_addr
		comment "default network IPs of pods in user defined networks that allow ICMP (IPv4)"
	}

	set udn-open-ports-icmp-v6 { # handle 25
		type ipv6_addr
		comment "default network IPs of pods in user defined networks that allow ICMP (IPv6)"
	}

	set udn-pod-default-ips-v4 { # handle 26
		type ipv4_addr
		comment "default network IPs of pods in user defined networks (IPv4)"
	}

	set udn-pod-default-ips-v6 { # handle 27
		type ipv6_addr
		comment "default network IPs of pods in user defined networks (IPv6)"
	}

	set mgmtport-no-snat-nodeports { # handle 51
		type inet_proto . inet_service
		comment "NodePorts not subject to management port SNAT"
	}

	set mgmtport-no-snat-services-v4 { # handle 52
		type ipv4_addr . inet_proto . inet_service
		comment "eTP:Local short-circuit not subject to management port SNAT (IPv4)"
	}

	set mgmtport-no-snat-services-v6 { # handle 53
		type ipv6_addr . inet_proto . inet_service
		comment "eTP:Local short-circuit not subject to management port SNAT (IPv6)"
	}

	map udn-mark-nodeports { # handle 109
		type inet_proto . inet_service : verdict
		comment "UDN services NodePorts mark"
	}

	map udn-mark-external-ips-v4 { # handle 110
		type ipv4_addr . inet_proto . inet_service : verdict
		comment "UDN services External IPs mark (IPv4)"
	}

	map udn-mark-external-ips-v6 { # handle 111
		type ipv6_addr . inet_proto . inet_service : verdict
		comment "UDN services External IPs mark (IPv6)"
	}

	map egress-service-snat-v4 { # handle 117
		type ipv4_addr : ipv4_addr
	}

	chain udn-isolation { # handle 21
		comment "Host isolation for user defined networks"
		type filter hook output priority filter; policy accept;
		ip daddr . meta l4proto . th dport @udn-open-ports-v4 accept # handle 204
		ip daddr @udn-open-ports-icmp-v4 meta l4proto icmp accept # handle 205
		socket cgroupv2 level 2 "system.slice/kubelet.service" ip daddr @udn-pod-default-ips-v4 accept # handle 206
		ip daddr @udn-pod-default-ips-v4 drop # handle 207
	}

	chain mgmtport-snat { # handle 50
		comment "OVN SNAT to Management Port"
		type nat hook postrouting priority srcnat; policy accept;
		oifname != "ovn-k8s-mp0" return # handle 1050
		meta l4proto . th dport @mgmtport-no-snat-nodeports return # handle 1051
		ip saddr 10.217.0.2 return # handle 1052
		ip daddr . meta l4proto . th dport @mgmtport-no-snat-services-v4 return # handle 1053
		snat ip to 10.217.0.2 # handle 1054
	}

	chain udn-service-mark { # handle 104
		comment "UDN services packet mark"
		fib daddr type local meta l4proto . th dport vmap @udn-mark-nodeports # handle 215
		ip daddr . meta l4proto . th dport vmap @udn-mark-external-ips-v4 # handle 216
		ip6 daddr . meta l4proto . th dport vmap @udn-mark-external-ips-v6 # handle 217
	}

	chain udn-service-prerouting { # handle 105
		comment "UDN services packet mark - Prerouting"
		type filter hook prerouting priority mangle; policy accept;
		iifname != "ovn-k8s-mp0" jump udn-service-mark # handle 213
	}

	chain udn-service-output { # handle 107
		comment "UDN services packet mark - Output"
		type filter hook output priority mangle; policy accept;
		jump udn-service-mark # handle 214
	}

	chain egress-services { # handle 115
		type nat hook postrouting priority srcnat; policy accept;
		meta mark 0x000003f0 return comment "DoNotSNAT" # handle 218
		snat ip to ip saddr map @egress-service-snat-v4 # handle 219
	}
}
