mbox series

[net-next,v5,0/7] Add PRP driver

Message ID 20200722144022.15746-1-m-karicheri2@ti.com
Headers show
Series Add PRP driver | expand

Message

Murali Karicheri July 22, 2020, 2:40 p.m. UTC
Hello,

This series is dependent on the following patches sent out to
netdev list. All (1-3) are already merged to net/master as of
sending this, but not on the net-next master branch. So need
to apply them to net-next before applying this series. v3 of
the iproute2 patches can be merged to work with this series
as there are no updates since then.

[1] https://marc.info/?l=linux-netdev&m=159526378131542&w=2
[2] https://marc.info/?l=linux-netdev&m=159499772225350&w=2
[3] https://marc.info/?l=linux-netdev&m=159499772425352&w=2

This series adds support for Parallel Redundancy Protocol (PRP)
in the Linux HSR driver as defined in IEC-62439-3. PRP Uses a
Redundancy Control Trailer (RCT) the format of which is
similar to HSR Tag. This is used for implementing redundancy.
RCT consists of 6 bytes similar to HSR tag and contain following
fields:-

- 16-bit sequence number (SeqNr);
- 4-bit LAN identifier (LanId);
- 12 bit frame size (LSDUsize);
- 16-bit suffix (PRPsuffix). 

The PRPsuffix identifies PRP frames and distinguishes PRP frames
from other protocols that also append a trailer to their useful
data. The LSDUsize field allows the receiver to distinguish PRP
frames from random, nonredundant frames as an additional check.
LSDUsize is the size of the Ethernet payload inclusive of the
RCT. Sequence number along with LanId is used for duplicate
detection and discard.

PRP node is also known as Dual Attached Node (DAN-P) since it
is typically attached to two different LAN for redundancy.
DAN-P duplicates each of L2 frames and send it over the two
Ethernet links. Each outgoing frame is appended with RCT.
Unlike HSR, these are added to the end of L2 frame and will be
treated as pad by bridges and therefore would be work with
traditional bridges or switches, where as HSR wouldn't as Tag
is prefixed to the Ethenet frame. At the remote end, these are
received and the duplicate frame is discarded before the stripped
frame is send up the networking stack. Like HSR, PRP also sends
periodic Supervision frames to the network. These frames are
received and MAC address from the SV frames are populated in a
database called Node Table. The above functions are grouped into
a block called Link Redundancy Entity (LRE) in the IEC spec.

As there are many similarities between HSR and PRP protocols,
this patch re-uses the code from HSR driver to implement PRP
driver. As per feedback from the RFC series, the implementation
uses the existing HSR Netlink socket interface to create the
PRP interface by adding a new proto parameter to the ip link
command to identify the PRP protocol. iproute2 is enhanced to
implement this new parameter. The hsr_netlink.c is enhanced
to handle the new proto parameter. As suggested during the RFC
review, the driver introduced a proto_ops structure to hold
protocol specfic functions to handle HSR and PRP specific
function pointers and use them in the code based on the
protocol to handle protocol specific part differently in the
driver.

Please review this and provide me feedback so that I can work to
incorporate them and spin the next version if needed.

The patch was tested using two TI AM57x IDK boards for PRP which
are connected back to back over two CPSW Ethernet ports. 

PRP Test setup
---------------

--------eth0             eth0 --------
|AM572x|----------------------|AM572x|
|      |----------------------|      |
--------eth1             eth1 --------


To build, enable CONFIG_HSR=y or m
make omap2plus_defconfig
make zImage; make modules; make dtbs 
Copy the zImage and dtb files to the file system on SD card
and power on the AM572x boards. 
This can be tested on any platforms with 2 Ethernet interfaces.
So will appreciate if you can give it a try and provide your
Tested-by.

Command to create PRP interface
-------------------------------
ifconfig eth0 0.0.0.0 down
ifconfig eth1 0.0.0.0 down
ifconfig eth0 hw ether 70:FF:76:1C:0E:8C
ifconfig eth1 hw ether 70:FF:76:1C:0E:8C
ifconfig eth0 up
ifconfig eth1 up
ip link add name prp0 type hsr slave1 eth0 slave2 eth1 supervision 45 proto 1 
ifconfig prp0 192.168.2.10

ifconfig eth0 0.0.0.0 down
ifconfig eth1 0.0.0.0 down
ifconfig eth0 hw ether 70:FF:76:1C:0E:8D
ifconfig eth1 hw ether 70:FF:76:1C:0E:8D
ifconfig eth0 up
ifconfig eth1 up
ip link add name prp0 type hsr slave1 eth0 slave2 eth1 supervision 45 proto 1
ifconfig prp0 192.168.2.20

command to show node table
----------------------------
Ping the peer board after the prp0 interface is up.

The remote node (DAN-P) will be shown in the node table as below.

root@am57xx-evm:~# cat /sys/kernel/debug/hsr/prp0/node_table                                                
Node Table entries for (PRP) device                                                                         
MAC-Address-A,    MAC-Address-B,    time_in[A], time_in[B], Address-B port, SAN-A, SAN-B, DAN-P 
70:ff:76:1c:0e:8c 00:00:00:00:00:00   ffffe83f,   ffffe83f,              0,     0,     0,     1

Try to capture the raw PRP frames at the eth0 interface as
tcpdump -i eth0 -xxx

Sample Supervision frames and ARP frames shown below.

==================================================================================
Successive Supervision frames captured with tcpdump (with RCT at the end):

03:43:29.500999 70:ff:76:1c:0e:8d (oui Unknown) > 01:15:4e:00:01:2d (oui Unknown), ethertype Unknown (0x88f 
        0x0000:  0115 4e00 012d 70ff 761c 0e8d 88fb 0001                                                    
        0x0010:  7e0a 1406 70ff 761c 0e8d 0000 0000 0000                                                    
        0x0020:  0000 0000 0000 0000 0000 0000 0000 0000                                                    
        0x0030:  0000 0000 0000 0000 0000 0000 fc2b a034                                                    
        0x0040:  88fb         
                   
03:43:31.581025 70:ff:76:1c:0e:8d (oui Unknown) > 01:15:4e:00:01:2d (oui Unknown), ethertype Unknown (0x88f 
        0x0000:  0115 4e00 012d 70ff 761c 0e8d 88fb 0001                                                    
        0x0010:  7e0b 1406 70ff 761c 0e8d 0000 0000 0000                                                    
        0x0020:  0000 0000 0000 0000 0000 0000 0000 0000                                                    
        0x0030:  0000 0000 0000 0000 0000 0000 fc2c a034                                                    
        0x0040:  88fb                                                                                       

ICMP Echo request frame with RCT
03:43:33.805354 IP 192.168.2.20 > 192.168.2.10: ICMP echo request, id 63748, seq 1, length 64               
        0x0000:  70ff 761c 0e8c 70ff 761c 0e8d 0800 4500                                                    
        0x0010:  0054 26a4 4000 4001 8e96 c0a8 0214 c0a8                                                    
        0x0020:  020a 0800 c28e f904 0001 202e 1c3d 0000                                                    
        0x0030:  0000 0000 0000 0000 0000 0000 0000 0000                                                    
        0x0040:  0000 0000 0000 0000 0000 0000 0000 0000                                                    
        0x0050:  0000 0000 0000 0000 0000 0000 0000 0000                                                    
        0x0060:  0000 fc31 a05a 88fb                                      
==================================================================================
The iperf3 traffic test logs can be accessed at the links below.
DUT-1: https://pastebin.ubuntu.com/p/8SkQzWJMn8/
DUT-2: https://pastebin.ubuntu.com/p/j2BZvvs7p4/

Other tests done.
 - Connect a SAN (eth0 and eth1 without prp interface) and
   do ping test from eth0 (192.168.2.40) to prp0 (192.168.2.10)
   verify the SAN node shows at the correct link A and B as shown
   in the node table dump
 - Regress HSR interface using 3 nodes connected in a ring topology.
   create hsr link version 0. Do iperf3 test between all nodes
   create hsr link version 1. Do iperf3 test between all nodes.

         --------eth0             eth1 --------eth0      eth1-------|
         |AM572x|----------------------|AM572x|--------------|AM572x|
         |      |                      |      |        ------|      |
         --------eth1---|               -------        | eth0 ------- 
                        |-------------------------------

   command used for HSR interface

   HSR V0

   ifconfig eth0 0.0.0.0 down
   ifconfig eth1 0.0.0.0 down
   ifconfig eth0 hw ether 70:FF:76:1C:0E:8C
   ifconfig eth1 hw ether 70:FF:76:1C:0E:8C
   ifconfig eth0 up
   ifconfig eth1 up
   ip link add name hsr0 type hsr slave1 eth0 slave2 eth1 supervision 45 version 0
   ifconfig hsr0 192.168.2.10

   HSR V1

   ifconfig eth0 0.0.0.0 down
   ifconfig eth1 0.0.0.0 down
   ifconfig eth0 hw ether 70:FF:76:1C:0E:8C
   ifconfig eth1 hw ether 70:FF:76:1C:0E:8C
   ifconfig eth0 up
   ifconfig eth1 up
   ip link add name hsr0 type hsr slave1 eth0 slave2 eth1 supervision 45 version 1
   ifconfig hsr0 192.168.2.10

   Logs at
   DUT-1 : https://pastebin.ubuntu.com/p/6PSJbZwQ6y/
   DUT-2 : https://pastebin.ubuntu.com/p/T8TqJsPRHc/
   DUT-3 : https://pastebin.ubuntu.com/p/VNzpv6HzKj/
 - Build tests :-
   Build with CONFIG_HSR=m
   allmodconfig build
   build with CONFIG_HSR=y and rebuild with sparse checker
   make C=1 zImage; make modules

Version history:
  v5 : Fixed comments about Kconfig changes on Patch 1/7 against v4
       Rebased to netnext/master branch.

  v4 : fixed following vs v3
       reverse xmas tree for local variables
       check for return type in call to skb_put_padto()

  v3 : Separated bug fixes from this series and send them for immediate merge
       But for that this is same as v2.
 
  v2 : updated comments on RFC. Following are the main changes:-
       - Removed the hsr_prp prefix
       - Added PRP information in header files to indicate 
         the support for PRP explicitely
       - Re-use netlink socket interface with an added 
         parameter proto for identifying PRP.
       - Use function pointers using a proto_ops struct
         to do things differently for PRP vs HSR.

   RFC: initial version posted and discussed at 
       https://www.spinics.net/lists/netdev/msg656229.html

Murali Karicheri (7):
  hsr: enhance netlink socket interface to support PRP
  net: hsr: introduce common code for skb initialization
  net: hsr: introduce protocol specific function pointers
  net: prp: add supervision frame generation utility function
  net: hsr: define and use proto_ops ptrs to handle hsr specific frames
  net: prp: add packet handling support
  net: prp: enhance debugfs to display PRP info

 include/uapi/linux/hsr_netlink.h |   2 +-
 include/uapi/linux/if_link.h     |  12 +-
 net/hsr/Kconfig                  |  35 ++--
 net/hsr/hsr_debugfs.c            |  33 +++-
 net/hsr/hsr_device.c             | 181 ++++++++++++++----
 net/hsr/hsr_device.h             |   2 +
 net/hsr/hsr_forward.c            | 313 ++++++++++++++++++++++++-------
 net/hsr/hsr_forward.h            |  16 +-
 net/hsr/hsr_framereg.c           |  95 ++++++++--
 net/hsr/hsr_framereg.h           |  31 ++-
 net/hsr/hsr_main.c               |   2 +
 net/hsr/hsr_main.h               | 120 +++++++++++-
 net/hsr/hsr_netlink.c            |  38 +++-
 net/hsr/hsr_netlink.h            |   2 +
 net/hsr/hsr_slave.c              |  26 ++-
 net/hsr/hsr_slave.h              |   4 +
 16 files changed, 743 insertions(+), 169 deletions(-)

-- 
2.17.1

Comments

Murali Karicheri July 24, 2020, 12:27 p.m. UTC | #1
Hi Dave,

On 7/22/20 10:40 AM, Murali Karicheri wrote:
> Hello,

> 

> This series is dependent on the following patches sent out to

> netdev list. All (1-3) are already merged to net/master as of

> sending this, but not on the net-next master branch. So need

> to apply them to net-next before applying this series. v3 of

> the iproute2 patches can be merged to work with this series

> as there are no updates since then.

> 

> [1] https://marc.info/?l=linux-netdev&m=159526378131542&w=2

> [2] https://marc.info/?l=linux-netdev&m=159499772225350&w=2

> [3] https://marc.info/?l=linux-netdev&m=159499772425352&w=2

> 

> This series adds support for Parallel Redundancy Protocol (PRP)

> in the Linux HSR driver as defined in IEC-62439-3. PRP Uses a

> Redundancy Control Trailer (RCT) the format of which is

> similar to HSR Tag. This is used for implementing redundancy.

> RCT consists of 6 bytes similar to HSR tag and contain following

> fields:-

> 

> - 16-bit sequence number (SeqNr);

> - 4-bit LAN identifier (LanId);

> - 12 bit frame size (LSDUsize);

> - 16-bit suffix (PRPsuffix).

> 

> The PRPsuffix identifies PRP frames and distinguishes PRP frames

> from other protocols that also append a trailer to their useful

> data. The LSDUsize field allows the receiver to distinguish PRP

> frames from random, nonredundant frames as an additional check.

> LSDUsize is the size of the Ethernet payload inclusive of the

> RCT. Sequence number along with LanId is used for duplicate

> detection and discard.

> 

> PRP node is also known as Dual Attached Node (DAN-P) since it

> is typically attached to two different LAN for redundancy.

> DAN-P duplicates each of L2 frames and send it over the two

> Ethernet links. Each outgoing frame is appended with RCT.

> Unlike HSR, these are added to the end of L2 frame and will be

> treated as pad by bridges and therefore would be work with

> traditional bridges or switches, where as HSR wouldn't as Tag

> is prefixed to the Ethenet frame. At the remote end, these are

> received and the duplicate frame is discarded before the stripped

> frame is send up the networking stack. Like HSR, PRP also sends

> periodic Supervision frames to the network. These frames are

> received and MAC address from the SV frames are populated in a

> database called Node Table. The above functions are grouped into

> a block called Link Redundancy Entity (LRE) in the IEC spec.

> 

> As there are many similarities between HSR and PRP protocols,

> this patch re-uses the code from HSR driver to implement PRP

> driver. As per feedback from the RFC series, the implementation

> uses the existing HSR Netlink socket interface to create the

> PRP interface by adding a new proto parameter to the ip link

> command to identify the PRP protocol. iproute2 is enhanced to

> implement this new parameter. The hsr_netlink.c is enhanced

> to handle the new proto parameter. As suggested during the RFC

> review, the driver introduced a proto_ops structure to hold

> protocol specfic functions to handle HSR and PRP specific

> function pointers and use them in the code based on the

> protocol to handle protocol specific part differently in the

> driver.

> 

> Please review this and provide me feedback so that I can work to

> incorporate them and spin the next version if needed.

> 

> The patch was tested using two TI AM57x IDK boards for PRP which

> are connected back to back over two CPSW Ethernet ports.

> 

> PRP Test setup

> ---------------

> 

> --------eth0             eth0 --------

> |AM572x|----------------------|AM572x|

> |      |----------------------|      |

> --------eth1             eth1 --------

> 

> 

> To build, enable CONFIG_HSR=y or m

> make omap2plus_defconfig

> make zImage; make modules; make dtbs

> Copy the zImage and dtb files to the file system on SD card

> and power on the AM572x boards.

> This can be tested on any platforms with 2 Ethernet interfaces.

> So will appreciate if you can give it a try and provide your

> Tested-by.

> 

> Command to create PRP interface

> -------------------------------

> ifconfig eth0 0.0.0.0 down

> ifconfig eth1 0.0.0.0 down

> ifconfig eth0 hw ether 70:FF:76:1C:0E:8C

> ifconfig eth1 hw ether 70:FF:76:1C:0E:8C

> ifconfig eth0 up

> ifconfig eth1 up

> ip link add name prp0 type hsr slave1 eth0 slave2 eth1 supervision 45 proto 1

> ifconfig prp0 192.168.2.10

> 

> ifconfig eth0 0.0.0.0 down

> ifconfig eth1 0.0.0.0 down

> ifconfig eth0 hw ether 70:FF:76:1C:0E:8D

> ifconfig eth1 hw ether 70:FF:76:1C:0E:8D

> ifconfig eth0 up

> ifconfig eth1 up

> ip link add name prp0 type hsr slave1 eth0 slave2 eth1 supervision 45 proto 1

> ifconfig prp0 192.168.2.20

> 

> command to show node table

> ----------------------------

> Ping the peer board after the prp0 interface is up.

> 

> The remote node (DAN-P) will be shown in the node table as below.

> 

> root@am57xx-evm:~# cat /sys/kernel/debug/hsr/prp0/node_table

> Node Table entries for (PRP) device

> MAC-Address-A,    MAC-Address-B,    time_in[A], time_in[B], Address-B port, SAN-A, SAN-B, DAN-P

> 70:ff:76:1c:0e:8c 00:00:00:00:00:00   ffffe83f,   ffffe83f,              0,     0,     0,     1

> 

> Try to capture the raw PRP frames at the eth0 interface as

> tcpdump -i eth0 -xxx

> 

> Sample Supervision frames and ARP frames shown below.

> 

> ==================================================================================

> Successive Supervision frames captured with tcpdump (with RCT at the end):

> 

> 03:43:29.500999 70:ff:76:1c:0e:8d (oui Unknown) > 01:15:4e:00:01:2d (oui Unknown), ethertype Unknown (0x88f

>          0x0000:  0115 4e00 012d 70ff 761c 0e8d 88fb 0001

>          0x0010:  7e0a 1406 70ff 761c 0e8d 0000 0000 0000

>          0x0020:  0000 0000 0000 0000 0000 0000 0000 0000

>          0x0030:  0000 0000 0000 0000 0000 0000 fc2b a034

>          0x0040:  88fb

>                     

> 03:43:31.581025 70:ff:76:1c:0e:8d (oui Unknown) > 01:15:4e:00:01:2d (oui Unknown), ethertype Unknown (0x88f

>          0x0000:  0115 4e00 012d 70ff 761c 0e8d 88fb 0001

>          0x0010:  7e0b 1406 70ff 761c 0e8d 0000 0000 0000

>          0x0020:  0000 0000 0000 0000 0000 0000 0000 0000

>          0x0030:  0000 0000 0000 0000 0000 0000 fc2c a034

>          0x0040:  88fb

> 

> ICMP Echo request frame with RCT

> 03:43:33.805354 IP 192.168.2.20 > 192.168.2.10: ICMP echo request, id 63748, seq 1, length 64

>          0x0000:  70ff 761c 0e8c 70ff 761c 0e8d 0800 4500

>          0x0010:  0054 26a4 4000 4001 8e96 c0a8 0214 c0a8

>          0x0020:  020a 0800 c28e f904 0001 202e 1c3d 0000

>          0x0030:  0000 0000 0000 0000 0000 0000 0000 0000

>          0x0040:  0000 0000 0000 0000 0000 0000 0000 0000

>          0x0050:  0000 0000 0000 0000 0000 0000 0000 0000

>          0x0060:  0000 fc31 a05a 88fb

> ==================================================================================

> The iperf3 traffic test logs can be accessed at the links below.

> DUT-1: https://pastebin.ubuntu.com/p/8SkQzWJMn8/

> DUT-2: https://pastebin.ubuntu.com/p/j2BZvvs7p4/

> 

> Other tests done.

>   - Connect a SAN (eth0 and eth1 without prp interface) and

>     do ping test from eth0 (192.168.2.40) to prp0 (192.168.2.10)

>     verify the SAN node shows at the correct link A and B as shown

>     in the node table dump

>   - Regress HSR interface using 3 nodes connected in a ring topology.

>     create hsr link version 0. Do iperf3 test between all nodes

>     create hsr link version 1. Do iperf3 test between all nodes.

> 

>           --------eth0             eth1 --------eth0      eth1-------|

>           |AM572x|----------------------|AM572x|--------------|AM572x|

>           |      |                      |      |        ------|      |

>           --------eth1---|               -------        | eth0 -------

>                          |-------------------------------

> 

>     command used for HSR interface

> 

>     HSR V0

> 

>     ifconfig eth0 0.0.0.0 down

>     ifconfig eth1 0.0.0.0 down

>     ifconfig eth0 hw ether 70:FF:76:1C:0E:8C

>     ifconfig eth1 hw ether 70:FF:76:1C:0E:8C

>     ifconfig eth0 up

>     ifconfig eth1 up

>     ip link add name hsr0 type hsr slave1 eth0 slave2 eth1 supervision 45 version 0

>     ifconfig hsr0 192.168.2.10

> 

>     HSR V1

> 

>     ifconfig eth0 0.0.0.0 down

>     ifconfig eth1 0.0.0.0 down

>     ifconfig eth0 hw ether 70:FF:76:1C:0E:8C

>     ifconfig eth1 hw ether 70:FF:76:1C:0E:8C

>     ifconfig eth0 up

>     ifconfig eth1 up

>     ip link add name hsr0 type hsr slave1 eth0 slave2 eth1 supervision 45 version 1

>     ifconfig hsr0 192.168.2.10

> 

>     Logs at

>     DUT-1 : https://pastebin.ubuntu.com/p/6PSJbZwQ6y/

>     DUT-2 : https://pastebin.ubuntu.com/p/T8TqJsPRHc/

>     DUT-3 : https://pastebin.ubuntu.com/p/VNzpv6HzKj/

>   - Build tests :-

>     Build with CONFIG_HSR=m

>     allmodconfig build

>     build with CONFIG_HSR=y and rebuild with sparse checker

>     make C=1 zImage; make modules

> 

> Version history:

>    v5 : Fixed comments about Kconfig changes on Patch 1/7 against v4

>         Rebased to netnext/master branch.

> 

>    v4 : fixed following vs v3

>         reverse xmas tree for local variables

>         check for return type in call to skb_put_padto()

> 

>    v3 : Separated bug fixes from this series and send them for immediate merge

>         But for that this is same as v2.

>   

>    v2 : updated comments on RFC. Following are the main changes:-

>         - Removed the hsr_prp prefix

>         - Added PRP information in header files to indicate

>           the support for PRP explicitely

>         - Re-use netlink socket interface with an added

>           parameter proto for identifying PRP.

>         - Use function pointers using a proto_ops struct

>           to do things differently for PRP vs HSR.

> 

>     RFC: initial version posted and discussed at

>         https://www.spinics.net/lists/netdev/msg656229.html

> 

> Murali Karicheri (7):

>    hsr: enhance netlink socket interface to support PRP

>    net: hsr: introduce common code for skb initialization

>    net: hsr: introduce protocol specific function pointers

>    net: prp: add supervision frame generation utility function

>    net: hsr: define and use proto_ops ptrs to handle hsr specific frames

>    net: prp: add packet handling support

>    net: prp: enhance debugfs to display PRP info

> 

>   include/uapi/linux/hsr_netlink.h |   2 +-

>   include/uapi/linux/if_link.h     |  12 +-

>   net/hsr/Kconfig                  |  35 ++--

>   net/hsr/hsr_debugfs.c            |  33 +++-

>   net/hsr/hsr_device.c             | 181 ++++++++++++++----

>   net/hsr/hsr_device.h             |   2 +

>   net/hsr/hsr_forward.c            | 313 ++++++++++++++++++++++++-------

>   net/hsr/hsr_forward.h            |  16 +-

>   net/hsr/hsr_framereg.c           |  95 ++++++++--

>   net/hsr/hsr_framereg.h           |  31 ++-

>   net/hsr/hsr_main.c               |   2 +

>   net/hsr/hsr_main.h               | 120 +++++++++++-

>   net/hsr/hsr_netlink.c            |  38 +++-

>   net/hsr/hsr_netlink.h            |   2 +

>   net/hsr/hsr_slave.c              |  26 ++-

>   net/hsr/hsr_slave.h              |   4 +

>   16 files changed, 743 insertions(+), 169 deletions(-)

> 

If there are no more comments, can we consider merging this to
net-next? I could re-base and repost if there is any conflict.

Thanks and regards,
-- 
Murali Karicheri
Texas Instruments
David Miller July 24, 2020, 10:21 p.m. UTC | #2
From: Murali Karicheri <m-karicheri2@ti.com>

Date: Fri, 24 Jul 2020 08:27:01 -0400

> If there are no more comments, can we consider merging this to

> net-next? I could re-base and repost if there is any conflict.


I can't apply them until I next merge net into net-next, and I don't
know exactly when that will happen yet.

It'd also be nice to get some review and ACK's on this series
meanwhile.
Murali Karicheri July 27, 2020, 11:22 a.m. UTC | #3
Dave,

On 7/24/20 6:21 PM, David Miller wrote:
> From: Murali Karicheri <m-karicheri2@ti.com>

> Date: Fri, 24 Jul 2020 08:27:01 -0400

> 

>> If there are no more comments, can we consider merging this to

>> net-next? I could re-base and repost if there is any conflict.

> 

> I can't apply them until I next merge net into net-next, and I don't

> know exactly when that will happen yet.

> 

> It'd also be nice to get some review and ACK's on this series

> meanwhile.

> 

OK. Thanks.
-- 
Murali Karicheri
Texas Instruments
David Miller July 27, 2020, 7:21 p.m. UTC | #4
From: Murali Karicheri <m-karicheri2@ti.com>

Date: Wed, 22 Jul 2020 10:40:15 -0400

> This series is dependent on the following patches sent out to

> netdev list. All (1-3) are already merged to net/master as of

> sending this, but not on the net-next master branch. So need

> to apply them to net-next before applying this series. v3 of

> the iproute2 patches can be merged to work with this series

> as there are no updates since then.

> 

> [1] https://marc.info/?l=linux-netdev&m=159526378131542&w=2

> [2] https://marc.info/?l=linux-netdev&m=159499772225350&w=2

> [3] https://marc.info/?l=linux-netdev&m=159499772425352&w=2

> 

> This series adds support for Parallel Redundancy Protocol (PRP)

> in the Linux HSR driver as defined in IEC-62439-3. PRP Uses a

> Redundancy Control Trailer (RCT) the format of which is

> similar to HSR Tag. This is used for implementing redundancy.

 ...

Series applied to net-next, thank you.
Murali Karicheri July 30, 2020, 1:41 p.m. UTC | #5
Hi Dave,

On 7/27/20 3:21 PM, David Miller wrote:
> From: Murali Karicheri <m-karicheri2@ti.com>

> Date: Wed, 22 Jul 2020 10:40:15 -0400

> 

>> This series is dependent on the following patches sent out to

>> netdev list. All (1-3) are already merged to net/master as of

>> sending this, but not on the net-next master branch. So need

>> to apply them to net-next before applying this series. v3 of

>> the iproute2 patches can be merged to work with this series

>> as there are no updates since then.

>>

>> [1] https://marc.info/?l=linux-netdev&m=159526378131542&w=2

>> [2] https://marc.info/?l=linux-netdev&m=159499772225350&w=2

>> [3] https://marc.info/?l=linux-netdev&m=159499772425352&w=2

>>

>> This series adds support for Parallel Redundancy Protocol (PRP)

>> in the Linux HSR driver as defined in IEC-62439-3. PRP Uses a

>> Redundancy Control Trailer (RCT) the format of which is

>> similar to HSR Tag. This is used for implementing redundancy.

>   ...

> 

> Series applied to net-next, thank you.

> 

Thanks for applying this series. Just wondering who will
pick up the v3 of the iproute2 patch I have posted to go
with this.

https://marc.info/?l=linux-netdev&m=159499933326135&w=2

I will reply to that thread as well.

Thanks
-- 
Murali Karicheri
Texas Instruments
Murali Karicheri Aug. 4, 2020, 7:03 p.m. UTC | #6
Hi Dave,

On 7/30/20 9:41 AM, Murali Karicheri wrote:
> Hi Dave,

> 

> On 7/27/20 3:21 PM, David Miller wrote:

>> From: Murali Karicheri <m-karicheri2@ti.com>

>> Date: Wed, 22 Jul 2020 10:40:15 -0400

>>

>>> This series is dependent on the following patches sent out to

>>> netdev list. All (1-3) are already merged to net/master as of

>>> sending this, but not on the net-next master branch. So need

>>> to apply them to net-next before applying this series. v3 of

>>> the iproute2 patches can be merged to work with this series

>>> as there are no updates since then.

>>>

>>> [1] https://marc.info/?l=linux-netdev&m=159526378131542&w=2

>>> [2] https://marc.info/?l=linux-netdev&m=159499772225350&w=2

>>> [3] https://marc.info/?l=linux-netdev&m=159499772425352&w=2

>>>

>>> This series adds support for Parallel Redundancy Protocol (PRP)

>>> in the Linux HSR driver as defined in IEC-62439-3. PRP Uses a

>>> Redundancy Control Trailer (RCT) the format of which is

>>> similar to HSR Tag. This is used for implementing redundancy.

>>   ...

>>

>> Series applied to net-next, thank you.

>>

> Thanks for applying this series. Just wondering who will

> pick up the v3 of the iproute2 patch I have posted to go

> with this.

>May I know who will merge the below series to go with this

PRP kernel series?

Thanks

Murali
> https://marc.info/?l=linux-netdev&m=159499933326135&w=2

> 

> I will reply to that thread as well.

> 

> Thanks


-- 
Murali Karicheri
Texas Instruments