Too short ethernet frame...

Ian Dowse iedowse at iedowse.com
Thu Aug 18 09:00:02 GMT 2005


In message <148cabbc05081722171875d31e at mail.gmail.com>, Iva Hesy writes:
>OK, now, I get the result:
>"tag=RELENG_6 date=2005.07.30.22.00.00" works fine, "tag=RELENG_6
>date=2005.07.31.03.00.00" makes noise, many many ethernet frames can
>be sniffered.
>the cvsup log:
>Updating collection src-all/cvs
> Edit src/sys/dev/mlx/mlx_pci.c
>  Add delta 1.23.2.1 2005.07.31.00.41.53 csjp
> Edit src/sys/net/bpf.c
>  Add delta 1.153.2.1 2005.07.31.00.48.18 csjp
> Edit src/sys/net/bpfdesc.h
>  Add delta 1.29.2.1 2005.07.31.00.48.18 csjp
>Shutting down connection to server
>Finished successfully
>I guess it should be bpf.c...

There appear to be some braces missed in that revision of bpf.c. Does
the following patch help?

Ian

Index: sys/net/bpf.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/net/bpf.c,v
retrieving revision 1.153.2.2
diff -u -r1.153.2.2 bpf.c
--- sys/net/bpf.c	13 Aug 2005 21:24:16 -0000	1.153.2.2
+++ sys/net/bpf.c	18 Aug 2005 08:55:49 -0000
@@ -1256,13 +1256,14 @@
 		BPFD_LOCK(d);
 		++d->bd_rcount;
 		slen = bpf_filter(d->bd_filter, (u_char *)m, pktlen, 0);
-		if (slen != 0)
+		if (slen != 0) {
 			d->bd_fcount++;
 #ifdef MAC
 			if (mac_check_bpfdesc_receive(d, bp->bif_ifp) == 0)
 #endif
 				catchpacket(d, (u_char *)m, pktlen, slen,
 				    bpf_mcopy);
+		}
 		BPFD_UNLOCK(d);
 	}
 	BPFIF_UNLOCK(bp);
@@ -1308,13 +1309,14 @@
 		BPFD_LOCK(d);
 		++d->bd_rcount;
 		slen = bpf_filter(d->bd_filter, (u_char *)&mb, pktlen, 0);
-		if (slen != 0)
+		if (slen != 0) {
 			d->bd_fcount++;
 #ifdef MAC
 			if (mac_check_bpfdesc_receive(d, bp->bif_ifp) == 0)
 #endif
 				catchpacket(d, (u_char *)&mb, pktlen, slen,
 				    bpf_mcopy);
+		}
 		BPFD_UNLOCK(d);
 	}
 	BPFIF_UNLOCK(bp);




More information about the freebsd-stable mailing list