ipset: Add support for IPv6

This commit is contained in:
Damien Tournoud
2022-07-21 13:55:47 -07:00
committed by Alessandro Boch
parent afa2eb2a66
commit d44b87fd4d
3 changed files with 87 additions and 20 deletions

View File

@@ -145,7 +145,7 @@ func TestIpsetCreateListAddDelDestroy(t *testing.T) {
err = IpsetAdd("my-test-ipset-1", &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.99").To4(),
IP: net.ParseIP("10.99.99.99"),
Replace: false,
})
@@ -173,7 +173,7 @@ func TestIpsetCreateListAddDelDestroy(t *testing.T) {
err = IpsetDel("my-test-ipset-1", &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.99").To4(),
IP: net.ParseIP("10.99.99.99"),
})
if err != nil {
t.Fatal(err)
@@ -224,7 +224,7 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.99").To4(),
IP: net.ParseIP("10.99.99.99"),
Replace: false,
},
},
@@ -241,7 +241,7 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
CIDR: 24,
Replace: false,
},
@@ -259,9 +259,9 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
CIDR: 24,
IP2: net.ParseIP("10.99.0.0").To4(),
IP2: net.ParseIP("10.99.0.0"),
CIDR2: 24,
Replace: false,
},
@@ -279,8 +279,8 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP2: net.ParseIP("10.99.0.0").To4(),
IP: net.ParseIP("10.99.99.0"),
IP2: net.ParseIP("10.99.0.0"),
Replace: false,
},
},
@@ -297,7 +297,7 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.1").To4(),
IP: net.ParseIP("10.99.99.1"),
Protocol: &protocalTCP,
Port: &port,
Replace: false,
@@ -316,9 +316,9 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
CIDR: 24,
IP2: net.ParseIP("10.99.0.0").To4(),
IP2: net.ParseIP("10.99.0.0"),
CIDR2: 24,
Protocol: &protocalTCP,
Port: &port,
@@ -355,7 +355,7 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
CIDR: 24,
IFace: "eth0",
Replace: false,
@@ -374,11 +374,51 @@ func TestIpsetCreateListAddDelDestroyWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
Mark: &timeout,
Replace: false,
},
},
{
desc: "Type-hash:net6",
setname: "my-test-ipset-11",
typename: "hash:net",
options: IpsetCreateOptions{
Replace: true,
Timeout: &timeout,
Counters: false,
Comments: true,
Skbinfo: true,
Family: unix.AF_INET6,
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("::1"),
CIDR: 128,
Replace: false,
},
},
{
desc: "Type-hash:net6:net6",
setname: "my-test-ipset-11",
typename: "hash:net,net",
options: IpsetCreateOptions{
Replace: true,
Timeout: &timeout,
Counters: false,
Comments: true,
Skbinfo: true,
Family: unix.AF_INET6,
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("::1"),
CIDR: 128,
IP2: net.ParseIP("::2"),
CIDR2: 128,
Replace: false,
},
},
}
for _, tC := range testCases {
@@ -528,7 +568,7 @@ func TestIpsetBitmapCreateListWithTestCases(t *testing.T) {
},
entry: &IPSetEntry{
Comment: "test comment",
IP: net.ParseIP("10.99.99.0").To4(),
IP: net.ParseIP("10.99.99.0"),
CIDR: 26,
Mark: &timeout,
Replace: false,
@@ -593,7 +633,7 @@ func TestIpsetSwap(t *testing.T) {
}()
err = IpsetAdd(ipset1, &IPSetEntry{
IP: net.ParseIP("10.99.99.99").To4(),
IP: net.ParseIP("10.99.99.99"),
})
if err != nil {
t.Fatal(err)