summaryrefslogtreecommitdiffstats
path: root/sbin/route
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1997-01-09 21:34:03 +0000
committerwollman <wollman@FreeBSD.org>1997-01-09 21:34:03 +0000
commitbca91f319c51b15b14fba89aacd0c84a3f7c877d (patch)
tree19486059760d40d15e6e98a9752f541ee857fc3d /sbin/route
parent37c2967fb3fd42186e9ecf3ca6737d40633dca46 (diff)
downloadFreeBSD-src-bca91f319c51b15b14fba89aacd0c84a3f7c877d.zip
FreeBSD-src-bca91f319c51b15b14fba89aacd0c84a3f7c877d.tar.gz
If the RTM_NEWMADDR and RTM_DELMADDR messages are defined
(in <net/route.h>), then interpret them appropriately. This has no effect until I commit the changes to multicast group management (awaiting review).
Diffstat (limited to 'sbin/route')
-rw-r--r--sbin/route/route.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c
index 339d841..9aad6ff 100644
--- a/sbin/route/route.c
+++ b/sbin/route/route.c
@@ -43,7 +43,7 @@ static const char copyright[] =
static char sccsid[] = "@(#)route.c 8.3 (Berkeley) 3/19/94";
*/
static const char rcsid[] =
- "$Id: route.c,v 1.17 1996/11/01 20:30:37 wollman Exp $";
+ "$Id: route.c,v 1.18 1996/12/10 17:07:30 wollman Exp $";
#endif /* not lint */
#include <sys/param.h>
@@ -1244,6 +1244,8 @@ char *msgtypes[] = {
"RTM_NEWADDR: address being added to iface",
"RTM_DELADDR: address being removed from iface",
"RTM_IFINFO: iface status change",
+ "RTM_NEWMADDR: new multicast group membership on iface",
+ "RTM_DELMADDR: multicast group membership removed from iface",
0,
};
@@ -1269,6 +1271,9 @@ print_rtmsg(rtm, msglen)
{
struct if_msghdr *ifm;
struct ifa_msghdr *ifam;
+#ifdef RTM_NEWMADDR
+ struct ifma_msghdr *ifmam;
+#endif
if (verbose == 0)
return;
@@ -1292,6 +1297,13 @@ print_rtmsg(rtm, msglen)
bprintf(stdout, ifam->ifam_flags, routeflags);
pmsg_addrs((char *)(ifam + 1), ifam->ifam_addrs);
break;
+#ifdef RTM_NEWMADDR
+ case RTM_NEWMADDR:
+ case RTM_DELMADDR:
+ ifmam = (struct ifma_msghdr *)rtm;
+ pmsg_addrs((char *)(ifmam + 1), ifmam->ifmam_addrs);
+ break;
+#endif
default:
(void) printf("pid: %ld, seq %d, errno %d, flags:",
(long)rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);
OpenPOWER on IntegriCloud