The NetBSD Project

CVS log for src/sys/netinet/ip_input.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / netinet

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: fvdl-softdep


Revision 1.93.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:42:13 1999 UTC (15 years ago) by fvdl
Branch: fvdl-softdep
Changes since 1.93: +6 -1 lines
Diff to previous 1.93 (colored) next main 1.94 (colored)

Sync with -current

Revision 1.93 / (download) - annotate - [select for diffs], Sun Oct 17 16:00:00 1999 UTC (15 years, 1 month ago) by sommerfeld
Branch: MAIN
Branch point for: thorpej_scsipi, fvdl-softdep
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

In ip_forward():

Avoid forwarding ip unicast packets which were contained inside
link-level multicast packets; having M_MCAST still set in the packet
header flags will mean that the packet will get multicast to a bogus
group instead of unicast to the next hop.

Malformed packets like this have occasionally been spotted "in the
wild" on a mediaone cable modem segment which also had multiple netbsd
machines running as router/NAT boxes.

Without this, any subnet with multiple netbsd routers receiving all
multicasts will generate a packet storm on receipt of such a
multicast.  Note that we already do the same check here for link-level
broadcasts; ip6_forward already does this as well.

Note that multicast forwarding does not go through ip_forward().

Adding some code to if_ethersubr to sanity check link-level
vs. ip-level multicast addresses might also be worthwhile.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>