diff options
author | kp <kp@FreeBSD.org> | 2015-09-11 17:19:24 +0000 |
---|---|---|
committer | kp <kp@FreeBSD.org> | 2015-09-11 17:19:24 +0000 |
commit | 6561e98b4c105596a44efb53466ecf8be2a3bbf3 (patch) | |
tree | 3762c5075b800d0fc1ae9da7222f7c5809a87814 /sys/dev/usb | |
parent | d9358932b481e4018c620075026307729a678352 (diff) | |
download | FreeBSD-src-6561e98b4c105596a44efb53466ecf8be2a3bbf3.zip FreeBSD-src-6561e98b4c105596a44efb53466ecf8be2a3bbf3.tar.gz |
MFC r287376
pf: Fix misdetection of forwarding when net.link.bridge.pfil_bridge is set
If net.link.bridge.pfil_bridge is set we can end up thinking we're forwarding
in pf_test6() because the rcvif and the ifp (output interface) are different.
In that case we're bridging though, and the rcvif the the bridge member on
which the packet was received and ifp is the bridge itself.
If we'd set dir to PF_FWD we'd end up calling ip6_forward() which is
incorrect.
Instead check if the rcvif is a member of the ifp bridge. (In other words, the
if_bridge is the ifp's softc). If that's the case we're not forwarding but
bridging.
PR: 202351
Diffstat (limited to 'sys/dev/usb')
0 files changed, 0 insertions, 0 deletions