diff options
-rw-r--r-- | client/client.go | 18 | ||||
-rw-r--r-- | gobgp/cmd/neighbor.go | 16 |
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) } |