kern/140051: ARP not sent through Bridge Firewall with BCE network dirver

Jean Aumont jaumont at mediagrif.com
Wed Oct 28 15:50:03 UTC 2009


>Number:         140051
>Category:       kern
>Synopsis:       ARP not sent through Bridge Firewall with BCE network dirver
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 28 15:50:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Jean Aumont
>Release:        Production Release: 7.2
>Organization:
Mediagrif Technologie Interactive
>Environment:
FreeBSD FW1 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue Oct 28 11:45:32 EDT 2009 root at FW1:/usr/obj/usr/src/GENERIC i386
>Description:
ARP request are not sent through Bridge Firewall with the BCE network dirver.

I was trying to set up a PF bridge fireall when I discover the problem.

I set-up 2 pc and make sure that they could ping each other.

Then I set-up the bridge firewall using the 2 onboard network card of my 
HP Proliant DL360 G6. The onboard card uses the BCE network driver.

I connected the 2 PC to the firewall as follow:

PC-A ...... BCE0 (Bridge Firewall) BCE1 ...... PC-B

I started to ping from PC-A to PC-B snooping the network everywhere.

On PC-A, the tcpdump was showing ARP request being sent to the BCE0 interface
of the firewall. 

On the Bridge Firewall, using tcpdump, I could see the ARP request arriving 
to the BCE0 interface.

Again on the firewall, using tcpdump, I could see the ARP request leaving 
the BCE1 interface.... it seem good !!!

At PC-B, using tcpdump, NO arp request were arriving.

The tcpdump done on the BCE1 interface of the firewall is indicating that 
it is sending the ARP, but it does not do it. 
The BCE driver must be causing the problem. 

Also note that this test was done on the stock Production Release: 7.2
witch no patch and PF disable.

I finally added a 4 ports Intel network card to the server and move the 
bridge to EM0 and EM1 and everything worked the first time I tried it.
No arp problem.

Conclusion ... the BCE driver is broken.
>How-To-Repeat:
Follow instruction above.

>Fix:
Did not look at the code ...

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list