dhcpv6-ia: move function definitions to odhcpd.h
authorHans Dedecker <dedeckeh@gmail.com>
Mon, 11 Feb 2019 14:46:29 +0000 (15:46 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Mon, 11 Feb 2019 14:50:56 +0000 (15:50 +0100)
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
src/dhcpv6-ia.c
src/dhcpv6.c
src/dhcpv6.h
src/odhcpd.h
src/ubus.c

index 95f43070ef79f13e666b064826f5ff0318ff6660..2820946f2dfdaf2439162556877f2d01eb798290 100644 (file)
@@ -61,7 +61,7 @@ int dhcpv6_ia_init(void)
        return 0;
 }
 
-int dhcpv6_setup_ia_interface(struct interface *iface, bool enable)
+int dhcpv6_ia_setup_interface(struct interface *iface, bool enable)
 {
        if (!enable && iface->ia_assignments.next) {
                struct dhcp_assignment *c;
@@ -272,7 +272,7 @@ static int send_reconf(struct dhcp_assignment *assign)
        return odhcpd_send(iface->dhcpv6_event.uloop.fd, &assign->peer, &iov, 1, iface);
 }
 
-void dhcpv6_enum_ia_addrs(struct interface *iface, struct dhcp_assignment *c,
+void dhcpv6_ia_enum_addrs(struct interface *iface, struct dhcp_assignment *c,
                                time_t now, dhcpv6_binding_cb_handler_t func, void *arg)
 {
        struct odhcpd_ipaddr *addrs = (c->managed) ? c->managed : iface->addr6;
@@ -349,7 +349,7 @@ void dhcpv6_write_ia_addr(struct in6_addr *addr, int prefix, _unused uint32_t pr
                                        "%s/%d ", ipbuf, prefix);
 }
 
-void dhcpv6_write_statefile(void)
+void dhcpv6_ia_write_statefile(void)
 {
        struct write_ctxt ctxt;
 
@@ -405,7 +405,7 @@ void dhcpv6_write_statefile(void)
                                                                ctxt.c->assigned, (unsigned)ctxt.c->length);
 
                                        if (INFINITE_VALID(ctxt.c->valid_until) || ctxt.c->valid_until > now)
-                                               dhcpv6_enum_ia_addrs(ctxt.iface, ctxt.c, now,
+                                               dhcpv6_ia_enum_addrs(ctxt.iface, ctxt.c, now,
                                                                        dhcpv6_write_ia_addr, &ctxt);
 
                                        ctxt.buf[ctxt.buf_idx - 1] = '\n';
@@ -770,7 +770,7 @@ static void handle_addrlist_change(struct netevent_handler_info *info)
                }
        }
 
-       dhcpv6_write_statefile();
+       dhcpv6_ia_write_statefile();
 }
 
 static void reconf_timeout_cb(struct uloop_timeout *event)
@@ -1109,7 +1109,7 @@ static void dhcpv6_log(uint8_t msgtype, struct interface *iface, time_t now,
                                        .buf_len = sizeof(leasebuf),
                                        .buf_idx = 0 };
 
-               dhcpv6_enum_ia_addrs(iface, a, now, dhcpv6_log_ia_addr, &ctxt);
+               dhcpv6_ia_enum_addrs(iface, a, now, dhcpv6_log_ia_addr, &ctxt);
        }
 
        syslog(LOG_WARNING, "DHCPV6 %s %s from %s on %s: %s %s", type, (is_pd) ? "IA_PD" : "IA_NA",
@@ -1157,7 +1157,7 @@ static bool dhcpv6_ia_on_link(const struct dhcpv6_ia_hdr *ia, struct dhcp_assign
        return onlink;
 }
 
-ssize_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
+ssize_t dhcpv6_ia_handle_IAs(uint8_t *buf, size_t buflen, struct interface *iface,
                const struct sockaddr_in6 *addr, const void *data, const uint8_t *end)
 {
        time_t now = odhcpd_time();
@@ -1446,7 +1446,7 @@ ssize_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
                break;
        }
 
-       dhcpv6_write_statefile();
+       dhcpv6_ia_write_statefile();
 
 out:
        return response_len;
index e88c0076c3d9e8a75c8b3532f2c58ad3ccb918df..400e988feec55f5309f0bf846445c0462e21b122 100644 (file)
@@ -147,7 +147,7 @@ int dhcpv6_setup_interface(struct interface *iface, bool enable)
                odhcpd_register(&iface->dhcpv6_event);
        }
 
-       ret = dhcpv6_setup_ia_interface(iface, enable);
+       ret = dhcpv6_ia_setup_interface(iface, enable);
 
 out:
        if (ret < 0 && iface->dhcpv6_event.uloop.fd > 0) {
@@ -421,7 +421,7 @@ static void handle_client_request(void *addr, void *data, size_t len,
        }
 
        if (hdr->msg_type != DHCPV6_MSG_INFORMATION_REQUEST) {
-               ssize_t ialen = dhcpv6_handle_ia(pdbuf, sizeof(pdbuf), iface, addr, data, opts_end);
+               ssize_t ialen = dhcpv6_ia_handle_IAs(pdbuf, sizeof(pdbuf), iface, addr, data, opts_end);
 
                iov[IOV_PDBUF].iov_len = ialen;
                if (ialen < 0 ||
index 1ed7d6d128843173489d578ef5ef6374cbdef961..7abc8afb2b6d93b5773b3c58f56ee9be3cff05a4 100644 (file)
@@ -146,21 +146,8 @@ struct dhcpv6_cer_id {
        struct in6_addr addr;
 };
 
-typedef void (*dhcpv6_binding_cb_handler_t)(struct in6_addr *addr, int prefix,
-                                               uint32_t pref, uint32_t valid,
-                                               void *arg);
-
 #define dhcpv6_for_each_option(start, end, otype, olen, odata)\
        for (uint8_t *_o = (uint8_t*)(start); _o + 4 <= (end) &&\
                ((otype) = _o[0] << 8 | _o[1]) && ((odata) = (void*)&_o[4]) &&\
                ((olen) = _o[2] << 8 | _o[3]) + (odata) <= (end); \
                _o += 4 + (_o[2] << 8 | _o[3]))
-
-int dhcpv6_init_ia(struct interface *iface, int socket);
-ssize_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
-               const struct sockaddr_in6 *addr, const void *data, const uint8_t *end);
-int dhcpv6_ia_init(void);
-int dhcpv6_setup_ia_interface(struct interface *iface, bool enable);
-void dhcpv6_enum_ia_addrs(struct interface *iface, struct dhcp_assignment *c, time_t now,
-                               dhcpv6_binding_cb_handler_t func, void *arg);
-void dhcpv6_write_statefile(void);
index e7fcd8210db4d954452a3d987edb25688e764181..8165f7629dd10287c95de7e5f5077b5a93e1f398 100644 (file)
@@ -52,6 +52,10 @@ struct odhcpd_event {
        void (*recv_msgs)(struct odhcpd_event *e);
 };
 
+typedef void (*dhcpv6_binding_cb_handler_t)(struct in6_addr *addr, int prefix,
+                                           uint32_t pref, uint32_t valid,
+                                           void *arg);
+
 union if_addr {
        struct in_addr in;
        struct in6_addr in6;
@@ -332,6 +336,14 @@ void ubus_bcast_dhcp_event(const char *type, const uint8_t *mac, const size_t ma
                const struct in_addr *addr, const char *name, const char *interface);
 #endif
 
+ssize_t dhcpv6_ia_handle_IAs(uint8_t *buf, size_t buflen, struct interface *iface,
+               const struct sockaddr_in6 *addr, const void *data, const uint8_t *end);
+int dhcpv6_ia_init(void);
+int dhcpv6_ia_setup_interface(struct interface *iface, bool enable);
+void dhcpv6_ia_enum_addrs(struct interface *iface, struct dhcp_assignment *c, time_t now,
+                               dhcpv6_binding_cb_handler_t func, void *arg);
+void dhcpv6_ia_write_statefile(void);
+
 int netlink_add_netevent_handler(struct netevent_handler *hdlr);
 ssize_t netlink_get_interface_addrs(const int ifindex, bool v6,
                struct odhcpd_ipaddr **addrs);
index e1fb30e29daf40c47ed549d041fd27741287b0b5..b263da6516b36b0297bb5fe8a156ce3af4d2c602 100644 (file)
@@ -146,7 +146,7 @@ static int handle_dhcpv6_leases(_unused struct ubus_context *ctx, _unused struct
                        blobmsg_close_array(&b, m);
 
                        m = blobmsg_open_array(&b, a->length == 128 ? "ipv6-addr": "ipv6-prefix");
-                       dhcpv6_enum_ia_addrs(iface, a, now, dhcpv6_blobmsg_ia_addr, NULL);
+                       dhcpv6_ia_enum_addrs(iface, a, now, dhcpv6_blobmsg_ia_addr, NULL);
                        blobmsg_close_table(&b, m);
 
                        blobmsg_add_u32(&b, "valid", INFINITE_VALID(a->valid_until) ?