From a062038267932240a1b9631959fe5e266f03e1cc Mon Sep 17 00:00:00 2001 From: Jeffrey Hsu Date: Mon, 8 Mar 2004 07:47:27 +0000 Subject: [PATCH] To comply with the spec, do not copy the TOS from the outer IP header to the inner IP header of the PIM Register if this is a PIM Null-Register message. Submitted by: Pavlin Radoslavov --- sys/netinet/ip_mroute.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 83f4aa393126..7d7d04b3902e 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -3288,7 +3288,11 @@ pim_input(struct mbuf *m, int off) m_freem(m); return; } - + + /* If a NULL_REGISTER, pass it to the daemon */ + if ((ntohl(*reghdr) & PIM_NULL_REGISTER)) + goto pim_input_to_daemon; + /* * Copy the TOS from the outer IP header to the inner IP header. */ @@ -3308,11 +3312,7 @@ pim_input(struct mbuf *m, int off) m->m_data -= (iphlen + PIM_MINLEN); m->m_len += (iphlen + PIM_MINLEN); } - - /* If a NULL_REGISTER, pass it to the daemon */ - if ((ntohl(*reghdr) & PIM_NULL_REGISTER)) - goto pim_input_to_daemon; - + /* * Decapsulate the inner IP packet and loopback to forward it * as a normal multicast packet. Also, make a copy of the