summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gobgp/cmd/neighbor.go2
-rw-r--r--server/server.go3
2 files changed, 4 insertions, 1 deletions
diff --git a/gobgp/cmd/neighbor.go b/gobgp/cmd/neighbor.go
index 83de7cf4..3f92bc7a 100644
--- a/gobgp/cmd/neighbor.go
+++ b/gobgp/cmd/neighbor.go
@@ -579,6 +579,7 @@ func showNeighborPolicy(remoteIP net.IP, policyType string, indent int) error {
return nil
}
+ fmt.Printf("%s policy:\n", strings.Title(policyType))
fmt.Printf("%sDefault: %s\n", strings.Repeat(" ", indent), ap.Default)
for _, p := range ap.Policies {
fmt.Printf("%sName %s:\n", strings.Repeat(" ", indent), p.Name)
@@ -720,7 +721,6 @@ func NewNeighborCmd() *cobra.Command {
}
for _, v := range []string{CMD_IN, CMD_IMPORT, CMD_EXPORT} {
- fmt.Printf("%s policy:\n", strings.Title(v))
if err := showNeighborPolicy(remoteIP, v, 4); err != nil {
fmt.Println(err)
os.Exit(1)
diff --git a/server/server.go b/server/server.go
index 8b12b367..f642330b 100644
--- a/server/server.go
+++ b/server/server.go
@@ -2207,6 +2207,9 @@ func (server *BgpServer) getPolicyInfo(a *api.PolicyAssignment) (string, table.P
if !ok {
return "", table.POLICY_DIRECTION_NONE, fmt.Errorf("not found peer %s", a.Name)
}
+ if !peer.isRouteServerClient() {
+ return "", table.POLICY_DIRECTION_NONE, fmt.Errorf("non-rs-client peer %s doesn't have per peer policy", a.Name)
+ }
switch a.Type {
case api.PolicyType_IN:
return peer.ID(), table.POLICY_DIRECTION_IN, nil