From 543c8ba0971e91da3fe507dbfc1e1f9b556642b1 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 29 Nov 2022 19:43:38 +0100 Subject: BSD: Fix krt socket code w.r.t. rte/rta changes --- sysdep/bsd/krt-sock.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'sysdep/bsd/krt-sock.c') diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index efdb18a3..256c4ed0 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -347,7 +347,7 @@ krt_send_route(struct krt_proto *p, int cmd, rte *e) } void -krt_replace_rte(struct krt_proto *p, net *n, rte *new, rte *old) +krt_replace_rte(struct krt_proto *p, net *n UNUSED, rte *new, rte *old) { int err = 0; @@ -519,7 +519,6 @@ krt_read_route(struct ks_msg *msg, struct krt_proto *p, int scan) net = net_get(p->p.main_channel->table, &ndst); rta a = { - .src = p->p.main_source, .source = RTS_INHERIT, .scope = SCOPE_UNIVERSE, }; @@ -580,7 +579,7 @@ krt_read_route(struct ks_msg *msg, struct krt_proto *p, int scan) } done: - e = rte_get_temp(&a); + e = rte_get_temp(&a, p->p.main_source); e->net = net; ea_list *ea = alloca(sizeof(ea_list) + 1 * sizeof(eattr)); @@ -1203,7 +1202,7 @@ kif_update_sysdep_addr(struct iface *i) return 0; ip4_addr old = i->sysdep; - i->sysdep = ipa_to_ip4(ipa_from_sa4(&ifr.ifr_addr)); + i->sysdep = ipa_to_ip4(ipa_from_sa4((sockaddr *) &ifr.ifr_addr)); return !ip4_equal(i->sysdep, old); } -- cgit v1.2.3