diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/ChangeLog | 10 | ||||
-rw-r--r-- | bgpd/bgp_route.c | 16 |
2 files changed, 21 insertions, 5 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog index eadd07f1..68cb1176 100644 --- a/bgpd/ChangeLog +++ b/bgpd/ChangeLog @@ -1,3 +1,13 @@ +2005-11-14 Paul Jakma <paul.jakma@sun.com> + + * bgp_route.c: (bgp_process_rsclient) convert to new workqueue + specs and shut up gcc, which complains about cast from void + via function parameters, for some dumb reason. Do the cast + inside the function instead. + (bgp_process_main,bgp_processq_del) ditto. + (bgp_clear_route_node) ditto. + (bgp_clear_node_queue_del) ditto. + 2005-11-03 Paul Jakma <paul.jakma@sun.com> * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 0658cabe..f2621c1f 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -1242,8 +1242,9 @@ struct bgp_process_queue }; static wq_item_status -bgp_process_rsclient (struct bgp_process_queue *pq) +bgp_process_rsclient (struct work_queue *wq, void *data) { + struct bgp_process_queue *pq = data; struct bgp *bgp = pq->bgp; struct bgp_node *rn = pq->rn; afi_t afi = pq->afi; @@ -1309,8 +1310,9 @@ bgp_process_rsclient (struct bgp_process_queue *pq) } static wq_item_status -bgp_process_main (struct bgp_process_queue *pq) +bgp_process_main (struct work_queue *wq, void *data) { + struct bgp_process_queue *pq = data; struct bgp *bgp = pq->bgp; struct bgp_node *rn = pq->rn; afi_t afi = pq->afi; @@ -1390,8 +1392,10 @@ bgp_process_main (struct bgp_process_queue *pq) } static void -bgp_processq_del (struct bgp_process_queue *pq) +bgp_processq_del (struct work_queue *wq, void *data) { + struct bgp_process_queue *pq = data; + bgp_unlock_node (pq->rn); XFREE (MTYPE_BGP_PROCESS_QUEUE, pq); } @@ -2450,8 +2454,9 @@ struct bgp_clear_node_queue }; static wq_item_status -bgp_clear_route_node (struct bgp_clear_node_queue *cq) +bgp_clear_route_node (struct work_queue *wq, void *data) { + struct bgp_clear_node_queue *cq = data; struct bgp_adj_in *ain; struct bgp_adj_out *aout; struct bgp_info *ri; @@ -2493,8 +2498,9 @@ bgp_clear_route_node (struct bgp_clear_node_queue *cq) } static void -bgp_clear_node_queue_del (struct bgp_clear_node_queue *cq) +bgp_clear_node_queue_del (struct work_queue *wq, void *data) { + struct bgp_clear_node_queue *cq = data; bgp_unlock_node (cq->rn); peer_unlock (cq->peer); /* bgp_clear_node_queue_del */ XFREE (MTYPE_BGP_CLEAR_NODE_QUEUE, cq); |