You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
can-gw: add netlink based CAN routing
This patch adds a CAN Gateway/Router to route (and modify) CAN frames.
It is based on the PF_CAN core infrastructure for msg filtering and msg
sending and can optionally modify routed CAN frames on the fly.
CAN frames can *only* be routed between CAN network interfaces (one hop).
They can be modified with AND/OR/XOR/SET operations as configured by the
netlink configuration interface known e.g. from iptables. From the netlink
view this can-gw implements RTM_{NEW|DEL|GET}ROUTE for PF_CAN.
The CAN specific userspace tool to manage CAN routing entries can be found in
the CAN utils http://svn.berlios.de/wsvn/socketcan/trunk/can-utils/cangw.c
at the SocketCAN SVN on BerliOS.
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
13225977f5
commit
c1aabdf379
@@ -40,5 +40,16 @@ config CAN_BCM
|
||||
CAN messages are used on the bus (e.g. in automotive environments).
|
||||
To use the Broadcast Manager, use AF_CAN with protocol CAN_BCM.
|
||||
|
||||
config CAN_GW
|
||||
tristate "CAN Gateway/Router (with netlink configuration)"
|
||||
depends on CAN
|
||||
default N
|
||||
---help---
|
||||
The CAN Gateway/Router is used to route (and modify) CAN frames.
|
||||
It is based on the PF_CAN core infrastructure for msg filtering and
|
||||
msg sending and can optionally modify routed CAN frames on the fly.
|
||||
CAN frames can be routed between CAN network interfaces (one hop).
|
||||
They can be modified with AND/OR/XOR/SET operations as configured
|
||||
by the netlink configuration interface known e.g. from iptables.
|
||||
|
||||
source "drivers/net/can/Kconfig"
|
||||
|
||||
@@ -10,3 +10,6 @@ can-raw-y := raw.o
|
||||
|
||||
obj-$(CONFIG_CAN_BCM) += can-bcm.o
|
||||
can-bcm-y := bcm.o
|
||||
|
||||
obj-$(CONFIG_CAN_GW) += can-gw.o
|
||||
can-gw-y := gw.o
|
||||
|
||||
+959
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user