mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-26 22:24:09 +08:00
9a9f26e8f7
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>
30 lines
475 B
C
30 lines
475 B
C
// 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;
|
|
}
|