summaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/server.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/server/server.go b/server/server.go
index 4d0088ad..1bfc5d51 100644
--- a/server/server.go
+++ b/server/server.go
@@ -2841,7 +2841,14 @@ func (server *BgpServer) handleModRpki(grpcReq *GrpcRequest) {
isMonitored := server.isRpkiMonitored()
for _, rf := range server.globalRib.GetRFlist() {
if t, ok := server.globalRib.Tables[rf]; ok {
- for _, dst := range t.GetDestinations() {
+ dsts := t.GetDestinations()
+ if arg.Prefix != "" {
+ _, prefix, _ := net.ParseCIDR(arg.Prefix)
+ if dst := t.GetDestination(prefix.String()); dst != nil {
+ dsts = map[string]*table.Destination{prefix.String(): dst}
+ }
+ }
+ for _, dst := range dsts {
if rr := server.roaManager.validate(dst.GetAllKnownPathList(), isMonitored); isMonitored {
send := make([]*api.ROAResult, 0, len(rr))
for _, r := range rr {