summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--client/client.go18
-rw-r--r--gobgp/cmd/neighbor.go16
2 files changed, 19 insertions, 15 deletions
diff --git a/client/client.go b/client/client.go
index 935a9fa1..1dddcb56 100644
--- a/client/client.go
+++ b/client/client.go
@@ -127,8 +127,8 @@ func (cli *Client) EnableZebra(c *config.Zebra) error {
return err
}
-func (cli *Client) getNeighbor(name string, afi int, vrf string) ([]*config.Neighbor, error) {
- ret, err := cli.cli.GetNeighbor(context.Background(), &api.GetNeighborRequest{EnableAdvertised: name != ""})
+func (cli *Client) getNeighbor(name string, afi int, vrf string, enableAdvertised bool) ([]*config.Neighbor, error) {
+ ret, err := cli.cli.GetNeighbor(context.Background(), &api.GetNeighborRequest{EnableAdvertised: enableAdvertised})
if err != nil {
return nil, err
}
@@ -158,19 +158,23 @@ func (cli *Client) getNeighbor(name string, afi int, vrf string) ([]*config.Neig
}
func (cli *Client) ListNeighbor() ([]*config.Neighbor, error) {
- return cli.getNeighbor("", 0, "")
+ return cli.getNeighbor("", 0, "", false)
}
func (cli *Client) ListNeighborByTransport(afi int) ([]*config.Neighbor, error) {
- return cli.getNeighbor("", afi, "")
+ return cli.getNeighbor("", afi, "", false)
}
func (cli *Client) ListNeighborByVRF(vrf string) ([]*config.Neighbor, error) {
- return cli.getNeighbor("", 0, vrf)
+ return cli.getNeighbor("", 0, vrf, false)
}
-func (cli *Client) GetNeighbor(name string) (*config.Neighbor, error) {
- ns, err := cli.getNeighbor(name, 0, "")
+func (cli *Client) GetNeighbor(name string, options ...bool) (*config.Neighbor, error) {
+ enableAdvertised := false
+ if len(options) > 0 && options[0] {
+ enableAdvertised = true
+ }
+ ns, err := cli.getNeighbor(name, 0, "", enableAdvertised)
if err != nil {
return nil, err
}
diff --git a/gobgp/cmd/neighbor.go b/gobgp/cmd/neighbor.go
index 1b12231c..32a01876 100644
--- a/gobgp/cmd/neighbor.go
+++ b/gobgp/cmd/neighbor.go
@@ -49,8 +49,8 @@ func getNeighbors(vrf string) (neighbors, error) {
return neighbors(n), err
}
-func getNeighbor(name string) (*config.Neighbor, error) {
- return client.GetNeighbor(name)
+func getNeighbor(name string, enableAdvertised bool) (*config.Neighbor, error) {
+ return client.GetNeighbor(name, enableAdvertised)
}
func showNeighbors(vrf string) error {
@@ -142,7 +142,7 @@ func showNeighbors(vrf string) error {
}
func showNeighbor(args []string) error {
- p, e := getNeighbor(args[0])
+ p, e := getNeighbor(args[0], true)
if e != nil {
return e
}
@@ -580,7 +580,7 @@ func showNeighborRib(r string, name string, args []string) error {
switch r {
case CMD_LOCAL, CMD_ADJ_IN, CMD_ACCEPTED, CMD_REJECTED, CMD_ADJ_OUT:
if rib.Info("").NumDestination == 0 {
- peer, err := getNeighbor(name)
+ peer, err := getNeighbor(name, false)
if err != nil {
return err
}
@@ -862,7 +862,7 @@ func NewNeighborCmd() *cobra.Command {
}
}
if addr == "" {
- peer, err := getNeighbor(args[len(args)-1])
+ peer, err := getNeighbor(args[len(args)-1], false)
if err != nil {
exitWithError(err)
}
@@ -893,7 +893,7 @@ func NewNeighborCmd() *cobra.Command {
policyCmd := &cobra.Command{
Use: CMD_POLICY,
Run: func(cmd *cobra.Command, args []string) {
- peer, err := getNeighbor(args[0])
+ peer, err := getNeighbor(args[0], false)
if err != nil {
exitWithError(err)
}
@@ -910,7 +910,7 @@ func NewNeighborCmd() *cobra.Command {
cmd := &cobra.Command{
Use: v,
Run: func(cmd *cobra.Command, args []string) {
- peer, err := getNeighbor(args[0])
+ peer, err := getNeighbor(args[0], false)
if err != nil {
exitWithError(err)
}
@@ -926,7 +926,7 @@ func NewNeighborCmd() *cobra.Command {
subcmd := &cobra.Command{
Use: w,
Run: func(subcmd *cobra.Command, args []string) {
- peer, err := getNeighbor(args[len(args)-1])
+ peer, err := getNeighbor(args[len(args)-1], false)
if err != nil {
exitWithError(err)
}