Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!seismo!hao!hplabs!sri-unix!lwa@mit-csr From: lwa%mit-csr@sri-unix.UUCP Newsgroups: net.unix-wizards Subject: Bug in rip_output() Message-ID: <14165@sri-arpa.UUCP> Date: Wed, 30-Nov-83 10:35:00 EST Article-I.D.: sri-arpa.14165 Posted: Wed Nov 30 10:35:00 1983 Date-Received: Sun, 4-Dec-83 03:34:31 EST Lines: 26 Index: /sys/netinet/raw_ip.c 4.2BSD Description: When performing raw internet output, the ip_off field in the internet header is never completely cleared. Although the ip_output routine later zeroes everything but the IP_DF flag, this flag may still be randomly set (depending on the previous contents of the mbuf used to hold the ip header). As a result, raw output packets larger than the maximum local net packet size may be rejected as "too large". Repeat-By: Try repeatedly sending packets larger than the maximum local net packet size using the raw interface. Some will be rejected as too large. Fix: Add the following line to the rip_output() routine in the file /sys/netinet/raw_ip.c: ip = mtod(m, struct ip *); /* add the following line */ ip->ip_off = 0; /* end of addition */ ip->ip_p = so->so_proto->pr_protocol; -Larry Allen -------