PERFORCE change 174594 for review
Ana Kukec
anchie at FreeBSD.org
Thu Feb 11 18:01:51 UTC 2010
http://p4web.freebsd.org/chv.cgi?CH=174594
Change 174594 by anchie at anchie_malimis on 2010/02/11 18:01:39
Two small, but important bugfixes:
=> Outgoing packets that were not m_tagged with ND_PACKET_OUTGOING
tag were generating EOPNOTSUPP before the packet managed to reach the
if_output() because of the return EOPNOTSUPP was placed on the wrong
place.
=> Incoming packets, other then ND/SeND packets, in icmp6_input()
did not reach icmp6_rip6_input() because of wrong if condition.
Affected files ...
.. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#29 edit
.. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#21 edit
.. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#32 edit
Differences ...
==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#29 (text+ko) ====
@@ -941,8 +941,7 @@
}
/* deliver the packet to appropriate sockets */
- if (send_input_hook == NULL)
- icmp6_rip6_input(&m, *offp);
+ icmp6_rip6_input(&m, *offp);
return IPPROTO_DONE;
==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#21 (text+ko) ====
@@ -1903,10 +1903,8 @@
skip = 1;
nd_type = (unsigned short *)(mtag + 1);
send_input_hook(m, ifp, SND_OUT, ip6len);
- } else
- error = EOPNOTSUPP;
-
- return error;
+ return error;
+ }
}
/*
==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#32 (text+ko) ====
@@ -55,7 +55,6 @@
struct sockaddr_in6 dst;
struct icmp6_hdr *icmp6;
int icmp6len;
- int offp;
/*
* Receive incoming (SEND-protected) or outgoing traffic
@@ -113,9 +112,6 @@
return (ENOSYS);
}
- offp = sizeof (struct ip6_hdr);
- icmp6_rip6_input(&m, offp);
-
/*
* No error returned from nd6_??_input() so the only thing
* we can do is to pretend that it worked.
More information about the p4-projects
mailing list