Diff below removes code protected under RSVP_ISI that doesn't even compile.
Anybody objecting to it's teduification? Any ok? Index: netinet/igmp.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/igmp.c,v retrieving revision 1.31 diff -u -p -r1.31 igmp.c --- netinet/igmp.c 20 Apr 2010 22:05:43 -0000 1.31 +++ netinet/igmp.c 8 Apr 2013 12:13:57 -0000 @@ -603,9 +603,7 @@ igmp_sendpkt(struct in_multi *inm, int t imo.imo_multicast_ifp = inm->inm_ia->ia_ifp; imo.imo_multicast_ttl = 1; -#ifdef RSVP_ISI - imo.imo_multicast_vif = -1; -#endif + /* * Request loopback of the report if we are acting as a multicast * router, so that the process-level routing daemon can hear it. Index: netinet/ip_mroute.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_mroute.c,v retrieving revision 1.60 diff -u -p -r1.60 ip_mroute.c --- netinet/ip_mroute.c 28 Mar 2013 16:45:16 -0000 1.60 +++ netinet/ip_mroute.c 8 Apr 2013 12:13:57 -0000 @@ -130,12 +130,6 @@ u_int mrtdebug = 0; /* debug level * #define VIFI_INVALID ((vifi_t) -1) -#ifdef RSVP_ISI -u_int rsvpdebug = 0; /* rsvp debug level */ -extern struct socket *ip_rsvpd; -extern int rsvp_on; -#endif /* RSVP_ISI */ - #define EXPIRE_TIMEOUT 250 /* 4x / second */ #define UPCALL_EXPIRE 6 /* number of timeouts */ struct timeout expire_upcalls_ch; @@ -162,11 +156,7 @@ static int get_api_config(struct mbuf *) static int socket_send(struct socket *, struct mbuf *, struct sockaddr_in *); static void expire_upcalls(void *); -#ifdef RSVP_ISI -static int ip_mdq(struct mbuf *, struct ifnet *, struct mfc *, vifi_t); -#else static int ip_mdq(struct mbuf *, struct ifnet *, struct mfc *); -#endif static void phyint_send(struct ip *, struct vif *, struct mbuf *); static void encap_send(struct ip *, struct vif *, struct mbuf *); static void send_packet(struct vif *, struct mbuf *); @@ -879,11 +869,6 @@ add_vif(struct mbuf *m) timeout_del(&vifp->v_repq_ch); -#ifdef RSVP_ISI - vifp->v_rsvp_on = 0; - vifp->v_rsvpd = NULL; -#endif /* RSVP_ISI */ - splx(s); /* Adjust numvifs up if the vifi is higher than numvifs. */ @@ -1138,11 +1123,7 @@ add_mfc(struct mbuf *m) for (; rte != NULL; rte = nrte) { nrte = rte->next; if (rte->ifp) { -#ifdef RSVP_ISI - ip_mdq(rte->m, rte->ifp, rt, -1); -#else ip_mdq(rte->m, rte->ifp, rt); -#endif /* RSVP_ISI */ } m_freem(rte->m); #ifdef UPCALL_TIMING @@ -1305,11 +1286,7 @@ socket_send(struct socket *s, struct mbu #define TUNNEL_LEN 12 /* # bytes of IP option for tunnel encapsulation */ int -#ifdef RSVP_ISI -ip_mforward(struct mbuf *m, struct ifnet *ifp, struct ip_moptions *imo) -#else ip_mforward(struct mbuf *m, struct ifnet *ifp) -#endif /* RSVP_ISI */ { struct ip *ip = mtod(m, struct ip *); struct mfc *rt; @@ -1340,28 +1317,6 @@ ip_mforward(struct mbuf *m, struct ifnet return (1); } -#ifdef RSVP_ISI - if (imo && ((vifi = imo->imo_multicast_vif) < numvifs)) { - if (ip->ip_ttl < MAXTTL) { - /* compensate for -1 in *_send routines */ - ip->ip_ttl++; - } - if (rsvpdebug && ip->ip_p == IPPROTO_RSVP) { - struct vif *vifp = viftable + vifi; - printf("Sending IPPROTO_RSVP from %x to %x on " - "vif %d (%s%s)\n", - ntohl(ip->ip_src), ntohl(ip->ip_dst), vifi, - (vifp->v_flags & VIFF_TUNNEL) ? "tunnel on " : "", - vifp->v_ifp->if_xname); - } - return (ip_mdq(m, ifp, (struct mfc *)NULL, vifi)); - } - if (rsvpdebug && ip->ip_p == IPPROTO_RSVP) { - printf("Warning: IPPROTO_RSVP from %x to %x without " - "vif option\n", ntohl(ip->ip_src), ntohl(ip->ip_dst)); - } -#endif /* RSVP_ISI */ - /* * Don't forward a packet with time-to-live of zero or one, * or a packet destined to a local-only group. @@ -1379,11 +1334,7 @@ ip_mforward(struct mbuf *m, struct ifnet /* Entry exists, so forward if necessary */ if (rt != NULL) { splx(s); -#ifdef RSVP_ISI - return (ip_mdq(m, ifp, rt, -1)); -#else return (ip_mdq(m, ifp, rt)); -#endif /* RSVP_ISI */ } else { /* * If we don't have a route for packet's origin, @@ -1603,11 +1554,7 @@ expire_upcalls(void *v) * Packet forwarding routine once entry in the cache is made */ static int -#ifdef RSVP_ISI -ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt, vifi_t xmt_vif) -#else ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt) -#endif /* RSVP_ISI */ { struct ip *ip = mtod(m, struct ip *); vifi_t vifi; @@ -1615,9 +1562,7 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp int plen = ntohs(ip->ip_len) - (ip->ip_hl << 2); /* - * Macro to send packet on vif. Since RSVP packets don't get counted on - * input, they shouldn't get counted on output, so statistics keeping is - * separate. + * Macro to send packet on vif. */ #define MC_SEND(ip, vifp, m) do { \ if ((vifp)->v_flags & VIFF_TUNNEL) \ @@ -1626,23 +1571,6 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp phyint_send((ip), (vifp), (m)); \ } while (/*CONSTCOND*/ 0) -#ifdef RSVP_ISI - /* - * If xmt_vif is not -1, send on only the requested vif. - * - * (since vifi_t is u_short, -1 becomes MAXUSHORT, which > numvifs. - */ - if (xmt_vif < numvifs) { -#ifdef PIM - if (viftable[xmt_vif].v_flags & VIFF_REGISTER) - pim_register_send(ip, viftable + xmt_vif, m, rt); - else -#endif - MC_SEND(ip, viftable + xmt_vif, m); - return (1); - } -#endif /* RSVP_ISI */ - /* * Don't forward if it didn't arrive from the parent vif for its origin. */ @@ -1767,20 +1695,6 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp return (0); } -#ifdef RSVP_ISI -/* - * check if a vif number is legal/ok. This is used by ip_output. - */ -int -legal_vif_num(int vif) -{ - if (vif >= 0 && vif < numvifs) - return (1); - else - return (0); -} -#endif /* RSVP_ISI */ - static void phyint_send(struct ip *ip, struct vif *vifp, struct mbuf *m) { @@ -1876,9 +1790,6 @@ send_packet(struct vif *vifp, struct mbu imo.imo_multicast_ifp = vifp->v_ifp; imo.imo_multicast_ttl = mtod(m, struct ip *)->ip_ttl - IPTTLDEC; imo.imo_multicast_loop = 1; -#ifdef RSVP_ISI - imo.imo_multicast_vif = -1; -#endif error = ip_output(m, (struct mbuf *)NULL, (struct route *)NULL, IP_FORWARDING|IP_MULTICASTOPTS, &imo, @@ -1890,223 +1801,6 @@ send_packet(struct vif *vifp, struct mbu } splx(s); } - -#ifdef RSVP_ISI -int -ip_rsvp_vif_init(struct socket *so, struct mbuf *m) -{ - int vifi, s; - - if (rsvpdebug) - printf("ip_rsvp_vif_init: so_type = %d, pr_protocol = %d\n", - so->so_type, so->so_proto->pr_protocol); - - if (so->so_type != SOCK_RAW || - so->so_proto->pr_protocol != IPPROTO_RSVP) - return (EOPNOTSUPP); - - /* Check mbuf. */ - if (m == NULL || m->m_len != sizeof(int)) { - return (EINVAL); - } - vifi = *(mtod(m, int *)); - - if (rsvpdebug) - printf("ip_rsvp_vif_init: vif = %d rsvp_on = %d\n", - vifi, rsvp_on); - - s = splsoftnet(); - - /* Check vif. */ - if (!legal_vif_num(vifi)) { - splx(s); - return (EADDRNOTAVAIL); - } - - /* Check if socket is available. */ - if (viftable[vifi].v_rsvpd != NULL) { - splx(s); - return (EADDRINUSE); - } - - viftable[vifi].v_rsvpd = so; - /* This may seem silly, but we need to be sure we don't over-increment - * the RSVP counter, in case something slips up. - */ - if (!viftable[vifi].v_rsvp_on) { - viftable[vifi].v_rsvp_on = 1; - rsvp_on++; - } - - splx(s); - return (0); -} - -int -ip_rsvp_vif_done(struct socket *so, struct mbuf *m) -{ - int vifi, s; - - if (rsvpdebug) - printf("ip_rsvp_vif_done: so_type = %d, pr_protocol = %d\n", - so->so_type, so->so_proto->pr_protocol); - - if (so->so_type != SOCK_RAW || - so->so_proto->pr_protocol != IPPROTO_RSVP) - return (EOPNOTSUPP); - - /* Check mbuf. */ - if (m == NULL || m->m_len != sizeof(int)) { - return (EINVAL); - } - vifi = *(mtod(m, int *)); - - s = splsoftnet(); - - /* Check vif. */ - if (!legal_vif_num(vifi)) { - splx(s); - return (EADDRNOTAVAIL); - } - - if (rsvpdebug) - printf("ip_rsvp_vif_done: v_rsvpd = %x so = %x\n", - viftable[vifi].v_rsvpd, so); - - viftable[vifi].v_rsvpd = NULL; - /* - * This may seem silly, but we need to be sure we don't over-decrement - * the RSVP counter, in case something slips up. - */ - if (viftable[vifi].v_rsvp_on) { - viftable[vifi].v_rsvp_on = 0; - rsvp_on--; - } - - splx(s); - return (0); -} - -void -ip_rsvp_force_done(struct socket *so) -{ - int vifi, s; - - /* Don't bother if it is not the right type of socket. */ - if (so->so_type != SOCK_RAW || - so->so_proto->pr_protocol != IPPROTO_RSVP) - return; - - s = splsoftnet(); - - /* - * The socket may be attached to more than one vif...this - * is perfectly legal. - */ - for (vifi = 0; vifi < numvifs; vifi++) { - if (viftable[vifi].v_rsvpd == so) { - viftable[vifi].v_rsvpd = NULL; - /* - * This may seem silly, but we need to be sure we don't - * over-decrement the RSVP counter, in case something - * slips up. - */ - if (viftable[vifi].v_rsvp_on) { - viftable[vifi].v_rsvp_on = 0; - rsvp_on--; - } - } - } - - splx(s); - return; -} - -void -rsvp_input(struct mbuf *m, struct ifnet *ifp) -{ - int vifi, s; - struct ip *ip = mtod(m, struct ip *); - static struct sockaddr_in rsvp_src = { sizeof(sin), AF_INET }; - - if (rsvpdebug) - printf("rsvp_input: rsvp_on %d\n", rsvp_on); - - /* - * Can still get packets with rsvp_on = 0 if there is a local member - * of the group to which the RSVP packet is addressed. But in this - * case we want to throw the packet away. - */ - if (!rsvp_on) { - m_freem(m); - return; - } - - /* - * If the old-style non-vif-associated socket is set, then use - * it and ignore the new ones. - */ - if (ip_rsvpd != NULL) { - if (rsvpdebug) - printf("rsvp_input: " - "Sending packet up old-style socket\n"); - rip_input(m, 0); /*XXX*/ - return; - } - - s = splsoftnet(); - - if (rsvpdebug) - printf("rsvp_input: check vifs\n"); - - /* Find which vif the packet arrived on. */ - for (vifi = 0; vifi < numvifs; vifi++) { - if (viftable[vifi].v_ifp == ifp) - break; - } - - if (vifi == numvifs) { - /* Can't find vif packet arrived on. Drop packet. */ - if (rsvpdebug) - printf("rsvp_input: " - "Can't find vif for packet...dropping it.\n"); - m_freem(m); - splx(s); - return; - } - - if (rsvpdebug) - printf("rsvp_input: check socket\n"); - - if (viftable[vifi].v_rsvpd == NULL) { - /* - * drop packet, since there is no specific socket for this - * interface - */ - if (rsvpdebug) - printf("rsvp_input: No socket defined for vif %d\n", - vifi); - m_freem(m); - splx(s); - return; - } - - rsvp_src.sin_addr = ip->ip_src; - - if (rsvpdebug && m) - printf("rsvp_input: m->m_len = %d, sbspace() = %d\n", - m->m_len, sbspace(&viftable[vifi].v_rsvpd->so_rcv)); - - if (socket_send(viftable[vifi].v_rsvpd, m, &rsvp_src) < 0) - if (rsvpdebug) - printf("rsvp_input: Failed to append to socket\n"); - else - if (rsvpdebug) - printf("rsvp_input: send packet up\n"); - - splx(s); -} -#endif /* RSVP_ISI */ /* * Code for bandwidth monitors Index: netinet/ip_mroute.h =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_mroute.h,v retrieving revision 1.15 diff -u -p -r1.15 ip_mroute.h --- netinet/ip_mroute.h 13 Jul 2009 19:14:29 -0000 1.15 +++ netinet/ip_mroute.h 8 Apr 2013 12:13:57 -0000 @@ -231,10 +231,6 @@ struct vif { u_long v_bytes_out; /* # bytes out on interface */ struct route v_route; /* cached route if this is a tunnel */ struct timeout v_repq_ch; /* for tbf_reprocess_q() */ -#ifdef RSVP_ISI - int v_rsvp_on; /* # RSVP listening on this vif */ - struct socket *v_rsvpd; /* # RSVPD daemon */ -#endif /* RSVP_ISI */ }; /* @@ -325,16 +321,6 @@ int ip_mrouter_done(void); void ip_mrouter_detach(struct ifnet *); void reset_vif(struct vif *); void vif_delete(struct ifnet *); -#ifdef RSVP_ISI -int ip_mforward(struct mbuf *, struct ifnet *, struct ip_moptions *); -int legal_vif_num(int); -int ip_rsvp_vif_init(struct socket *, struct mbuf *); -int ip_rsvp_vif_done(struct socket *, struct mbuf *); -void ip_rsvp_force_done(struct socket *); -void rsvp_input(struct mbuf *, int, int); -#else -int ip_mforward(struct mbuf *, struct ifnet *); -#endif /* RSVP_ISI */ #endif /* _KERNEL */ #endif /* _NETINET_IP_MROUTE_H_ */ Index: netinet6/ip6_mroute.c =================================================================== RCS file: /home/ncvs/src/sys/netinet6/ip6_mroute.c,v retrieving revision 1.59 diff -u -p -r1.59 ip6_mroute.c --- netinet6/ip6_mroute.c 28 Mar 2013 16:45:16 -0000 1.59 +++ netinet6/ip6_mroute.c 8 Apr 2013 12:13:57 -0000 @@ -1297,11 +1297,8 @@ ip6_mdq(struct mbuf *m, struct ifnet *if int plen = m->m_pkthdr.len; /* - * Macro to send packet on mif. Since RSVP packets don't get counted on - * input, they shouldn't get counted on output, so statistics keeping is - * separate. + * Macro to send packet on mif. */ - #define MC6_SEND(ip6, mifp, m) do { \ if ((mifp)->m6_flags & MIFF_REGISTER) \ register_send((ip6), (mifp), (m)); \ Index: netinet6/ip6_mroute.h =================================================================== RCS file: /home/ncvs/src/sys/netinet6/ip6_mroute.h,v retrieving revision 1.8 diff -u -p -r1.8 ip6_mroute.h --- netinet6/ip6_mroute.h 19 Sep 2012 22:37:23 -0000 1.8 +++ netinet6/ip6_mroute.h 8 Apr 2013 12:13:57 -0000 @@ -219,10 +219,6 @@ struct mif6 { u_int64_t m6_bytes_in; /* # bytes in on interface */ u_int64_t m6_bytes_out; /* # bytes out on interface */ struct route_in6 m6_route;/* cached route if this is a tunnel */ -#ifdef notyet - u_int m6_rsvp_on; /* RSVP listening on this vif */ - struct socket *m6_rsvpd; /* RSVP daemon socket */ -#endif }; /* Index: netinet6/raw_ip6.c =================================================================== RCS file: /home/ncvs/src/sys/netinet6/raw_ip6.c,v retrieving revision 1.53 diff -u -p -r1.53 raw_ip6.c --- netinet6/raw_ip6.c 7 Apr 2013 20:58:25 -0000 1.53 +++ netinet6/raw_ip6.c 8 Apr 2013 12:13:58 -0000 @@ -654,7 +654,6 @@ rip6_usrreq(struct socket *so, int req, if (so == ip6_mrouter) ip6_mrouter_done(); #endif - /* xxx: RSVP */ if (in6p->in6p_icmp6filt) { free(in6p->in6p_icmp6filt, M_PCB); in6p->in6p_icmp6filt = NULL;