diff options
author | Henrik Bjoernlund <henrik.bjoernlund@microchip.com> | 2020-10-27 11:02:42 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-10-30 02:39:43 +0100 |
commit | 90c628dd47ff4178f645b34938470bf43d02d123 (patch) | |
tree | 80bf540861d85c147f34e617b2e1499c2a7ea934 /net/bridge/br_device.c | |
parent | Merge branch 'vsock-minor-clean-up-of-ioctl-error-handling' (diff) | |
download | linux-90c628dd47ff4178f645b34938470bf43d02d123.tar.xz linux-90c628dd47ff4178f645b34938470bf43d02d123.zip |
net: bridge: extend the process of special frames
This patch extends the processing of frames in the bridge. Currently MRP
frames needs special processing and the current implementation doesn't
allow a nice way to process different frame types. Therefore try to
improve this by adding a list that contains frame types that need
special processing. This list is iterated for each input frame and if
there is a match based on frame type then these functions will be called
and decide what to do with the frame. It can process the frame then the
bridge doesn't need to do anything or don't process so then the bridge
will do normal forwarding.
Signed-off-by: Henrik Bjoernlund <henrik.bjoernlund@microchip.com>
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/bridge/br_device.c')
-rw-r--r-- | net/bridge/br_device.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index 6f742fee874a..15c6445fa998 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -454,6 +454,7 @@ void br_dev_setup(struct net_device *dev) spin_lock_init(&br->lock); INIT_LIST_HEAD(&br->port_list); INIT_HLIST_HEAD(&br->fdb_list); + INIT_HLIST_HEAD(&br->frame_type_list); #if IS_ENABLED(CONFIG_BRIDGE_MRP) INIT_LIST_HEAD(&br->mrp_list); #endif |