diff options
-rw-r--r-- | gobgp/cmd/neighbor.go | 2 | ||||
-rw-r--r-- | server/server.go | 3 |
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 |