tree be7cb5015905c9fac8be0a9e3ba786dbd5d43e94
parent a652604cbfcc87884a00b12beb4e63b1eb10bcea
author paul <paul> 1067022123 +0000
committer paul <paul> 1067022123 +0000

2003-10-24 Jose Luis Rubio Guivernau <jrubio@dit.upm.es>

        * Better 'show bgp' support for views (eg ipv6), see [quagga-dev 238]
        * bgpd/bgp_route.c: (bgp_show) Take a struct bgp argument instead of
          view string.
          (bgp_show_neighbor_route) Take a struct peer argument instead of
          ip string.
          (peer_adj_routes) ditto
          (show_adj_routes) ditto
          (peer_lookup_in_view) new function to return appropriate struct
          peer for a given view string.
          (misc) Fixup all calls to above to reflect new calling arguments,
          and use peer_lookup_in_view as needed. Additional commands
          installed to use expanded functionality above, existing commands
          modified to suit as well.
        * bgpd/bgp_vty.c: 2 new aliases.
