mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 23:53:28 +00:00
bgpd: remove unused struct thread
from peer
* Remove t_write * Remove t_keepalive These have been replaced by pthreads and are no longer needed. Since some code looks at these values to determine if the threads are scheduled, also add a new bitfield to store the same information. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
2d4ee77490
commit
49507a6f6a
@ -215,6 +215,7 @@ void peer_keepalives_on(struct peer *peer)
|
|||||||
pkat = pkat_new(peer);
|
pkat = pkat_new(peer);
|
||||||
listnode_add(peerlist, pkat);
|
listnode_add(peerlist, pkat);
|
||||||
peer_lock(peer);
|
peer_lock(peer);
|
||||||
|
SET_FLAG(peer->thread_flags, PEER_THREAD_KEEPALIVES_ON);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&peerlist_mtx);
|
pthread_mutex_unlock(&peerlist_mtx);
|
||||||
peer_keepalives_wake();
|
peer_keepalives_wake();
|
||||||
@ -233,6 +234,8 @@ void peer_keepalives_off(struct peer *peer)
|
|||||||
list_delete_node(peerlist, ln);
|
list_delete_node(peerlist, ln);
|
||||||
peer_unlock(peer);
|
peer_unlock(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UNSET_FLAG(peer->thread_flags, PEER_THREAD_KEEPALIVES_ON);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&peerlist_mtx);
|
pthread_mutex_unlock(&peerlist_mtx);
|
||||||
}
|
}
|
||||||
|
@ -2362,6 +2362,8 @@ void peer_writes_on(struct peer *peer)
|
|||||||
|
|
||||||
peer_lock(peer);
|
peer_lock(peer);
|
||||||
listnode_add(plist, peer);
|
listnode_add(plist, peer);
|
||||||
|
|
||||||
|
SET_FLAG(peer->thread_flags, PEER_THREAD_WRITES_ON);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&plist_mtx);
|
pthread_mutex_unlock(&plist_mtx);
|
||||||
peer_writes_wake();
|
peer_writes_wake();
|
||||||
@ -2382,6 +2384,8 @@ void peer_writes_off(struct peer *peer)
|
|||||||
peer_unlock(peer);
|
peer_unlock(peer);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UNSET_FLAG(peer->thread_flags, PEER_THREAD_WRITES_ON);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&plist_mtx);
|
pthread_mutex_unlock(&plist_mtx);
|
||||||
}
|
}
|
||||||
|
@ -9657,7 +9657,8 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, u_char use_json,
|
|||||||
json_object_string_add(json_neigh, "readThread", "on");
|
json_object_string_add(json_neigh, "readThread", "on");
|
||||||
else
|
else
|
||||||
json_object_string_add(json_neigh, "readThread", "off");
|
json_object_string_add(json_neigh, "readThread", "off");
|
||||||
if (p->t_write)
|
|
||||||
|
if (CHECK_FLAG(p->thread_flags, PEER_THREAD_WRITES_ON))
|
||||||
json_object_string_add(json_neigh, "writeThread", "on");
|
json_object_string_add(json_neigh, "writeThread", "on");
|
||||||
else
|
else
|
||||||
json_object_string_add(json_neigh, "writeThread",
|
json_object_string_add(json_neigh, "writeThread",
|
||||||
@ -9683,7 +9684,10 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, u_char use_json,
|
|||||||
vty_out(vty, "Peer Authentication Enabled\n");
|
vty_out(vty, "Peer Authentication Enabled\n");
|
||||||
|
|
||||||
vty_out(vty, "Read thread: %s Write thread: %s\n",
|
vty_out(vty, "Read thread: %s Write thread: %s\n",
|
||||||
p->t_read ? "on" : "off", p->t_write ? "on" : "off");
|
p->t_read ? "on" : "off",
|
||||||
|
CHECK_FLAG(p->thread_flags, PEER_THREAD_WRITES_ON)
|
||||||
|
? "on"
|
||||||
|
: "off");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->notify.code == BGP_NOTIFY_OPEN_ERR
|
if (p->notify.code == BGP_NOTIFY_OPEN_ERR
|
||||||
|
@ -799,16 +799,18 @@ struct peer {
|
|||||||
|
|
||||||
/* Threads. */
|
/* Threads. */
|
||||||
struct thread *t_read;
|
struct thread *t_read;
|
||||||
struct thread *t_write;
|
|
||||||
struct thread *t_start;
|
struct thread *t_start;
|
||||||
struct thread *t_connect;
|
struct thread *t_connect;
|
||||||
struct thread *t_holdtime;
|
struct thread *t_holdtime;
|
||||||
struct thread *t_keepalive;
|
|
||||||
struct thread *t_routeadv;
|
struct thread *t_routeadv;
|
||||||
struct thread *t_pmax_restart;
|
struct thread *t_pmax_restart;
|
||||||
struct thread *t_gr_restart;
|
struct thread *t_gr_restart;
|
||||||
struct thread *t_gr_stale;
|
struct thread *t_gr_stale;
|
||||||
|
|
||||||
|
/* Thread flags. */
|
||||||
|
u_int16_t thread_flags;
|
||||||
|
#define PEER_THREAD_WRITES_ON (1 << 0)
|
||||||
|
#define PEER_THREAD_KEEPALIVES_ON (1 << 1)
|
||||||
/* workqueues */
|
/* workqueues */
|
||||||
struct work_queue *clear_node_queue;
|
struct work_queue *clear_node_queue;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user