Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Fixes: f128f2f1f8a2fa975063dd321719607693991eb0
Ticket: CM-10506
Reviewed By: CCR-4536
Testing Done: Manual verification
#endif
/* End of temporary definitions */
+#ifndef NLMSG_TAIL
+#define NLMSG_TAIL(nmsg) \
+ ((struct rtattr *) (((u_char *) (nmsg)) + NLMSG_ALIGN((nmsg)->nlmsg_len)))
+#endif
+
+#ifndef RTA_TAIL
+#define RTA_TAIL(rta) \
+ ((struct rtattr *) (((u_char *) (rta)) + RTA_ALIGN((rta)->rta_len)))
+#endif
+
struct gw_family_t
{
u_int16_t filler;
static int
addattr_nest_end(struct nlmsghdr *n, struct rtattr *nest)
{
- nest->rta_len = NLMSG_TAIL(n) - nest;
+ nest->rta_len = (u_char *)NLMSG_TAIL(n) - (u_char *)nest;
return n->nlmsg_len;
}
static int
rta_nest_end(struct rtattr *rta, struct rtattr *nest)
{
- nest->rta_len = RTA_TAIL(rta) - nest;
+ nest->rta_len = (u_char *)RTA_TAIL(rta) - (u_char *)nest;
return rta->rta_len;
}