]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
ipfw: implement ngtee/netgraph actions for layer-2 frames.
authoreugen <eugen@FreeBSD.org>
Sat, 27 Oct 2018 07:32:26 +0000 (07:32 +0000)
committereugen <eugen@FreeBSD.org>
Sat, 27 Oct 2018 07:32:26 +0000 (07:32 +0000)
commitda9980e04a0f8e8f5cc08ec00f8d585e0e525144
tree85d87806fb7bd778d8f8ade2b012749931a2f1bf
parent3b50e64714f43cea365784328fddbc0daf397618
ipfw: implement ngtee/netgraph actions for layer-2 frames.

Kernel part of ipfw does not support and ignores rules other than
"pass", "deny" and dummynet-related for layer-2 (ethernet frames).
Others are processed as "pass".

Make it support ngtee/netgraph rules just like they are supported
for IP packets. For example, this allows us to mirror some frames
selectively to another interface for delivery to remote network analyzer
over RSPAN vlan. Assuming ng_ipfw(4) netgraph node has a hook named "900"
attached to "lower" hook of vlan900's ng_ether(4) node, that would be
as simple as:

ipfw add ngtee 900 ip from any to 8.8.8.8 layer2 out xmit igb0

PR: 213452
MFC after: 1 month
Tested-by: Fyodor Ustinov <ufm@ufm.su>
sys/netpfil/ipfw/ip_fw_pfil.c