# 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 10073503 bytes 10508713985 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 3252498 bytes 3538045768 accept # handle 29
		counter packets 7431996 bytes 14710418874 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 18950 bytes 2154455 accept # handle 28
		oifname "ovn-k8s-mp0" counter packets 15719 bytes 9085852 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 9957280 bytes 10400866910 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 9877860 bytes 15028351818 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
	}

	chain OVN-KUBE-EXTERNALIP { # handle 9
	}

	chain OVN-KUBE-ETP { # handle 10
	}

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

	chain PREROUTING { # handle 13
		type nat hook prerouting priority dstnat; policy accept;
		counter packets 8484 bytes 605465 jump OVN-KUBE-ETP # handle 18
		counter packets 8484 bytes 605465 jump OVN-KUBE-EXTERNALIP # handle 16
		counter packets 8484 bytes 605465 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 112048 bytes 6741576 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 81642 bytes 4898563 masquerade # handle 25
		counter packets 25296 bytes 1534353 jump OVN-KUBE-UDN-MASQUERADE # handle 26
	}

	chain OVN-KUBE-UDN-MASQUERADE { # handle 23
		ip saddr 169.254.0.0/29 counter packets 147 bytes 17136 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 214
		ip daddr @udn-open-ports-icmp-v4 meta l4proto icmp accept # handle 215
		socket cgroupv2 level 2 "system.slice/kubelet.service" ip daddr @udn-pod-default-ips-v4 accept # handle 216
		ip daddr @udn-pod-default-ips-v4 drop # handle 217
	}

	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 1490
		meta l4proto . th dport @mgmtport-no-snat-nodeports return # handle 1491
		ip saddr 10.217.0.2 return # handle 1492
		ip daddr . meta l4proto . th dport @mgmtport-no-snat-services-v4 return # handle 1493
		snat ip to 10.217.0.2 # handle 1494
	}

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

	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 223
	}

	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 224
	}

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