]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Handle peer-group also when showing advertised routes
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 12 Jun 2023 12:15:42 +0000 (15:15 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 12 Jun 2023 12:15:42 +0000 (15:15 +0300)
When trying to list advertised-routes for instance, it's not possible for now.

Relax this a bit, and allow doing this, instead of returning an error:

% Malformed address or name.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgpd.c

index ba2985d3041cce4649687517c6d6b77ff29d403d..ccbd24942260f6a54f60efe4bf3af26024478036 100644 (file)
@@ -8305,6 +8305,7 @@ struct peer *peer_lookup_in_view(struct vty *vty, struct bgp *bgp,
        int ret;
        struct peer *peer;
        union sockunion su;
+       struct peer_group *group;
 
        /* Get peer sockunion. */
        ret = str2sockunion(ip_str, &su);
@@ -8313,6 +8314,11 @@ struct peer *peer_lookup_in_view(struct vty *vty, struct bgp *bgp,
                if (!peer) {
                        peer = peer_lookup_by_hostname(bgp, ip_str);
 
+                       if (!peer) {
+                               group = peer_group_lookup(bgp, ip_str);
+                               peer = listnode_head(group->peer);
+                       }
+
                        if (!peer) {
                                if (use_json) {
                                        json_object *json_no = NULL;