diff options
Diffstat (limited to 'proto/radv')
-rw-r--r-- | proto/radv/radv.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/proto/radv/radv.c b/proto/radv/radv.c index 8b547f6d..ee1da36c 100644 --- a/proto/radv/radv.c +++ b/proto/radv/radv.c @@ -263,9 +263,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)) @@ -302,8 +302,10 @@ 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, + }; ifa->lock = lock; olock_acquire(lock); |