bridge: mrp: Connect MRP API with the switchdev API
Implement the MRP API. In case the HW can't generate MRP Test frames then the SW will try to generate the frames. In case that also the SW will fail in generating the frames then a error is return to the userspace. The userspace is responsible to generate all the other MRP frames regardless if the test frames are generated by HW or SW. The forwarding/termination of MRP frames is happening in the kernel and is done by the MRP instance. The userspace application doesn't do the forwarding. Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
fadd409136
commit
9a9f26e8f7
29
net/bridge/br_mrp_netlink.c
Normal file
29
net/bridge/br_mrp_netlink.c
Normal file
@@ -0,0 +1,29 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <net/genetlink.h>
|
||||
|
||||
#include <uapi/linux/mrp_bridge.h>
|
||||
#include "br_private.h"
|
||||
#include "br_private_mrp.h"
|
||||
|
||||
int br_mrp_port_open(struct net_device *dev, u8 loc)
|
||||
{
|
||||
struct net_bridge_port *p;
|
||||
int err = 0;
|
||||
|
||||
p = br_port_get_rcu(dev);
|
||||
if (!p) {
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (loc)
|
||||
p->flags |= BR_MRP_LOST_CONT;
|
||||
else
|
||||
p->flags &= ~BR_MRP_LOST_CONT;
|
||||
|
||||
br_ifinfo_notify(RTM_NEWLINK, NULL, p);
|
||||
|
||||
out:
|
||||
return err;
|
||||
}
|
||||
Reference in New Issue
Block a user