@@ -48,6 +48,13 @@ func testEgressDual(t *testing.T) {
4848		if  ! exist  {
4949			return  errors .New ("NAT rule not found for IPv4" )
5050		}
51+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
52+ 		if  err  !=  nil  {
53+ 			return  err 
54+ 		}
55+ 		if  ! exist  {
56+ 			return  errors .New ("Filter rule not found for IPv4" )
57+ 		}
5158
5259		ipt , err  =  iptables .NewWithProtocol (iptables .ProtocolIPv6 )
5360		if  err  !=  nil  {
@@ -61,6 +68,14 @@ func testEgressDual(t *testing.T) {
6168			return  errors .New ("NAT rule not found for IPv6" )
6269		}
6370
71+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
72+ 		if  err  !=  nil  {
73+ 			return  err 
74+ 		}
75+ 		if  ! exist  {
76+ 			return  errors .New ("Filter rule not found for IPv6" )
77+ 		}
78+ 
6479		rm , err  :=  ruleMap (netlink .FAMILY_V4 )
6580		if  err  !=  nil  {
6681			return  err 
@@ -168,6 +183,14 @@ func testEgressV4(t *testing.T) {
168183			return  errors .New ("NAT rule not found for IPv4" )
169184		}
170185
186+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
187+ 		if  err  !=  nil  {
188+ 			return  err 
189+ 		}
190+ 		if  ! exist  {
191+ 			return  errors .New ("Filter rule not found for IPv4" )
192+ 		}
193+ 
171194		ipt , err  =  iptables .NewWithProtocol (iptables .ProtocolIPv6 )
172195		if  err  !=  nil  {
173196			return  err 
@@ -180,6 +203,14 @@ func testEgressV4(t *testing.T) {
180203			return  errors .New ("NAT rule found for IPv6" )
181204		}
182205
206+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
207+ 		if  err  !=  nil  {
208+ 			return  err 
209+ 		}
210+ 		if  exist  {
211+ 			return  errors .New ("Filter rule found for IPv6" )
212+ 		}
213+ 
183214		rm , err  :=  ruleMap (netlink .FAMILY_V4 )
184215		if  err  !=  nil  {
185216			return  err 
@@ -256,6 +287,14 @@ func testEgressV6(t *testing.T) {
256287			return  errors .New ("NAT rule found for IPv4" )
257288		}
258289
290+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
291+ 		if  err  !=  nil  {
292+ 			return  err 
293+ 		}
294+ 		if  exist  {
295+ 			return  errors .New ("Filter rule found for IPv4" )
296+ 		}
297+ 
259298		ipt , err  =  iptables .NewWithProtocol (iptables .ProtocolIPv6 )
260299		if  err  !=  nil  {
261300			return  err 
@@ -268,6 +307,14 @@ func testEgressV6(t *testing.T) {
268307			return  errors .New ("NAT rule not found for IPv6" )
269308		}
270309
310+ 		exist , err  =  ipt .Exists ("filter" , "FORWARD" , "-o" , "lo" , "-m" , "state" , "--state" , "INVALID" , "-j" , "DROP" )
311+ 		if  err  !=  nil  {
312+ 			return  err 
313+ 		}
314+ 		if  ! exist  {
315+ 			return  errors .New ("Filter rule not found for IPv6" )
316+ 		}
317+ 
271318		rm , err  :=  ruleMap (netlink .FAMILY_V4 )
272319		if  err  !=  nil  {
273320			return  err 
0 commit comments