-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add cidr chain element #1193
Add cidr chain element #1193
Conversation
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
prefixes := []string{"192.168.0.0/16"} | ||
server := newServer(prefixes, nil) | ||
|
||
request := newRequest() | ||
client1 := newClient(24, networkservice.IpFamily_IPV4, server) | ||
conn1, err := client1.Request(context.Background(), request) | ||
require.NoError(t, err) | ||
validateConn(t, conn1, "192.168.0.0/24", "192.168.0.0/16") | ||
|
||
// refresh | ||
conn1, err = client1.Request(context.Background(), request) | ||
require.NoError(t, err) | ||
validateConn(t, conn1, "192.168.0.0/24", "192.168.0.0/16") | ||
|
||
client2 := newClient(24, networkservice.IpFamily_IPV4, server) | ||
conn2, err := client2.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn2, "192.168.1.0/24", "192.168.0.0/16") | ||
|
||
_, err = client1.Close(context.Background(), conn1) | ||
require.NoError(t, err) | ||
|
||
client3 := newClient(24, networkservice.IpFamily_IPV4, server) | ||
conn3, err := client3.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn3, "192.168.0.0/24", "192.168.0.0/16") | ||
|
||
client4 := newClient(24, networkservice.IpFamily_IPV4, server) | ||
conn4, err := client4.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn4, "192.168.2.0/24", "192.168.0.0/16") | ||
} | ||
|
||
//nolint:dupl | ||
func TestIPv6(t *testing.T) { | ||
prefixes := []string{"2001:db8::/96"} | ||
server := newServer(prefixes, nil) | ||
|
||
request := newRequest() | ||
client1 := newClient(112, networkservice.IpFamily_IPV6, server) | ||
conn1, err := client1.Request(context.Background(), request) | ||
require.NoError(t, err) | ||
validateConn(t, conn1, "2001:db8::/112", "2001:db8::/96") | ||
|
||
// refresh | ||
conn1, err = client1.Request(context.Background(), request) | ||
require.NoError(t, err) | ||
validateConn(t, conn1, "2001:db8::/112", "2001:db8::/96") | ||
|
||
client2 := newClient(112, networkservice.IpFamily_IPV6, server) | ||
conn2, err := client2.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn2, "2001:db8::1:0/112", "2001:db8::/96") | ||
|
||
_, err = client1.Close(context.Background(), conn1) | ||
require.NoError(t, err) | ||
|
||
client3 := newClient(112, networkservice.IpFamily_IPV6, server) | ||
conn3, err := client3.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn3, "2001:db8::/112", "2001:db8::/96") | ||
|
||
client4 := newClient(112, networkservice.IpFamily_IPV6, server) | ||
conn4, err := client4.Request(context.Background(), newRequest()) | ||
require.NoError(t, err) | ||
validateConn(t, conn4, "2001:db8::2:0/112", "2001:db8::/96") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks as code dup.
Please consider to use test-cases go pattern.
Moreover try to use newClient, validateConn, newServer inline.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Logically looks good.
@edwarnicke Could you have a look?
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
…k@main PR link: networkservicemesh/sdk#1193 Commit: 9eaf694 Author: Artem Glazychev Date: 2021-12-17 00:27:18 +0700 Message: - Add cidr chain element (#1193) * Add cidr chain element Signed-off-by: Artem Glazychev <artem.glazychev@xored.com> * Remove test code duplication Signed-off-by: NSMBot <nsmbot@networkservicmesh.io>
Signed-off-by: Artem Glazychev artem.glazychev@xored.com
Description
This chain element extracts prefix from some global prefix and writes it to
ExtraPrefixes
- LinkIssue link
networkservicemesh/cmd-nse-vl3-vpp#1
How Has This Been Tested?
Types of changes