TLV value field.
The type is u8.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_bridge.h | 90 +++
include/uapi/linux/rtnetlink.h | 1 +
net/bridge/Makefile| 2 +-
net/bridge/br_cfm.c
.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_bridge.h | 6 ++
net/bridge/br_cfm_netlink.c| 161 +
net/bridge/br_netlink.c| 29 +-
net/bridge/br_private.h| 6 ++
4
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
from Peer MEP.
The type is u32 (bool).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 39
on each added Peer MEP.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 23 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 260
net/bridge
received with the expected interval.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 4 +
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/br_cfm.c | 48
arding.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 33 -
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 19 -
commit of MEP implementation
(Patch 4 out of 10)
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (10):
net: bridge: extend the process of special frames
bridge: cfm: Add BRIDGE_CFM to Kconfig.
bridge: uapi: cfm: Added EtherType used by the CFM protocol.
Thank you for the review. Comments below.
The 10/19/2020 09:21, Jakub Kicinski wrote:>
> On Mon, 19 Oct 2020 08:51:04 + Henrik Bjoernlund wrote:
> > Thank you for the review. Comments below.
> >
> > The 10/15/2020 10:34, Jakub Kicinski wrote:
> > >
> &g
Thank you for the review. Comments below.
The 10/15/2020 10:34, Jakub Kicinski wrote:
>
> On Thu, 15 Oct 2020 11:54:15 + Henrik Bjoernlund wrote:
> > + [IFLA_BRIDGE_CFM_MEP_CONFIG_MDLEVEL] = {
> > + .type = NLA_U32, .validation_type = NLA_VALI
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h
received with the expected interval.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 4 +
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files
arding.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 33 -
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 19 -
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 39
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
was not freed during error handling return.
-Removed unused struct definition.
-Changed bool to u8 bitfields for space save.
-Utilizing the NETLINK policy validation feature.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (10):
net: bridge: extend the
from Peer MEP.
The type is u32 (bool).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/br_cfm.c | 48
.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_bridge.h | 6 ++
net/bridge/br_cfm_netlink.c| 161 +
net/bridge/br_netlink.c| 29 +-
net/bridge/br_private.h| 6 ++
4
on each added Peer MEP.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 23 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 278
net/bridge
TLV value field.
The type is u8.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_bridge.h | 90 +++
include/uapi/linux/rtnetlink.h | 1 +
net/bridge/Makefile| 2 +-
net/bridge/br_cfm.c
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 15:58, Jakub Kicinski wrote:>
> On Mon, 12 Oct 2020 14:04:18 + Henrik Bjoernlund wrote:
> > Connectivity Fault Management (CFM) is defined in 802.1Q section 12.14.
> >
> > Connectivity Fault Ma
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 15:59, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:23 + Henrik Bjoernlund wrote:
> > + s
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 16:16, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:24 + Henrik Bjoernlund wrote:
> > +struct
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 16:30, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:22 + Henrik Bjoernlund wrote:
> > + if (c
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 16:26, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:24 + Henrik Bjoernlund wrote:
> > + /* This
Thanks for your review. Comments below.
Regards
Henrik
The 10/14/2020 16:00, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:22 + Henrik Bjoernlund wrote:
> > with restricted
Thanks for your review. Comment below.
Regards
Henrik
The 10/14/2020 16:33, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Mon, 12 Oct 2020 14:04:26 + Henrik Bjoernlund wrote:
> > + i
received with the expected interval.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 10 ++
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files
arding.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 33 -
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 19 ---
4 files changed, 60 in
TLV value field.
The type is u8.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_bridge.h | 90 +++
include/uapi/linux/rtnetlink.h | 1 +
net/bridge/Makefile| 2 +-
net/bridge/br_cfm.c
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/br_cfm.c | 48
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 39
from Peer MEP.
The type is u32 (bool).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
list to
the
first cache line.
Helper functions nla_get_mac() and nla_get_maid() are removed.
The NLA_POLICY_NESTED() macro is used to initialize the br_cfm_policy
array.
Fixed reverse xmas tree.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (10):
.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/if_bridge.h | 6 ++
net/bridge/br_cfm_netlink.c| 161 +
net/bridge/br_netlink.c| 29 +-
net/bridge/br_private.h| 6 ++
4 files changed, 200 insertions
connectivity
status on each added Peer MEP.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/cfm_bridge.h | 23 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 278 +
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
Thanks for the review. Comments below.
The 10/09/2020 18:45, Jakub Kicinski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Fri, 9 Oct 2020 14:35:27 + Henrik Bjoernlund wrote:
> > +static inline struct mac_addr
TLV value field.
The type is u8.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/if_bridge.h | 90 +++
include/uapi/linux/rtnetlink.h | 1 +
net/bridge/Makefile| 2 +-
net/bridge/br_cfm.c| 5 +
net/bridge
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/br_cfm.c | 48
net
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h | 3 +++
3 files changed, 17
connectivity
status on each added Peer MEP.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/cfm_bridge.h | 23 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 278
net/bridge/br_if.c
NETLINK implementation split into three commits.
Commit "bridge: cfm: Bridge port remove" is merged with
commit "bridge: cfm: Kernel space implementation of CFM. MEP create/delete."
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (
received with the expected interval.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/cfm_bridge.h | 10 ++
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files changed, 311 insertions(+)
diff
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/cfm_bridge.h | 39 -
net/bridge/br_cfm.c
from Peer MEP.
The type is u32 (bool).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/if_bridge.h | 6 ++
net/bridge/br_cfm_netlink.c| 161 +
net/bridge/br_netlink.c| 29 +-
net/bridge/br_private.h| 6 ++
4 files changed, 200 insertions
arding.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 33 -
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 18 --
4 files changed, 60 in
This commit is correcting NETLINK br_fill_ifinfo() to be able to
handle 'filter_mask' with multiple flags asserted.
Fixes: 36a8e8e265420 ("bridge: Extend br_fill_ifinfo to return MPR status")
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Suggested-by: Nikolay
received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/if_bridge.h | 125 ++
include/uapi/linux/rtnetlink.h | 2 +
net/bridge/Makefile
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/br_cfm.c | 48
net
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/cfm_bridge.h | 39 -
net/bridge/br_cfm.c
ceiver state machine can be
enabled and disabled.
According to 802.1Q section 19.2.8
A MEP can have Peer MEPs added and removed by
br_cfm_cc_peer_mep_add() and br_cfm_cc_peer_mep_remove()
The Continuity Check feature can maintain connectivity
status on each added Peer MEP.
Signed-of
This is addition of CFM functionality to delete MEP instances
on a port that is removed from the bridge.
A MEP can only exist on a port that is related to a bridge.
Signed-off-by: Henrik Bjoernlund m
Reviewed-by: Horatiu Vultur
---
net/bridge/br_cfm.c | 13 +
net/bridge
//github.com/microchip-ung/cfm but it is considered to
integrate
this into 'iproute2'.
v2 -> v3
The switchdev definition and utilization has been removed as there was no
switchdev implementation.
Some compiling issues are fixed as Reported-by: kernel test robot
.
Henrik Bjoernl
received with the expected interval.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
include/uapi/linux/cfm_bridge.h | 10 ++
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files changed, 311 insertions(+)
diff
rmal forwarding.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 31 ++-
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 18 --
4 files changed, 58 in
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
Acked-by: Nikolay Aleksandrov
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
Reviewed-by: Horatiu Vultur
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h | 3 +++
3 files changed, 17
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Acked-by: Nikolay Aleksandrov
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h | 3 +++
3 files changed, 17
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_cfm.c | 48
net
received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/if_bridge.h | 125 ++
include/uapi/linux/rtnetlink.h | 2 +
net/bridge/Makefile
Signed-off-by: Henrik Bjoernlund
---
net/bridge/Makefile | 2 +-
net/bridge/br_cfm.c | 270 ++
net/bridge/br_cfm_netlink.c | 51 +++
net/bridge/br_cfm_switchdev.c | 203 +
net/bridge/br_private_cfm.h | 63
This is addition of CFM functionality to delete MEP instances
on a port that is removed from the bridge.
A MEP can only exist on a port that is related to a bridge.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund m
---
net/bridge/br_cfm.c | 13 +
net/bridge
received with the expected interval.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/cfm_bridge.h | 10 ++
net/bridge/br_cfm.c | 269
net/bridge/br_private_cfm.h | 32
3 files changed, 311 insertions(+)
diff
switchdev_port_obj_get(SWITCHDEV_OBJ_ID_MEP_STATUS_CFM)
Get Peer MEP status
switchdev_port_obj_get(SWITCHDEV_OBJ_ID_PEER_MEP_STATUS_CFM)
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/linux/if_bridge.h | 13 +
include/net/switchdev.h | 115
where required.
-Shaping up on error messages.
-Correction NETLINK br_fill_ifinfo() to be able to handle 'filter_mask'
with multiple flags asserted.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (11):
net: bridge: extend the pro
rmal forwarding.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 31 ++-
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 18 --
4 files changed, 58 in
-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/cfm_bridge.h | 23 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 263
net/bridge/br_private_cfm.h | 61
4 files changed, 349 insertions(+)
.
Must call this function before timeout to keep transmission alive.
A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/cfm_bridge.h | 39 -
net/bridge/br_cfm.c
Thanks for the review. Comments below.
The 09/04/2020 08:02, Jakub Kicinski wrote:
>
> On Fri, 4 Sep 2020 09:15:24 + Henrik Bjoernlund wrote:
> > + rcu_read_lock();
> > + b_port = rcu_dereference(mep->b_port);
> > + if (!b_port)
> > +
received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/if_bridge.h | 125 ++
include/uapi/linux/rtnetlink.h | 2 +
net/bridge/Makefile| 2 +-
net/bridge
).
When a sequence number is not one higher than previously received
then it is unexpected.
This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_cfm.c | 43 +
net/bridge/br_cfm_netlink.c | 24
This is addition of CFM functionality to delete MEP instances
on a port that is removed from the bridge.
A MEP can only exist on a port that is related to a bridge.
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_cfm.c | 13 +
net/bridge/br_if.c | 1 +
net/bridge
and 'cfm_server' programs are standalone placed in a
cfm repository https://github.com/microchip-ung/cfm but it is considered
to integrate this into 'iproute2'.
Reviewed-by: Horatiu Vultur
Signed-off-by: Henrik Bjoernlund
Henrik Bjoernlund (7):
net: bridge: exten
contain Peer MEP Continuity Check status information that
can be retrieved by br_cfm_cc_peer_status_get().
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/cfm_bridge.h | 75 +++
net/bridge/Makefile | 2 +
net/bridge/br_cfm.c | 880
This EtherType is used by all CFM protocal frames transmitted
according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
---
include/uapi/linux/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h
index
arding.
Signed-off-by: Henrik Bjoernlund
---
net/bridge/br_device.c | 1 +
net/bridge/br_input.c | 31 ++-
net/bridge/br_mrp.c | 19 +++
net/bridge/br_private.h | 18 --
4 files changed, 58 insertions(+), 11 deletions(-)
d
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.
Signed-off-by: Henrik Bjoernlund
---
net/bridge/Kconfig | 11 +++
net/bridge/br_device.c | 3 +++
net/bridge/br_private.h | 3 +++
3 files changed, 17 insertions(+)
diff --git a
ivers (since not all drivers are for device) and
> fix up references.
>
> RFC v0.1 -> RFC v1:
> - also add .txt suffix to the files which are missing it (Quentin)
>
> Signed-off-by: Jakub Kicinski
> Reviewed-by: Quentin Monnet
Looks good to me!
Acked-by: Henrik Austad
t; - Deadline aware qdisc to handle e.g. A/V streams. Applications are aware
>of time constraints and provide the packet deadline. qdisc has admission
>control. This can be a simple first comes, first served scheduler or
>something like EDF which allows optimized utilization. The qdisc sets
>the TX time depending on the deadline and feeds into the root.
As a small nitpick, it would make more sense to do a laxity-approach here,
both for explicit mode and deadline-mode. We know the size of the frame to
send, we know the outgoing rate, so keep a ready-queue sorted based on
laxity
laxity = absolute_deadline - (size / outgoing_rate)
Also, given that we use a *single* tx-queue for time-triggered
transmission, this boils down to a uniprocessor equivalent and we have a
lot of func real-time scheduling academia to draw from.
This could then probably handle both of the above (Direct + deadline), but
that's implementatino specific I guess.
> - FIFO/PRIO/XXX for general traffic. Applications do not know anything
>about timing constraints. These qdiscs obviously have neither admission
>control nor do they set a TX time. The root qdisc just pulls from there
>when the assigned time slot is due or if it (optionally) decides to use
>underutilized time slots from other classes.
>
> - Add your favourite scheduling mode(s).
Just give it sub-qdiscs and offload enqueue/dequeue to those I suppose.
--
Henrik Austad
signature.asc
Description: PGP signature
On Thu, Mar 08, 2018 at 10:06:46AM -0800, Jesus Sanchez-Palencia wrote:
> Hi,
>
>
> On 03/08/2018 06:09 AM, Henrik Austad wrote:
>
> (...)
>
> >
> > A lot of new knobs, I see the need, I would've like to have fewer, but
> > you've documented
ix is move some hw around and do a direct link, but I didn't have
time for that right now.
I'm very interested in doing what Richard's original test was when he used
ptp-synched clocks and also used hw receive-time and compared with expected
tx-time. So, while I'm getting that u
So slightly higer variance in rate when doing SW, which is as expected.
I plan to run this through some more tests tomorrow and measure variance on the
receiver etc, I'll keep you posted on my findings.
Feel free to add a tested-by though
Tested-by: Henrik Austad
and a Vehemently-supp
. Miller
Signed-off-by: Henrik Austad
---
net/core/dev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/core/dev.c b/net/core/dev.c
index fcddccb..d2b20e7 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2040,6 +2040,7 @@ int netdev_txq_to_tc(struct net_device *dev, unsigned int
; here) type.
This also answered my question in the previous patch (as to how hw
offloading can be enabled).
/me goes off to test the series
Looking good so far!
-Henrik
signature.asc
Description: PGP signature
(!nest)
> + goto nla_put_failure;
> +
> + opt.hicredit = q->hicredit;
> + opt.locredit = q->locredit;
> + opt.sendslope = q->sendslope;
> + opt.idleslope = q->idleslope;
> + opt.offload = 0;
> +
> + if (nla_put(skb, TCA_CBS_PARMS, sizeof(opt), &opt))
> + goto nla_put_failure;
> +
> + return nla_nest_end(skb, nest);
> +
> +nla_put_failure:
> + nla_nest_cancel(skb, nest);
> + return -1;
> +}
> +
> +static struct Qdisc_ops cbs_qdisc_ops __read_mostly = {
> + .id = "cbs",
> + .priv_size = sizeof(struct cbs_sched_data),
> + .enqueue= cbs_enqueue,
> + .dequeue= cbs_dequeue,
> + .peek = qdisc_peek_dequeued,
> + .init = cbs_init,
> + .reset = qdisc_reset_queue,
> + .destroy= cbs_destroy,
> + .change = cbs_change,
> + .dump = cbs_dump,
> + .owner = THIS_MODULE,
> +};
> +
> +static int __init cbs_module_init(void)
> +{
> + return register_qdisc(&cbs_qdisc_ops);
> +}
> +
> +static void __exit cbs_module_exit(void)
> +{
> + unregister_qdisc(&cbs_qdisc_ops);
> +}
> +module_init(cbs_module_init)
> +module_exit(cbs_module_exit)
> +MODULE_LICENSE("GPL");
> --
> 2.14.2
>
--
Henrik Austad
signature.asc
Description: PGP signature
is
being called when the next SO_TXTIME enters, grab a skb and move it to the
hw-queue. This should also allow you to keep a sorted per-socket queue
should an application send frames in the wrong order, without having to
rearrange descriptors for the DMA machinery.
If this makes sense, I am more than happy to give it a stab and see how it
goes.
-Henrik
signature.asc
Description: PGP signature
pps send to the same Tx-queue with the same priority, would
it not make sense to just do FIFO? For all practical purposes, they have
the same importance (same SO_PRIORITY, same SO_TXTIME). If the priority
differs, then they would be directed to different queues, where one queue
will take presedence anyway.
How far into the future would it make sense to schedule packets anyway?
I'll have a look at the other series you just posted!
--
Henrik Austad
signature.asc
Description: PGP signature
walker->count++;
> + }
> +}
> +
> +static const struct Qdisc_class_ops cbs_class_ops = {
> + .graft = cbs_graft,
> + .leaf = cbs_leaf,
> + .find = cbs_find,
> + .delete = cbs_delete,
> + .walk = cbs_walk,
> + .dump = cbs_dump_class,
> +};
> +
> +static struct Qdisc_ops cbs_qdisc_ops __read_mostly = {
> + .next = NULL,
> + .cl_ops = &cbs_class_ops,
> + .id = "cbs",
> + .priv_size = sizeof(struct cbs_sched_data),
> + .enqueue= cbs_enqueue,
> + .dequeue= cbs_dequeue,
> + .peek = qdisc_peek_dequeued,
> + .init = cbs_init,
> + .reset = cbs_reset,
> + .destroy= cbs_destroy,
> + .change = cbs_change,
> + .dump = cbs_dump,
> + .owner = THIS_MODULE,
> +};
> +
> +static int __init cbs_module_init(void)
> +{
> + return register_qdisc(&cbs_qdisc_ops);
> +}
> +
> +static void __exit cbs_module_exit(void)
> +{
> + unregister_qdisc(&cbs_qdisc_ops);
> +}
> +module_init(cbs_module_init)
> +module_exit(cbs_module_exit)
> +MODULE_LICENSE("GPL");
> --
> 2.14.1
>
--
Henrik Austad
signature.asc
Description: PGP signature
On Thu, Sep 07, 2017 at 07:58:53PM +, Guedes, Andre wrote:
> Hi Henrik,
>
> Thanks for your feedback! I'll address some of your comments below.
>
> On Thu, 2017-09-07 at 07:34 +0200, Henrik Austad wrote:
> > > As for the shapers config interface:
On Thu, Sep 07, 2017 at 05:53:15PM +0200, Richard Cochran wrote:
> On Thu, Sep 07, 2017 at 05:27:51PM +0200, Henrik Austad wrote:
> > On Thu, Sep 07, 2017 at 02:40:18PM +0200, Richard Cochran wrote:
> > And if you want to this driver to act as a bridge, how do you accomodate
> &
On Thu, Sep 07, 2017 at 02:40:18PM +0200, Richard Cochran wrote:
> On Thu, Sep 07, 2017 at 07:34:11AM +0200, Henrik Austad wrote:
> > Also, does this mean that when you create the qdisc, you have locked the
> > bandwidth for the scheduler? Meaning, if I later want to add another
1 - 100 of 157 matches
Mail list logo