@@ -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