Skip to content

Commit 68c7538

Browse files
committed
Remove quoting from nft rules so that knftables.ParseDump doesn't fail
There is a bug in ParseDump that fails to parse if interface names are quoted. We want to use ParseDump on our tests. Since our interface names specifically don't need to be quoted, remove the quotes. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
1 parent 62b331d commit 68c7538

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

go-controller/pkg/node/gateway_init_linux_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ import (
5050
// The base expected nftables rules. You must substitute in the management port interface name.
5151
const baseNFTRulesFmt = `
5252
add table inet ovn-kubernetes
53-
add chain inet ovn-kubernetes mgmtport-snat { type nat hook postrouting priority 100 ; comment "OVN SNAT to Management Port" ; }
54-
add rule inet ovn-kubernetes mgmtport-snat oifname != %q return
55-
add rule inet ovn-kubernetes mgmtport-snat meta nfproto ipv4 ip saddr 10.1.1.0 counter return
56-
add rule inet ovn-kubernetes mgmtport-snat meta l4proto . th dport @mgmtport-no-snat-nodeports counter return
57-
add rule inet ovn-kubernetes mgmtport-snat ip daddr . meta l4proto . th dport @mgmtport-no-snat-services-v4 counter return
58-
add rule inet ovn-kubernetes mgmtport-snat counter snat ip to 10.1.1.0
5953
add set inet ovn-kubernetes mgmtport-no-snat-nodeports { type inet_proto . inet_service ; comment "NodePorts not subject to management port SNAT" ; }
6054
add set inet ovn-kubernetes mgmtport-no-snat-services-v4 { type ipv4_addr . inet_proto . inet_service ; comment "eTP:Local short-circuit not subject to management port SNAT (IPv4)" ; }
6155
add set inet ovn-kubernetes mgmtport-no-snat-services-v6 { type ipv6_addr . inet_proto . inet_service ; comment "eTP:Local short-circuit not subject to management port SNAT (IPv6)" ; }
56+
add chain inet ovn-kubernetes mgmtport-snat { type nat hook postrouting priority 100 ; comment "OVN SNAT to Management Port" ; }
57+
add rule inet ovn-kubernetes mgmtport-snat oifname != %s return
58+
add rule inet ovn-kubernetes mgmtport-snat meta nfproto ipv4 ip saddr 10.1.1.2 counter return
59+
add rule inet ovn-kubernetes mgmtport-snat meta l4proto . th dport @mgmtport-no-snat-nodeports counter return
60+
add rule inet ovn-kubernetes mgmtport-snat ip daddr . meta l4proto . th dport @mgmtport-no-snat-services-v4 counter return
61+
add rule inet ovn-kubernetes mgmtport-snat counter snat ip to 10.1.1.2
6262
`
6363

6464
// The base expected nftables rules with UDN enabled. You must substitute in the management port interface name.
@@ -71,7 +71,7 @@ add rule inet ovn-kubernetes udn-service-mark fib daddr type local meta l4proto
7171
add rule inet ovn-kubernetes udn-service-mark ip daddr . meta l4proto . th dport vmap @udn-mark-external-ips-v4
7272
add rule inet ovn-kubernetes udn-service-mark ip6 daddr . meta l4proto . th dport vmap @udn-mark-external-ips-v6
7373
add chain inet ovn-kubernetes udn-service-prerouting { type filter hook prerouting priority -150 ; comment "UDN services packet mark - Prerouting" ; }
74-
add rule inet ovn-kubernetes udn-service-prerouting iifname != %q jump udn-service-mark
74+
add rule inet ovn-kubernetes udn-service-prerouting iifname != %s jump udn-service-mark
7575
add chain inet ovn-kubernetes udn-service-output { type filter hook output priority -150 ; comment "UDN services packet mark - Output" ; }
7676
add rule inet ovn-kubernetes udn-service-output jump udn-service-mark
7777
`

go-controller/pkg/node/gateway_shared_intf.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func configureUDNServicesNFTables() error {
113113
tx.Add(&knftables.Rule{
114114
Chain: nftablesUDNServicePreroutingChain,
115115
Rule: knftables.Concat(
116-
"iifname", "!=", fmt.Sprintf("%q", types.K8sMgmtIntfName),
116+
"iifname", "!=", types.K8sMgmtIntfName,
117117
"jump", nftablesUDNServiceMarkChain,
118118
),
119119
})

go-controller/pkg/node/management-port_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ func setupManagementPortNFTables(cfg *managementPortConfig) error {
308308
tx.Add(&knftables.Rule{
309309
Chain: nftablesMgmtPortChain,
310310
Rule: knftables.Concat(
311-
"oifname", "!=", fmt.Sprintf("%q", cfg.ifName),
311+
"oifname", "!=", cfg.ifName,
312312
"return",
313313
),
314314
})

0 commit comments

Comments
 (0)