summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml10
-rw-r--r--proto/bgp/packets.c5
2 files changed, 14 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5655a39e..119d4be9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -369,7 +369,17 @@ test-ospf-custom:
variables:
TEST_NAME: cf-ospf-custom
+test-ospf-vrf:
+ <<: *test-base
+ variables:
+ TEST_NAME: cf-ospf-vrf
+
test-bgp-base:
<<: *test-base
variables:
TEST_NAME: cf-bgp-base
+
+test-bgp-auth:
+ <<: *test-base
+ variables:
+ TEST_NAME: cf-bgp-auth
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index ee031c05..78fdd1e0 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -1157,7 +1157,10 @@ bgp_decode_next_hop_ip(struct bgp_parse_state *s, byte *data, uint len, rta *a)
nh[0] = ipa_from_ip6(get_ip6(data));
nh[1] = ipa_from_ip6(get_ip6(data+16));
- if (ipa_is_ip4(nh[0]) || !ip6_is_link_local(nh[1]))
+ if (ipa_is_link_local(nh[0]))
+ { nh[1] = nh[0]; nh[0] = IPA_NONE; }
+
+ if (ipa_is_ip4(nh[0]) || !ipa_is_link_local(nh[1]))
nh[1] = IPA_NONE;
}
else