summaryrefslogtreecommitdiffhomepage
path: root/packet/bgp/bgp_test.go
diff options
context:
space:
mode:
authorWataru Ishida <ishida.wataru@lab.ntt.co.jp>2016-09-22 09:36:43 +0000
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-10-02 06:20:07 -0700
commit64b0a7a467df3b13d25e7acecbbf7f1861b64ab8 (patch)
tree0c6b224e25428e83df5aac4d4f7fc88e2ef62d3d /packet/bgp/bgp_test.go
parent680ad99675a30191860295125c65c90dba06a396 (diff)
packet/bgp: fix bug of CompareFlowSpecNLRI()
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'packet/bgp/bgp_test.go')
-rw-r--r--packet/bgp/bgp_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/packet/bgp/bgp_test.go b/packet/bgp/bgp_test.go
index 0fcef12d..194dbf12 100644
--- a/packet/bgp/bgp_test.go
+++ b/packet/bgp/bgp_test.go
@@ -516,3 +516,25 @@ func Test_EVPNIPPrefixRoute(t *testing.T) {
}
}
+
+func Test_CompareFlowSpecNLRI(t *testing.T) {
+ assert := assert.New(t)
+ cmp, err := ParseFlowSpecComponents(RF_FS_IPv4_UC, "destination 10.0.0.2/32 source 10.0.0.1/32 destination-port =3128 protocol tcp")
+ assert.Nil(err)
+ n1 := &FlowSpecNLRI{Value: cmp, rf: RF_FS_IPv4_UC}
+ cmp, err = ParseFlowSpecComponents(RF_FS_IPv4_UC, "source 10.0.0.0/24 destination-port =3128 protocol tcp")
+ assert.Nil(err)
+ n2 := &FlowSpecNLRI{Value: cmp, rf: RF_FS_IPv4_UC}
+ cmp, err = ParseFlowSpecComponents(RF_FS_IPv4_UC, "source 10.0.0.9/32 port =80 =8080 destination-port >8080&<8080 =3128 source-port >1024 protocol udp tcp")
+ n3 := &FlowSpecNLRI{Value: cmp, rf: RF_FS_IPv4_UC}
+ assert.Nil(err)
+ cmp, err = ParseFlowSpecComponents(RF_FS_IPv4_UC, "destination 192.168.0.2/32")
+ n4 := &FlowSpecNLRI{Value: cmp, rf: RF_FS_IPv4_UC}
+ assert.Nil(err)
+ r, err := CompareFlowSpecNLRI(n1, n2)
+ assert.Nil(err)
+ assert.True(r > 0)
+ r, err = CompareFlowSpecNLRI(n3, n4)
+ assert.Nil(err)
+ assert.True(r < 0)
+}