]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospfd/ospf_api.c
Merge pull request #5332 from mjstapp/remove_zapi_label_flag
[mirror_frr.git] / ospfd / ospf_api.c
index f1a7433760daf5d7e34456c12b8e364a79aa1b6c..1ace0977bc349cc7efae6dd246673db0a25ced26 100644 (file)
@@ -62,7 +62,7 @@ void api_opaque_lsa_print(struct lsa_header *data)
 {
        struct opaque_lsa {
                struct lsa_header header;
-               u_char mydata[];
+               uint8_t mydata[];
        };
 
        struct opaque_lsa *olsa;
@@ -74,12 +74,12 @@ void api_opaque_lsa_print(struct lsa_header *data)
        olsa = (struct opaque_lsa *)data;
 
        opaquelen = ntohs(data->length) - OSPF_LSA_HEADER_SIZE;
-       zlog_debug("apiserver_lsa_print: opaquelen=%d\n", opaquelen);
+       zlog_debug("apiserver_lsa_print: opaquelen=%d", opaquelen);
 
        for (i = 0; i < opaquelen; i++) {
                zlog_debug("0x%x ", olsa->mydata[i]);
        }
-       zlog_debug("\n");
+       zlog_debug(" ");
 }
 
 /* -----------------------------------------------------------
@@ -87,8 +87,8 @@ void api_opaque_lsa_print(struct lsa_header *data)
  * -----------------------------------------------------------
  */
 
-struct msg *msg_new(u_char msgtype, void *msgbody, u_int32_t seqnum,
-                   u_int16_t msglen)
+struct msg *msg_new(uint8_t msgtype, void *msgbody, uint32_t seqnum,
+                   uint16_t msglen)
 {
        struct msg *new;
 
@@ -242,17 +242,10 @@ const char *ospf_api_errname(int errcode)
 void msg_print(struct msg *msg)
 {
        if (!msg) {
-               zlog_debug("msg_print msg=NULL!\n");
+               zlog_debug("msg_print msg=NULL!");
                return;
        }
 
-#ifdef ORIGINAL_CODING
-       zlog_debug(
-               "msg=%p msgtype=%d msglen=%d msgseq=%d streamdata=%p streamsize=%lu\n",
-               msg, msg->hdr.msgtype, ntohs(msg->hdr.msglen),
-               ntohl(msg->hdr.msgseq), STREAM_DATA(msg->s),
-               STREAM_SIZE(msg->s));
-#else /* ORIGINAL_CODING */
        /* API message common header part. */
        zlog_debug("API-msg [%s]: type(%d),len(%d),seq(%lu),data(%p),size(%zd)",
                   ospf_api_typename(msg->hdr.msgtype), msg->hdr.msgtype,
@@ -260,16 +253,7 @@ void msg_print(struct msg *msg)
                   (unsigned long)ntohl(msg->hdr.msgseq), STREAM_DATA(msg->s),
                   STREAM_SIZE(msg->s));
 
-/* API message body part. */
-#ifdef ndef
-       /* Generic Hex/Ascii dump */
-       DumpBuf(STREAM_DATA(msg->s), STREAM_SIZE(msg->s)); /* Sorry, deleted! */
-#else  /* ndef */
-/* Message-type dependent dump function. */
-#endif /* ndef */
-
        return;
-#endif /* ORIGINAL_CODING */
 }
 
 void msg_free(struct msg *msg)
@@ -282,14 +266,14 @@ void msg_free(struct msg *msg)
 
 
 /* Set sequence number of message */
-void msg_set_seq(struct msg *msg, u_int32_t seqnr)
+void msg_set_seq(struct msg *msg, uint32_t seqnr)
 {
        assert(msg);
        msg->hdr.msgseq = htonl(seqnr);
 }
 
 /* Get sequence number of message */
-u_int32_t msg_get_seq(struct msg *msg)
+uint32_t msg_get_seq(struct msg *msg)
 {
        assert(msg);
        return ntohl(msg->hdr.msgseq);
@@ -300,7 +284,7 @@ u_int32_t msg_get_seq(struct msg *msg)
  * -----------------------------------------------------------
  */
 
-struct msg_fifo *msg_fifo_new()
+struct msg_fifo *msg_fifo_new(void)
 {
        return XCALLOC(MTYPE_OSPF_API_FIFO, sizeof(struct msg_fifo));
 }
@@ -368,12 +352,12 @@ struct msg *msg_read(int fd)
 {
        struct msg *msg;
        struct apimsghdr hdr;
-       u_char buf[OSPF_API_MAX_MSG_SIZE];
+       uint8_t buf[OSPF_API_MAX_MSG_SIZE];
        int bodylen;
        int rlen;
 
        /* Read message header */
-       rlen = readn(fd, (u_char *)&hdr, sizeof(struct apimsghdr));
+       rlen = readn(fd, (uint8_t *)&hdr, sizeof(struct apimsghdr));
 
        if (rlen < 0) {
                zlog_warn("msg_read: readn %s", safe_strerror(errno));
@@ -418,7 +402,7 @@ struct msg *msg_read(int fd)
 
 int msg_write(int fd, struct msg *msg)
 {
-       u_char buf[OSPF_API_MAX_MSG_SIZE];
+       uint8_t buf[OSPF_API_MAX_MSG_SIZE];
        int l;
        int wlen;
 
@@ -452,8 +436,8 @@ int msg_write(int fd, struct msg *msg)
  * -----------------------------------------------------------
  */
 
-struct msg *new_msg_register_opaque_type(u_int32_t seqnum, u_char ltype,
-                                        u_char otype)
+struct msg *new_msg_register_opaque_type(uint32_t seqnum, uint8_t ltype,
+                                        uint8_t otype)
 {
        struct msg_register_opaque_type rmsg;
 
@@ -465,10 +449,10 @@ struct msg *new_msg_register_opaque_type(u_int32_t seqnum, u_char ltype,
                       sizeof(struct msg_register_opaque_type));
 }
 
-struct msg *new_msg_register_event(u_int32_t seqnum,
+struct msg *new_msg_register_event(uint32_t seqnum,
                                   struct lsa_filter_type *filter)
 {
-       u_char buf[OSPF_API_MAX_MSG_SIZE];
+       uint8_t buf[OSPF_API_MAX_MSG_SIZE];
        struct msg_register_event *emsg;
        unsigned int len;
 
@@ -484,9 +468,9 @@ struct msg *new_msg_register_event(u_int32_t seqnum,
        return msg_new(MSG_REGISTER_EVENT, emsg, seqnum, len);
 }
 
-struct msg *new_msg_sync_lsdb(u_int32_t seqnum, struct lsa_filter_type *filter)
+struct msg *new_msg_sync_lsdb(uint32_t seqnum, struct lsa_filter_type *filter)
 {
-       u_char buf[OSPF_API_MAX_MSG_SIZE];
+       uint8_t buf[OSPF_API_MAX_MSG_SIZE];
        struct msg_sync_lsdb *smsg;
        unsigned int len;
 
@@ -503,33 +487,34 @@ struct msg *new_msg_sync_lsdb(u_int32_t seqnum, struct lsa_filter_type *filter)
 }
 
 
-struct msg *new_msg_originate_request(u_int32_t seqnum, struct in_addr ifaddr,
+struct msg *new_msg_originate_request(uint32_t seqnum, struct in_addr ifaddr,
                                      struct in_addr area_id,
                                      struct lsa_header *data)
 {
        struct msg_originate_request *omsg;
        unsigned int omsglen;
        char buf[OSPF_API_MAX_MSG_SIZE];
+       size_t off_data = offsetof(struct msg_originate_request, data);
+       size_t data_maxs = sizeof(buf) - off_data;
+       struct lsa_header *omsg_data = (struct lsa_header *)&buf[off_data];
 
        omsg = (struct msg_originate_request *)buf;
        omsg->ifaddr = ifaddr;
        omsg->area_id = area_id;
 
        omsglen = ntohs(data->length);
-       if (omsglen
-           > sizeof(buf) - offsetof(struct msg_originate_request, data))
-               omsglen = sizeof(buf)
-                         - offsetof(struct msg_originate_request, data);
-       memcpy(&omsg->data, data, omsglen);
+       if (omsglen > data_maxs)
+               omsglen = data_maxs;
+       memcpy(omsg_data, data, omsglen);
        omsglen += sizeof(struct msg_originate_request)
                   - sizeof(struct lsa_header);
 
        return msg_new(MSG_ORIGINATE_REQUEST, omsg, seqnum, omsglen);
 }
 
-struct msg *new_msg_delete_request(u_int32_t seqnum, struct in_addr area_id,
-                                  u_char lsa_type, u_char opaque_type,
-                                  u_int32_t opaque_id)
+struct msg *new_msg_delete_request(uint32_t seqnum, struct in_addr area_id,
+                                  uint8_t lsa_type, uint8_t opaque_type,
+                                  uint32_t opaque_id)
 {
        struct msg_delete_request dmsg;
        dmsg.area_id = area_id;
@@ -543,7 +528,7 @@ struct msg *new_msg_delete_request(u_int32_t seqnum, struct in_addr area_id,
 }
 
 
-struct msg *new_msg_reply(u_int32_t seqnr, u_char rc)
+struct msg *new_msg_reply(uint32_t seqnr, uint8_t rc)
 {
        struct msg *msg;
        struct msg_reply rmsg;
@@ -557,8 +542,8 @@ struct msg *new_msg_reply(u_int32_t seqnr, u_char rc)
        return msg;
 }
 
-struct msg *new_msg_ready_notify(u_int32_t seqnr, u_char lsa_type,
-                                u_char opaque_type, struct in_addr addr)
+struct msg *new_msg_ready_notify(uint32_t seqnr, uint8_t lsa_type,
+                                uint8_t opaque_type, struct in_addr addr)
 {
        struct msg_ready_notify rmsg;
 
@@ -571,7 +556,7 @@ struct msg *new_msg_ready_notify(u_int32_t seqnr, u_char lsa_type,
                       sizeof(struct msg_ready_notify));
 }
 
-struct msg *new_msg_new_if(u_int32_t seqnr, struct in_addr ifaddr,
+struct msg *new_msg_new_if(uint32_t seqnr, struct in_addr ifaddr,
                           struct in_addr area_id)
 {
        struct msg_new_if nmsg;
@@ -582,7 +567,7 @@ struct msg *new_msg_new_if(u_int32_t seqnr, struct in_addr ifaddr,
        return msg_new(MSG_NEW_IF, &nmsg, seqnr, sizeof(struct msg_new_if));
 }
 
-struct msg *new_msg_del_if(u_int32_t seqnr, struct in_addr ifaddr)
+struct msg *new_msg_del_if(uint32_t seqnr, struct in_addr ifaddr)
 {
        struct msg_del_if dmsg;
 
@@ -591,8 +576,8 @@ struct msg *new_msg_del_if(u_int32_t seqnr, struct in_addr ifaddr)
        return msg_new(MSG_DEL_IF, &dmsg, seqnr, sizeof(struct msg_del_if));
 }
 
-struct msg *new_msg_ism_change(u_int32_t seqnr, struct in_addr ifaddr,
-                              struct in_addr area_id, u_char status)
+struct msg *new_msg_ism_change(uint32_t seqnr, struct in_addr ifaddr,
+                              struct in_addr area_id, uint8_t status)
 {
        struct msg_ism_change imsg;
 
@@ -605,9 +590,9 @@ struct msg *new_msg_ism_change(u_int32_t seqnr, struct in_addr ifaddr,
                       sizeof(struct msg_ism_change));
 }
 
-struct msg *new_msg_nsm_change(u_int32_t seqnr, struct in_addr ifaddr,
+struct msg *new_msg_nsm_change(uint32_t seqnr, struct in_addr ifaddr,
                               struct in_addr nbraddr, struct in_addr router_id,
-                              u_char status)
+                              uint8_t status)
 {
        struct msg_nsm_change nmsg;
 
@@ -621,15 +606,18 @@ struct msg *new_msg_nsm_change(u_int32_t seqnr, struct in_addr ifaddr,
                       sizeof(struct msg_nsm_change));
 }
 
-struct msg *new_msg_lsa_change_notify(u_char msgtype, u_int32_t seqnum,
+struct msg *new_msg_lsa_change_notify(uint8_t msgtype, uint32_t seqnum,
                                      struct in_addr ifaddr,
                                      struct in_addr area_id,
-                                     u_char is_self_originated,
+                                     uint8_t is_self_originated,
                                      struct lsa_header *data)
 {
-       u_char buf[OSPF_API_MAX_MSG_SIZE];
+       uint8_t buf[OSPF_API_MAX_MSG_SIZE];
        struct msg_lsa_change_notify *nmsg;
        unsigned int len;
+       size_t off_data = offsetof(struct msg_lsa_change_notify, data);
+       size_t data_maxs = sizeof(buf) - off_data;
+       struct lsa_header *nmsg_data = (struct lsa_header *)&buf[off_data];
 
        assert(data);
 
@@ -640,10 +628,9 @@ struct msg *new_msg_lsa_change_notify(u_char msgtype, u_int32_t seqnum,
        memset(&nmsg->pad, 0, sizeof(nmsg->pad));
 
        len = ntohs(data->length);
-       if (len > sizeof(buf) - offsetof(struct msg_lsa_change_notify, data))
-               len = sizeof(buf)
-                     - offsetof(struct msg_lsa_change_notify, data);
-       memcpy(&nmsg->data, data, len);
+       if (len > data_maxs)
+               len = data_maxs;
+       memcpy(nmsg_data, data, len);
        len += sizeof(struct msg_lsa_change_notify) - sizeof(struct lsa_header);
 
        return msg_new(msgtype, nmsg, seqnum, len);