diff options
author | 2013-10-15 20:34:02 +0000 | |
---|---|---|
committer | 2013-10-15 20:34:02 +0000 | |
commit | eab950ef3fc287cb923dc306486f4bf1d51b9572 (patch) | |
tree | 068857adf129f6baf0f103e6d7c5b499978b6509 | |
parent | Improve debug and error logs. (diff) | |
download | wireguard-openbsd-eab950ef3fc287cb923dc306486f4bf1d51b9572.tar.xz wireguard-openbsd-eab950ef3fc287cb923dc306486f4bf1d51b9572.zip |
Simplify the code by avoiding direct calls to imsg_compose_event().
OK claudio@
-rw-r--r-- | usr.sbin/ldpd/lde.c | 49 | ||||
-rw-r--r-- | usr.sbin/ldpd/lde.h | 3 |
2 files changed, 29 insertions, 23 deletions
diff --git a/usr.sbin/ldpd/lde.c b/usr.sbin/ldpd/lde.c index 521af1607c1..10aa3b8b7c5 100644 --- a/usr.sbin/ldpd/lde.c +++ b/usr.sbin/ldpd/lde.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lde.c,v 1.25 2013/10/15 20:21:25 renato Exp $ */ +/* $OpenBSD: lde.c,v 1.26 2013/10/15 20:34:02 renato Exp $ */ /* * Copyright (c) 2004, 2005 Claudio Jeker <claudio@openbsd.org> @@ -174,6 +174,13 @@ lde_shutdown(void) _exit(0); } +/* imesg */ +int +lde_imsg_compose_parent(int type, pid_t pid, void *data, u_int16_t datalen) +{ + return (imsg_compose_event(iev_main, type, 0, pid, -1, data, datalen)); +} + int lde_imsg_compose_ldpe(int type, u_int32_t peerid, pid_t pid, void *data, u_int16_t datalen) @@ -318,8 +325,8 @@ lde_dispatch_imsg(int fd, short event, void *bula) case IMSG_CTL_SHOW_LIB: rt_dump(imsg.hdr.pid); - imsg_compose_event(iev_ldpe, IMSG_CTL_END, 0, - imsg.hdr.pid, -1, NULL, 0); + lde_imsg_compose_ldpe(IMSG_CTL_END, 0, + imsg.hdr.pid, NULL, 0); break; case IMSG_CTL_LOG_VERBOSE: /* already checked by ldpe */ @@ -441,8 +448,7 @@ lde_send_change_klabel(struct rt_node *rr, struct rt_lsp *rl) kr.nexthop.s_addr = rl->nexthop.s_addr; kr.remote_label = rl->remote_label; - imsg_compose_event(iev_main, IMSG_KLABEL_CHANGE, 0, 0, -1, - &kr, sizeof(kr)); + lde_imsg_compose_parent(IMSG_KLABEL_CHANGE, 0, &kr, sizeof(kr)); } void @@ -458,8 +464,7 @@ lde_send_delete_klabel(struct rt_node *rr, struct rt_lsp *rl) kr.nexthop.s_addr = rl->nexthop.s_addr; kr.remote_label = rl->remote_label; - imsg_compose_event(iev_main, IMSG_KLABEL_DELETE, 0, 0, -1, - &kr, sizeof(kr)); + lde_imsg_compose_parent(IMSG_KLABEL_DELETE, 0, &kr, sizeof(kr)); } void @@ -481,10 +486,10 @@ lde_send_labelrequest(struct lde_nbr *ln, struct rt_node *rn) map.prefix = rn->fec.prefix; map.prefixlen = rn->fec.prefixlen; - imsg_compose_event(iev_ldpe, IMSG_REQUEST_ADD, ln->peerid, 0, - -1, &map, sizeof(map)); - imsg_compose_event(iev_ldpe, IMSG_REQUEST_ADD_END, ln->peerid, 0, - -1, NULL, 0); + lde_imsg_compose_ldpe(IMSG_REQUEST_ADD, ln->peerid, 0, + &map, sizeof(map)); + lde_imsg_compose_ldpe(IMSG_REQUEST_ADD_END, ln->peerid, 0, + NULL, 0); } void @@ -519,10 +524,10 @@ lde_send_labelmapping(struct lde_nbr *ln, struct rt_node *rn) me = lde_map_add(ln, rn, 1); me->label = map.label; - imsg_compose_event(iev_ldpe, IMSG_MAPPING_ADD, ln->peerid, 0, - -1, &map, sizeof(map)); - imsg_compose_event(iev_ldpe, IMSG_MAPPING_ADD_END, ln->peerid, 0, - -1, NULL, 0); + lde_imsg_compose_ldpe(IMSG_MAPPING_ADD, ln->peerid, 0, + &map, sizeof(map)); + lde_imsg_compose_ldpe(IMSG_MAPPING_ADD_END, ln->peerid, 0, + NULL, 0); } void @@ -537,11 +542,11 @@ lde_send_labelrelease(struct lde_nbr *ln, struct rt_node *rn, u_int32_t label) map.flags = F_MAP_OPTLABEL; map.label = label; } - - imsg_compose_event(iev_ldpe, IMSG_RELEASE_ADD, ln->peerid, 0, - -1, &map, sizeof(map)); - imsg_compose_event(iev_ldpe, IMSG_RELEASE_ADD_END, ln->peerid, 0, - -1, NULL, 0); + + lde_imsg_compose_ldpe(IMSG_RELEASE_ADD, ln->peerid, 0, + &map, sizeof(map)); + lde_imsg_compose_ldpe(IMSG_RELEASE_ADD_END, ln->peerid, 0, + NULL, 0); } void @@ -557,8 +562,8 @@ lde_send_notification(u_int32_t peerid, u_int32_t code, u_int32_t msgid, nm.messageid = ntohl(msgid); nm.type = type; - imsg_compose_event(iev_ldpe, IMSG_NOTIFICATION_SEND, peerid, 0, - -1, &nm, sizeof(nm)); + lde_imsg_compose_ldpe(IMSG_NOTIFICATION_SEND, peerid, 0, + &nm, sizeof(nm)); } static __inline int lde_nbr_compare(struct lde_nbr *, struct lde_nbr *); diff --git a/usr.sbin/ldpd/lde.h b/usr.sbin/ldpd/lde.h index 7619bfe6e91..b431da20db0 100644 --- a/usr.sbin/ldpd/lde.h +++ b/usr.sbin/ldpd/lde.h @@ -1,4 +1,4 @@ -/* $OpenBSD: lde.h,v 1.21 2013/10/15 20:21:25 renato Exp $ */ +/* $OpenBSD: lde.h,v 1.22 2013/10/15 20:34:03 renato Exp $ */ /* * Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org> @@ -94,6 +94,7 @@ struct rt_node { /* lde.c */ pid_t lde(struct ldpd_conf *, int [2], int [2], int [2]); +int lde_imsg_compose_parent(int, pid_t, void *, u_int16_t); int lde_imsg_compose_ldpe(int, u_int32_t, pid_t, void *, u_int16_t); u_int32_t lde_assign_label(void); |