summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/babel/babel.c11
-rw-r--r--proto/bgp/bgp.c11
-rw-r--r--proto/ospf/iface.c11
-rw-r--r--proto/radv/radv.c11
-rw-r--r--proto/rip/rip.c11
5 files changed, 35 insertions, 20 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index a3a52f73..4db7c66f 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -1761,9 +1761,9 @@ babel_find_iface(struct babel_proto *p, struct iface *what)
}
static void
-babel_iface_locked(struct object_lock *lock)
+babel_iface_locked(void *_ifa)
{
- struct babel_iface *ifa = lock->data;
+ struct babel_iface *ifa = _ifa;
struct babel_proto *p = ifa->proto;
if (!babel_open_socket(ifa))
@@ -1818,8 +1818,11 @@ babel_add_iface(struct babel_proto *p, struct iface *new, struct babel_iface_con
lock->addr = IP6_BABEL_ROUTERS;
lock->port = ifa->cf->port;
lock->iface = ifa->iface;
- lock->hook = babel_iface_locked;
- lock->data = ifa;
+ lock->event = (event) {
+ .hook = babel_iface_locked,
+ .data = ifa,
+ };
+ lock->target = &global_event_list;
olock_acquire(lock);
}
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index 48e98bdf..c74b8273 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -1528,9 +1528,9 @@ bgp_feed_end(struct channel *C)
static void
-bgp_start_locked(struct object_lock *lock)
+bgp_start_locked(void *_p)
{
- struct bgp_proto *p = lock->data;
+ struct bgp_proto *p = _p;
const struct bgp_config *cf = p->cf;
if (p->p.proto_state != PS_START)
@@ -1637,8 +1637,11 @@ bgp_start(struct proto *P)
lock->iface = p->cf->iface;
lock->vrf = p->cf->iface ? NULL : p->p.vrf;
lock->type = OBJLOCK_TCP;
- lock->hook = bgp_start_locked;
- lock->data = p;
+ lock->event = (event) {
+ .hook = bgp_start_locked,
+ .data = p,
+ };
+ lock->target = &global_event_list;
/* For dynamic BGP, we use inst 1 to avoid collisions with regular BGP */
if (bgp_is_dynamic(p))
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 84c53aa1..59255350 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -484,9 +484,9 @@ ospf_iface_find(struct ospf_proto *p, struct iface *what)
}
static void
-ospf_iface_add(struct object_lock *lock)
+ospf_iface_add(void *_ifa)
{
- struct ospf_iface *ifa = lock->data;
+ struct ospf_iface *ifa = _ifa;
struct ospf_proto *p = ifa->oa->po;
/* Open socket if interface is not stub */
@@ -668,8 +668,11 @@ ospf_iface_new(struct ospf_area *oa, struct ifa *addr, struct ospf_iface_patt *i
lock->port = OSPF_PROTO;
lock->inst = ifa->instance_id;
lock->iface = iface;
- lock->data = ifa;
- lock->hook = ospf_iface_add;
+ lock->event = (event) {
+ .hook = ospf_iface_add,
+ .data = ifa,
+ };
+ lock->target = &global_event_list;
olock_acquire(lock);
}
diff --git a/proto/radv/radv.c b/proto/radv/radv.c
index 8929e8ef..b7c8d7be 100644
--- a/proto/radv/radv.c
+++ b/proto/radv/radv.c
@@ -266,9 +266,9 @@ radv_iface_find(struct radv_proto *p, struct iface *what)
}
static void
-radv_iface_add(struct object_lock *lock)
+radv_iface_add(void *_ifa)
{
- struct radv_iface *ifa = lock->data;
+ struct radv_iface *ifa = _ifa;
struct radv_proto *p = ifa->ra;
if (! radv_sk_open(ifa))
@@ -305,8 +305,11 @@ radv_iface_new(struct radv_proto *p, struct iface *iface, struct radv_iface_conf
lock->type = OBJLOCK_IP;
lock->port = ICMPV6_PROTO;
lock->iface = iface;
- lock->data = ifa;
- lock->hook = radv_iface_add;
+ lock->event = (event) {
+ .hook = radv_iface_add,
+ .data = ifa,
+ };
+ lock->target = &global_event_list;
ifa->lock = lock;
olock_acquire(lock);
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index bd087246..b3a4e81e 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -667,9 +667,9 @@ rip_iface_update_bfd(struct rip_iface *ifa)
static void
-rip_iface_locked(struct object_lock *lock)
+rip_iface_locked(void *_ifa)
{
- struct rip_iface *ifa = lock->data;
+ struct rip_iface *ifa = _ifa;
struct rip_proto *p = ifa->rip;
if (!rip_open_socket(ifa))
@@ -731,8 +731,11 @@ rip_add_iface(struct rip_proto *p, struct iface *iface, struct rip_iface_config
lock->type = OBJLOCK_UDP;
lock->port = ic->port;
lock->iface = iface;
- lock->data = ifa;
- lock->hook = rip_iface_locked;
+ lock->event = (event) {
+ .hook = rip_iface_locked,
+ .data = ifa,
+ };
+ lock->target = &global_event_list;
ifa->lock = lock;
olock_acquire(lock);