Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 0c8d2c36 authored by Murali Karicheri's avatar Murali Karicheri
Browse files

net: ti: prueth_core: hsr/prp: add ethtool command to switch Ethenet type


PRUETH driver now supports Dual EMAC/HSR/PRP/SWITCH Ethernet types.
The user requires to switch between these Ethernet types at run time
without rebooting the device. This patch introduces Ethtool -K option to
switch the Ethernet types between Dual EMAC/HSR/PRP Ethernet types.
User first bring down the interface and then set the HSR or PRP offload
flag in the Ethernet device using ethtool -K option. Then bring up the
Ethernet interfaces and setup the HSR/PRP interface using ip link command.

For example to Switch from Dual EMAC to HSR, user do

   ifconfig eth2 down
   ifconfig eth3 down
   ifconfig eth2 hw ether <MAC Addr>
   ifconfig eth3 hw ether <MAC Addr>
   ethtool -K eth2 hsr-rx-offload on
   ethtool -K eth3 hsr-rx-offload on

Now ready to create hsr interface as

   ip link add name hsr0 type hsr slave1 eth2 slave2 eth3 supervision 45
     version 1

   Similarly to switch from Dual EMAC to prp user do similar steps

   ifconfig eth2 down
   ifconfig eth3 down
   ifconfig eth2 hw ether <MAC Addr>
   ifconfig eth3 hw ether <MAC Addr>
   ethtool -K eth2 prp-rx-offload on
   ethtool -K eth3 prp-rx-offload on

   ip link add name prp0 type hsr slave1 eth2 slave2 eth3 supervision 45
    proto 1

To switch back to Dual EMAC, user clear the respective flags through
ethtool command and bring up the interface. Switching between HSR and
PRP is done in a  similar way. First needs to reset the existing flag
and then set the new flag before creating the hsr/prp interface.

User is not allowed to switch between Switch and HSR/PRP. To switch,
user first needs to change to Dual EMAC eth type and then do the
switching of ethtype. Driver continues to support the existing method
for switching between Dual EMAC and Switch eth types.

Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
parent a9b8608a
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment