summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1995-07-26 18:05:16 +0000
committerwollman <wollman@FreeBSD.org>1995-07-26 18:05:16 +0000
commit39a85a58ed8d6e8e315fe2b097174f032de724c4 (patch)
tree0733cadd9ba1a752d85a8046472fba0c995ad24f /sys/netinet
parent94e5a8eb42395728836ef3ee2387fe1f64b655f1 (diff)
downloadFreeBSD-src-39a85a58ed8d6e8e315fe2b097174f032de724c4.zip
FreeBSD-src-39a85a58ed8d6e8e315fe2b097174f032de724c4.tar.gz
Fix test for determining when RSVP is inactive in a router. (In this
case, multicast options are not passed to ip_mforward().) The previous version had a wrong test, thus causing RSVP mrouters to forward RSVP messages in violation of the spec.
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_mroute.c6
-rw-r--r--sys/netinet/ip_output.c4
-rw-r--r--sys/netinet/ip_var.h3
3 files changed, 7 insertions, 6 deletions
diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
index c743469..2fc8340 100644
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -9,7 +9,7 @@
* Modified by Bill Fenner, PARC, April 1995
*
* MROUTING Revision: 3.5
- * $Id: ip_mroute.c,v 1.19 1995/06/26 16:15:49 wollman Exp $
+ * $Id: ip_mroute.c,v 1.20 1995/07/24 18:15:13 wollman Exp $
*/
@@ -52,8 +52,6 @@
#endif
#endif
-extern int rsvp_on;
-
#ifndef MROUTING
/*
* Dummy routines and globals used when multicast routing is not compiled in.
@@ -1126,6 +1124,8 @@ X_ip_mforward(ip, ifp, m, imo)
if (rsvpdebug && ip->ip_p == IPPROTO_RSVP) {
printf("Warning: IPPROTO_RSVP from %x to %x without vif option\n",
ntohl(ip->ip_src.s_addr), ntohl(ip->ip_dst.s_addr));
+ if(!imo)
+ printf("In fact, no options were specified at all\n");
}
/*
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index e6e3fe2..83e7382 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ip_output.c 8.3 (Berkeley) 1/21/94
- * $Id: ip_output.c,v 1.21 1995/07/01 19:09:40 joerg Exp $
+ * $Id: ip_output.c,v 1.22 1995/07/02 16:45:07 joerg Exp $
*/
#include <sys/param.h>
@@ -247,7 +247,7 @@ ip_output(m0, opt, ro, flags, imo)
* is multicast and not just sent down one link
* as prescribed by rsvpd.
*/
- if (ip_rsvpd == NULL)
+ if (!rsvp_on)
imo = NULL;
if (ip_mforward(ip, ifp, m, imo) != 0) {
m_freem(m);
diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h
index a210ab7..028939a 100644
--- a/sys/netinet/ip_var.h
+++ b/sys/netinet/ip_var.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ip_var.h 8.1 (Berkeley) 6/10/93
- * $Id: ip_var.h,v 1.11 1995/06/13 17:51:15 wollman Exp $
+ * $Id: ip_var.h,v 1.12 1995/06/28 05:13:02 davidg Exp $
*/
#ifndef _NETINET_IP_VAR_H_
@@ -161,6 +161,7 @@ extern struct socket *ip_rsvpd; /* reservation protocol daemon */
extern struct socket *ip_mrouter; /* multicast routing daemon */
extern int (*legal_vif_num) __P((int));
extern u_long (*ip_mcast_src) __P((int));
+extern int rsvp_on;
int ip_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
void ip_deq __P((struct ipasfrag *));
OpenPOWER on IntegriCloud