#include "buffer.h"
#include "linklist.h"
#include "stream.h"
-#include "thread.h"
+#include "event.h"
#include "log.h"
#include "memory.h"
#include "lib_vty.h"
{
struct peer *peer;
int idx = 0;
- const char *discard_attrs = NULL;
+ char *discard_attrs = NULL;
peer = peer_and_group_lookup_vty(vty, neighbor);
if (!peer)
bgp_path_attribute_discard_vty(vty, peer, discard_attrs, true);
+ XFREE(MTYPE_TMP, discard_attrs);
+
return CMD_SUCCESS;
}
{
struct peer *peer;
int idx = 0;
- const char *discard_attrs = NULL;
+ char *discard_attrs = NULL;
peer = peer_and_group_lookup_vty(vty, neighbor);
if (!peer)
bgp_path_attribute_discard_vty(vty, peer, discard_attrs, false);
+ XFREE(MTYPE_TMP, discard_attrs);
+
return CMD_SUCCESS;
}
{
struct peer *peer;
int idx = 0;
- const char *withdraw_attrs = NULL;
+ char *withdraw_attrs = NULL;
peer = peer_and_group_lookup_vty(vty, neighbor);
if (!peer)
bgp_path_attribute_withdraw_vty(vty, peer, withdraw_attrs, true);
+ XFREE(MTYPE_TMP, withdraw_attrs);
+
return CMD_SUCCESS;
}
{
struct peer *peer;
int idx = 0;
- const char *withdraw_attrs = NULL;
+ char *withdraw_attrs = NULL;
peer = peer_and_group_lookup_vty(vty, neighbor);
if (!peer)
bgp_path_attribute_withdraw_vty(vty, peer, withdraw_attrs, false);
+ XFREE(MTYPE_TMP, withdraw_attrs);
+
return CMD_SUCCESS;
}
vty_out(vty, "4 ");
vty_out(vty, ASN_FORMAT_SPACE(bgp->asnotation),
&peer->as);
- if (show_wide) {
+ if (show_wide)
vty_out(vty,
ASN_FORMAT_SPACE(
bgp->asnotation),
peer->change_local_as
? &peer->change_local_as
: &peer->local_as);
- vty_out(vty,
- " %9u %9u %8" PRIu64
- " %4zu %4zu %8s",
- PEER_TOTAL_RX(peer),
- PEER_TOTAL_TX(peer),
- peer->version[afi][safi],
- inq_count, outq_count,
- peer_uptime(peer->uptime,
- timebuf,
- BGP_UPTIME_LEN, 0,
- NULL));
- } else {
- vty_out(vty,
- " %9u %9u %8" PRIu64
- " %4zu %4zu %8s",
- PEER_TOTAL_RX(peer),
- PEER_TOTAL_TX(peer),
- peer->version[afi][safi],
- inq_count, outq_count,
- peer_uptime(peer->uptime,
- timebuf,
- BGP_UPTIME_LEN, 0,
- NULL));
- }
+ vty_out(vty,
+ " %9u %9u %8" PRIu64 " %4zu %4zu %8s",
+ PEER_TOTAL_RX(peer),
+ PEER_TOTAL_TX(peer),
+ peer->version[afi][safi], inq_count,
+ outq_count,
+ peer_uptime(peer->uptime, timebuf,
+ BGP_UPTIME_LEN, 0, NULL));
+
if (peer_established(peer)) {
if (peer->afc_recv[afi][safi]) {
if (CHECK_FLAG(
DEFINE_HOOK(bgp_config_end, (struct bgp *bgp), (bgp));
-static struct thread *t_bgp_cfg;
+static struct event *t_bgp_cfg;
bool bgp_config_inprocess(void)
{
return thread_is_scheduled(t_bgp_cfg);
}
-static void bgp_config_finish(struct thread *t)
+static void bgp_config_finish(struct event *t)
{
struct listnode *node;
struct bgp *bgp;
{
#define BGP_PRE_CONFIG_MAX_WAIT_SECONDS 600
THREAD_OFF(t_bgp_cfg);
- thread_add_timer(bm->master, bgp_config_finish, NULL,
- BGP_PRE_CONFIG_MAX_WAIT_SECONDS, &t_bgp_cfg);
+ event_add_timer(bm->master, bgp_config_finish, NULL,
+ BGP_PRE_CONFIG_MAX_WAIT_SECONDS, &t_bgp_cfg);
}
/* When we receive a hook the configuration is read,
/* Start a new timer to make sure we don't send EoR
* before route-maps are processed.
*/
- thread_add_timer(bm->master, bgp_config_finish, NULL,
- bgp_post_config_delay, &t_bgp_cfg);
+ event_add_timer(bm->master, bgp_config_finish, NULL,
+ bgp_post_config_delay, &t_bgp_cfg);
}
static int config_write_interface_one(struct vty *vty, struct vrf *vrf)