diff -Naur linux-headers-2.6.19.orig/include/linux/if_addr.h linux-headers-2.6.19/include/linux/if_addr.h
--- linux-headers-2.6.19.orig/include/linux/if_addr.h	2006-11-29 13:57:37.000000000 -0800
+++ linux-headers-2.6.19/include/linux/if_addr.h	2006-11-30 08:28:48.000000000 -0800
@@ -52,4 +52,7 @@
 	__u32	tstamp; /* updated timestamp, hundredths of seconds */
 };
 
+#define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
+#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
+
 #endif
diff -Naur linux-headers-2.6.19.orig/include/linux/if_link.h linux-headers-2.6.19/include/linux/if_link.h
--- linux-headers-2.6.19.orig/include/linux/if_link.h	2006-11-29 13:57:37.000000000 -0800
+++ linux-headers-2.6.19/include/linux/if_link.h	2006-11-30 08:28:48.000000000 -0800
@@ -82,6 +82,9 @@
 
 #define IFLA_MAX (__IFLA_MAX - 1)
 
+#define IFLA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
+#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
+
 /* ifi_flags.
 
    IFF_* flags.
diff -Naur linux-headers-2.6.19.orig/include/linux/rtnetlink.h linux-headers-2.6.19/include/linux/rtnetlink.h
--- linux-headers-2.6.19.orig/include/linux/rtnetlink.h	2006-11-29 13:57:37.000000000 -0800
+++ linux-headers-2.6.19/include/linux/rtnetlink.h	2006-11-30 08:28:48.000000000 -0800
@@ -2,6 +2,7 @@
 #define __LINUX_RTNETLINK_H
 
 #include <linux/netlink.h>
+#include <linux/if_addr.h>
 #include <linux/if_link.h>
 
 /****