[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(usagi-users 03578) [Fwd: [PATCH] Fix RTNLGRP definitions in rtnetlink.h] (fwd)
- To: usagi-users@xxxxxxxxxxxxxx
- Subject: (usagi-users 03578) [Fwd: [PATCH] Fix RTNLGRP definitions in rtnetlink.h] (fwd)
- From: Miika Komu <miika@xxxxxx>
- Date: Mon, 19 Dec 2005 14:47:02 +0200 (EET)
- Cc: "Bellino, Phil" <pbellino@xxxxxxx>
- Reply-to: usagi-users@xxxxxxxxxxxxxx
- Resent-date: Tue, 20 Dec 2005 15:33:00 +0900
- Resent-from: yoshfuji@xxxxxxxxxxxxxx
- Resent-message-id: <200512201533.FMLAAB32407.usagi-users@linux-ipv6.org>
- Resent-to: usagi-users@xxxxxxxxxxxxxx (moderated)
-------- Original Message --------
Subject: [PATCH] Fix RTNLGRP definitions in rtnetlink.h
Date: Mon, 19 Dec 2005 13:20:08 +0200
From: Kristian Slavov <kristian.slavov@xxxxxxxxxxxxxx>
To: Kernel Netdev Mailing List <netdev@xxxxxxxxxxxxxxx>
Hi,
I reported a problem and gave hints to the solution, but nobody seemed to
react. So I prepared a patch against 2.6.14.4.
Tested on 2.6.14.4 with "ip monitor addr" and with the program attached,
while adding and removing IPv6 address. Both programs didn't receive any
messages.
Tested 2.6.14.4 + this patch, and both programs received add and remove
messages.
Signed-off-by: Kristian Slavov <kristian.slavov@xxxxxxxxxxxxxx>
Cheers,
--
Krisu
--
Krisu
diff -Naur linux-2.6.14.4/include/linux/rtnetlink.h linux-2.6.14.4-patched/include/linux/rtnetlink.h
--- linux-2.6.14.4/include/linux/rtnetlink.h 2005-12-15 01:50:41.000000000 +0200
+++ linux-2.6.14.4-patched/include/linux/rtnetlink.h 2005-12-19 12:30:04.000000000 +0200
@@ -866,6 +866,7 @@
#define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE
RTNLGRP_IPV4_ROUTE,
#define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE
+ RTNLGRP_NOP1,
RTNLGRP_IPV6_IFADDR,
#define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR
RTNLGRP_IPV6_MROUTE,
@@ -876,8 +877,11 @@
#define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO
RTNLGRP_DECnet_IFADDR,
#define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR
+ RTNLGRP_NOP2,
RTNLGRP_DECnet_ROUTE,
#define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
+ RTNLGRP_NOP3,
+ RTNLGRP_NOP4,
RTNLGRP_IPV6_PREFIX,
#define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
__RTNLGRP_MAX
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <linux/rtnetlink.h>
#include <errno.h>
#include <string.h>
#define MLEN 1024
int main()
{
struct sockaddr_nl nlserver;
size_t z;
char *buffer;
int rtsock, k;
buffer = malloc(MLEN);
if (!buffer)
return 0;
memset(buffer, 0, MLEN);
memset(&nlserver, 0, sizeof(nlserver));
nlserver.nl_family = AF_NETLINK;
nlserver.nl_groups = RTMGRP_IPV6_IFADDR;
rtsock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (rtsock < 0)
return 0;
k = bind(rtsock, (struct sockaddr *)&nlserver, sizeof(nlserver));
if (k < 0)
return 0;
z = sizeof(nlserver);
k = recvfrom(rtsock, buffer, MLEN, 0,
(struct sockaddr *)&nlserver, &z);
printf("recvfrom() = %d, errno = %d\n",k,errno);
close(rtsock);
return 1;
}