This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5708: RSTP performance issue in AM57xx IDK

Part Number: AM5708
Other Parts Discussed in Thread: AM5728

Hi:

     I have a custom AM5708 based board with SDK6.02.

I have 2 ethernet ports managed by PRU2 and have configured them in RSTP mode (see script attached).

I have an RSTP ring with 2 off-the-self switches plus my board and have connected a PC to one of the switch

to ping my board and inject high ethernet traffic with brodcast messages (attached is the source code of the injector).

If I don´t inject high traffic in the ring, my board works fine from the RSTP point of view every time I plug or unplug the cable.

But if I inject high ethernet traffic after unplugging and plugging back one port gets stuck in BLOCKING state cable is plugged

or DISABLED state if cable is unplugged. There is no way of getting out of this state rather than rerunning again the RSTP script.

I have gone through the kernel source code and put some printk messages (see attached file) to understand the RSTP behavior

when low and high traffic. As a summary it seems that it does not receive RTM_SETLINK message from rtnetlink.

I have tried the same scenario with AM57xx IDK with SDK6.02 and it takes longer to make it fail but finally one port gets blocked.

Regards

Billa

�7zXZ�ִF!t/��K��]3���fz�]�=&�>"�	��3���s[�.�y�6;:��y֒�㸠�s��'S-�,��p�Åw��:[��➑e2���#p^�*�=�<��R��xf�R!��gO�V��_@��s�S-Ü0��'������$u�u���/���{!��Y
^
wa���	eU���ȋ�L'�ÿ�yMY�;1�e��-�ꇡ0Ӈ��jw�JT�r��1��t��!�S|]G��<!�a�OX/��>�N�~&�I'����}T��Ì�&\`�X�9}(�h�×����
������D�T���-dT��x�7|Z	YyCf�	I�g���1%��݆\��|��a�Y�Q���N�Ej,��_f��u�!�{��h2��I^S�w��Lc$z���н�	(Ϗ�@���'����G�����+��H���8�q��.��	���j7�A��v|N�.Q����C��ۄòß�%Lf�ץ�� �}{�5�s�����mpK�9�������C-?���ܘvg�R�q�ICB%5��}f�d����K3(iqɾ�GzO��|��֥��^�Z���#:��-�5	Ob�
9�O���s�(��.h`�^�S�h�Ϙ�>ȴ"
(>C�/�t�=�b�����8%X�n���7ە��ӏ���Ec؀&m��Ŵٺ����f�e�G��gU�T���y���U��R�Դş�q	�F��HYξ	�X����c��C�'<4ЋZ|zsg��*q5R���g�f0��
�\���G�9����r@�3�P��Z
9f�R�\��G�������z�k�fC�s��A#g�.����T0nAx�h�{���3dL&�S:�e��"��Cj�Q���O��908�O#�yAez��Jo���nJ�5�0
���Jw.��h��T��۳��©�7��M`�g��'�bw���M�YЉ����"�|TKԈ�;��g��/��T�.X0����U2����^��/);��� ���+�-%s�(��0�'�u<ܸI�1�MX5B�D����|�n�{BQ�|B���ly+���_U!��$��j�w(˗DT�����H�O��i� 0�w�OT��&�kO������M=�plP�[�h��S@](�Li[k{*�"{��1��>"Tƀ�3JƲM��f���Z��L��
�Z;��Xn��nYz�m��堵��������j¨l�S�p��޳�{��`z6c�^��<���Kdg���pP�}��0 �\����Yk+���g��O��#��%vK�����u��]�V����Hu��׮� �-�rP��I�K��[���1^�>�m�qP�3���pE���{a8yC5��s���.9�����"�{}���dv����QQ��U��/����4Q�2�l���K�$f�k��S\t�7�1\�o����~X���aɱ������r��D]����0ɥb�������L�~ʫ�}�W���F$��������нGbu�n+��#ܶ���b
u�-x���ϗ|��	T�(��I�LH2�H���&���$4v��䴂L*{˔���tw���"ч�~Q�����`I�0?�({/���֞'�3���ft_�:�!w��nDXL�
�L�����o�,�&�R*��H�=�t�:���>�p5�AT�\�	�$ha�H}��Uue�*��LY8�g�=��(^�̼(��4S�l��lr�[���Td>�E�^];�H��YCf�ODOП�W�̖����n�"���z(�r8v�AZ
���﷞�h�j!鞒�%�������Q��r��0�����吙L#�|���x�>r�d|:?�ls��u��:�4�3�'V�mC��qʚ�Ԣ�Iؿ�H��zx�b��h�M����*ʀ@�Qͺ�i�)����(#ZD='��4��Z�#=��ʷrC��������:�)�j�d?Ω6���ח�?C�E��#�O'g����a�􆌯���H,���]�PZ���#8W������E��7�U#7��0"q6�3�KUu��xy�'^�1�"���ѿ-�Ӎ�V�V���n
�|��zR~�e�\��-���")��vV�6k+�ց�w/du]G��9o��Hؑ>���T+?��M��Î�@[�r���|Q�aX�@ej��9�(z=�����h�+y���b�L"v���r8}@!x��W<P+�*�'h1�a{�(��b�Ug2.��G��B�i��=.8�0���l&ȟFa`������1��a��ᖣfE�n���|!r�.�q5QN	X,�'��	=�(�~ij���Q¦'��+���翷�B#�l[Em�EIE?��)0ϛ�a[��w�_H�x�N}���@�BoR��o&��l�Q�	ŒE9b_���H).n�$2jy�=AS�%;�t�0�9K����&��өvu!on- :9V#���G��]tl���PR���և0Q�5���9ad���׽��$�g��K2�8��ΘI������p�Q�,������Y LXd��R�u_p��fH�[���Ô�r��*�����g-�U�h���[�A��4bm5�>��)j������x�f�.gܒ*���ӎ� i�$�ן 
��O�Ig�íNJ����&�������d�xm�>�RD�C�}��3S�Q������S[�κ���1���.*|�L?�V����X�g�����4�.��v!ef*�|xH�֛O4��4\a�]G�7cEaQ`�p���@>B���~Q��
-����9-�NeLeH����f=Z�Ĩ�9���`���S�[�KD�E��3�p�B��c��#*��2b� ��j���*K�;�6�i���';��+3<g
p�¥=����<���y�C�=����8�zoo�u!�#q�1�t�0�:E��5&� �����>,��/6�
gF���jO;&j�Oy�~���� c�&	�^\T]�՘���l9:�-×��xT�
����r�"�,�����gCF/�������]�m�_IYv��J�^w�4�( �.��a�ݧ�X1�?̣�;X}1�!�i���6�'Hs��Pb��Pc�A9�۽C���)f,Q:���^�k��b�u�R�1�'�OK�ϭK\Y	S`�Fn�=�j`�Bư�P+C!8"7��W<��gc�MM��%���`�����uE'�Ұx��OBQ^��l���!}޹�@+���'�2��\�k�J{<n�IX+p|;�£�`�36�@��%���}�~�Z`m7,̂��Z��{[t�����t=ų}�li���Y�ҡ�%���P��F������/T�^S�c��td0<Ë��܉����cJ��	.H
U�*w=b!���.)�2S���V�=b������e�k�G�I��F�9��!��7q�-��TH��H���ý)�O7��px�L��	��x6l��^xg�X�
W#N�MM��ȳ�B�7 �k�]F�l���f�4�W"@�2�����L<�%F�w��(t~���A���$W�^I����)��Ps6=�D�>���X��6��CbKa(��:�C�t�Œ�����?^��>�ޟ���Z��y��0�(L��y0���7$�mj�`r7W�tp���7�1	,��	TP��F�E,?�����X^�B釖Z��;k{�4���.pLB@j�X�DH!�8�HqP�O��)P�햕�V��I��^:I!��+7�.v���:���|�\*3��x��7Ԕ��>_��o����E`m��C�փ���ܾ�Lji��\�����.5����ZY�t�M�}6��a��C�סk����}���,Ӯ��:K��t@��ɴ��;	_��*�&4A~$�܌eGl}�|��<��T�3^X�5"��9 ���Y25���N��v�/��v�#��������v�
ʲ�O�
���ĬN+�0C	-R�����c0�ӭ6�����}�]�Җ\ F�O�
Ĝ2Jq��sD��;����Ǒ ��m+V˘�ăJ&a�I�Y���Ր�?�8�T��{���m��L+�CS*��j�����<K�6W�'狞��r�cCq�oTf�-���t��3u8���!��^�����\7�K#F��N��5y�`�&��:dI�5�U��]u쟚�{�i��%V��?#>���3��Cq�
zk1a�|�U�y��4W#,R#Tȩ�J�i�"�
'4�?dj�Dl�ɴ��������������8|	{��<�D��a�uΆw��NT��츥qK�8�S�r0zO$Xc�C��V�h���4�@J����w�5%���V�<W�l�Vs����Z�>����tB���{܋�)t��
�i�F��l�q��!͆�tҵp>
����3�j�F��
���K��Dk��(X�� )�ƫ��\�US��0����������/[��-*�D�b�%�q�n6�#���e|��g�YZ
----------------------------------------- LOW ETHERNET TRAFFIC ----------------------------------------------

root@am57xx-evm:~# 
[  238.964833] prueth pruss2_eth eth2: Link is Down  <------------------------------------------ UNPLUG CABLE
[  238.993417] br0: port 2(eth2) entered disabled state
[  238.998620] Billa: rtnetlink_rcv_msg() type=RTM_SETLINK (19)
[  239.011626] Billa: rtnl_bridge_setlink(): err=-95

root@am57xx-evm:~# 
[  245.204627] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off <------------- PLUG CABLE
[  245.212177] br0: port 2(eth2) entered blocking state
[  245.230077] Billa: rtnetlink_rcv_msg() type=RTM_SETLINK (19)
[  245.236066] Billa: rtnl_bridge_setlink(): err=-95
[  245.240815] br0: port 2(eth2) entered learning state
[  245.248062] Billa: rtnetlink_rcv_msg() type=RTM_SETLINK (19)
[  245.253889] Billa: rtnl_bridge_setlink(): err=-95
[  245.258634] br0: port 2(eth2) entered forwarding state

root@am57xx-evm:~# 




----------------------------------------- HIGH ETHERNET TRAFFIC ----------------------------------------------

root@am57xx-evm:~# 
[  258.725099] prueth pruss2_eth eth2: Link is Down <-------------------------------------------- UNPLUG CABLE
[  258.753780] br0: port 2(eth2) entered disabled state
[  258.759926] Billa: rtnetlink_rcv_msg() type=RTM_SETLINK (19)
[  258.777759] Billa: rtnl_bridge_setlink(): err=-95

root@am57xx-evm:~# 
[  269.124841] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off <-------------- PLUG CABLE
[  269.132716] br0: port 2(eth2) entered blocking state

root@am57xx-evm:~# 


#!/bin/bash

echo "Get MAC & IPs information ..."
MAC_A="00:a0:f4:de:ad:cc"
MAC_B="00:a0:f4:de:ad:cd"
IP_A="192.168.33.188"
MASK_A="255.255.255.0"
GW_A="192.168.33.1"
IP_B="3.11.33.188"
MASK_B="255.255.255.0"
GW_B="3.111.33.1"
sleep 1

echo "Set LLA interface down .."
ifconfig bond0 down
ip link delete bond0
rmmod bonding
sleep 1

echo "Set PRP interface down .."
ifconfig prp0 down
ip link delete prp0
sleep 1

echo "Set HSR interface down .."
ifconfig hsr0 down
ip link delete hsr0
sleep 1

echo "Set RSTP interface down .."
ifconfig br0 down
ip link delete br0
sleep 1

echo "Set DUAL interfaces down .."
ifconfig eth2 0.0.0.0 down
ifconfig eth3 0.0.0.0 down
sleep 1

echo "Set MAC address ${MAC_A} to eth1 & eth2 interfaces .."
ifconfig eth2 hw ether ${MAC_A}
ifconfig eth3 hw ether ${MAC_A}
sleep 1

echo "Set eth2 & eth3 interfaces up .."
ifconfig eth2 up
ifconfig eth3 up
sleep 1

echo "Create br0 interface and add eth2 & eth3 ports .."
brctl addbr br0
brctl addif br0 eth2
brctl addif br0 eth3
sleep 1

echo "Set br0 with IP=${IP_A} interface up .."
/opt/edge-agent/ipv4-set eth2 MANUAL ip4 169.254.4.3/24 gw 169.254.4.1
/opt/edge-agent/ipv4-set eth3 MANUAL ip4 169.254.5.3/24 gw 169.254.5.1
ifconfig br0 ${IP_A} netmask ${MASK_A} up
route add default gw ${GW_A} br0
sleep 1

echo "Start bridge br0 ..."
brctl stp br0 on
sleep 1

echo "Set rstp settings ..."
mstpctl settreeprio br0 0 8
mstpctl settreeportprio br0 eth2 0 8
mstpctl setportpathcost br0 eth2 200000
mstpctl settreeportprio br0 eth3 0 8
mstpctl setportpathcost br0 eth3 200000
sleep 1

echo "Switch bridge mode from stp to rstp ..."
mstpctl setforcevers br0 rstp
sleep 1

echo "RSTP ready for PTP configuration ..."
ifconfig > /tmp/start_redundancy.ok
sleep 1

  • Hi,

    We are looking into this issue

    Regards

    Vineet

  • Hi,

    I want to try to reproduce this issue at my end. Could you please provide a connection diagram of the switches, PC and EVM?

    Is it ok to use the rstp script provided here http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Industrial_Protocols_RSTP.html

    regards,
    Roger

  • Hi:

           Attached is the diagram.

    You can use both scripts, yours and mine.RSTP_ring_IDK.png.txt

    Regads

    Billa

  • Thank you Billa,

    I will get back to you on Monday on this. Have a good weekend.

    regards,
    Roger

  • Hi,

    What arguments do you use for goose-tool for high traffic vs low traffic?

    cheers,
    -roger

  • Hi:

      

    ./goose-tool [interface_name] [delay_between_messages_in_usec] [number_of messages]

    i.e:
                       ./goose-tool eth0 10000 10  --> sends 10 messages separated 10000 usec over eth0

    if [number_of_messages] = 0 it sends forever.

    Regards

    Billa

  • Hi,

    I tried that on v6.2.0.81 and cannot reproduce the issue. See log below. I'm on am571x-idk and using eth4 and eth5 instances.

    root@am57xx-evm:~# ./rstp.sh 
    mstpd
    ifconfig eth4 up
    ifconfig eth5 up
    brctl addbr br0
    [   52.716228] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    brctl addif br0 eth4
    [   53.749772] br0: port 1(eth4) entered blocking state
    [   53.754897] br0: port 1(eth4) entered disabled state
    [   53.763811] device eth4 entered promiscuous mode
    [   54.600955] prueth pruss2_eth eth5: Link is Up - 100Mbps/Full - flow control off
    [   54.609376] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: link becomes ready
    brctl addif br0 eth5
    [   54.782965] br0: port 2(eth5) entered blocking state
    [   54.787982] br0: port 2(eth5) entered disabled state
    [   54.796442] device eth5 entered promiscuous mode
    brctl stp br0 on
    mstpctl setforcevers br0 rstp
    ifconfig br0 up
    [   57.909538] br0: port 2(eth5) entered blocking state
    [   57.914640] br0: port 1(eth4) entered blocking state
    [   57.932820] IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
    [   57.938784] br0: port 1(eth4) entered blocking state
    [   57.951026] br0: port 2(eth5) entered blocking state
    [   57.961381] br0: port 1(eth4) entered learning state
    [   57.968577] br0: port 2(eth5) entered learning state
    [   57.975492] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   57.985402] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [   57.995302] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [   58.005857] br0: port 1(eth4) entered blocking state
    [   58.012422] br0: port 2(eth5) entered blocking state
    mstpctl showbridge
    br0 CIST info
      enabled         yes
      bridge id       8.000.70:FF:76:1C:0A:D1
      designated root 8.000.70:FF:76:1C:0A:D1
      regional root   8.000.70:FF:76:1C:0A:D1
      root port       none
      path cost     0          internal path cost   0
      max age       20         bridge max age       20
      forward delay 15         bridge forward delay 15
      tx hold count 6          max hops             20
      hello time    2          ageing time          300
      force protocol version     rstp
      time since topology change 1
      topology change count      0
      topology change            no
      topology change port       None
      last topology change port  None
    root@am57xx-evm:~# [   59.655935] br0: port 1(eth4) entered learning state
    [   59.871676] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   60.083876] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   60.093791] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   60.655565] br0: port 1(eth4) entered forwarding state
    [   60.663969] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
    [   63.295916] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    
    root@am57xx-evm:~# 
    [   63.488843] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    root@am57xx-evm:~# 
    root@am57xx-evm:~# ifconfig br0 192.168.1.100
    root@am57xx-evm:~# [   69.118842] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   70.834106] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   72.358841] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   86.987609] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [   87.768839] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    
    root@am57xx-evm:~# [   90.724017] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    ifconfig
    br0       Link encap:Ethernet  HWaddr 70:FF:76:1C:0A:D1  
              inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::72ff:76ff:fe1c:ad1/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3197 errors:0 dropped:3110 overruns:0 frame:0
              TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:910699 (889.3 KiB)  TX bytes:7105 (6.9 KiB)
    
    eth0      Link encap:Ethernet  HWaddr 5C:F8:21:14:31:94  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:86 
    
    eth1      Link encap:Ethernet  HWaddr 5C:F8:21:14:31:95  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    eth2      Link encap:Ethernet  HWaddr 70:FF:76:1C:0A:D3  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    eth3      Link encap:Ethernet  HWaddr 70:FF:76:1C:0A:D4  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    eth4      Link encap:Ethernet  HWaddr 70:FF:76:1C:0A:D1  
              inet addr:192.168.1.115  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::72ff:76ff:fe1c:ad1/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:7632 errors:0 dropped:3627 overruns:0 frame:0
              TX packets:154 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:2281735 (2.1 MiB)  TX bytes:20556 (20.0 KiB)
    
    eth5      Link encap:Ethernet  HWaddr 70:FF:76:1C:0A:D2  
              inet6 addr: fe80::72ff:76ff:fe1c:ad2/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3826 errors:0 dropped:18 overruns:0 frame:0
              TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:1127849 (1.0 MiB)  TX bytes:6580 (6.4 KiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:2 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:140 (140.0 B)  TX bytes:140 (140.0 B)
    
    root@am57xx-evm:~# ifconfig eth1 0.0.0.0
    root@am57xx-evm:~# ping 192.168.1.36
    PING 192.168.1.36 (192.168.1.36): 56 data bytes
    ^C
    --- 192.168.1.36 ping statistics ---
    3 packets transmitted, 0 packets received, 100% packet loss
    root@am57xx-evm:~# 
    root@am57xx-evm:~# 
    root@am57xx-evm:~# [  118.960418] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  120.929777] prueth pruss2_eth eth4: Link is Down
    [  120.935714] br0: port 1(eth4) entered disabled state
    [  122.622163] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  122.629673] br0: port 1(eth4) entered blocking state
    [  124.656028] br0: port 1(eth4) entered learning state
    [  124.665735] br0: port 1(eth4) entered forwarding state
    [  125.140739] prueth pruss2_eth eth5: Link is Down
    [  125.681885] br0: port 2(eth5) entered disabled state
    [  127.633075] prueth pruss2_eth eth5: Link is Up - 100Mbps/Full - flow control off
    [  127.640587] br0: port 2(eth5) entered blocking state
    [  127.652263] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.662488] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.679808] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.691899] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.703216] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.718831] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.738833] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  127.988838] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  128.238837] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  128.481992] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    
    root@am57xx-evm:~# [  134.298837] net_ratelimit: 5 callbacks suppressed
    [  134.298845] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  136.428837] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  138.881671] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  141.728308] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  144.162325] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  153.282224] prueth pruss2_eth eth4: Link is Down
    [  153.287041] br0: port 1(eth4) entered disabled state
    [  156.686552] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  156.694951] br0: port 1(eth4) entered blocking state
    [  160.849763] prueth pruss2_eth eth4: Link is Down
    [  160.855558] br0: port 1(eth4) entered disabled state
    [  164.001458] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  164.009922] br0: port 1(eth4) entered blocking state
    [  166.656019] br0: port 1(eth4) entered learning state
    [  166.664614] br0: port 1(eth4) entered forwarding state
    [  179.528284] prueth pruss2_eth eth4: Link is Down
    [  179.534063] br0: port 1(eth4) entered disabled state
    [  182.084589] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  182.093042] br0: port 1(eth4) entered blocking state
    [  184.656018] br0: port 1(eth4) entered learning state
    [  184.665733] br0: port 1(eth4) entered forwarding state
    [  185.188577] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  192.289704] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  227.874971] prueth pruss2_eth eth4: Link is Down
    [  227.879789] br0: port 1(eth4) entered disabled state
    [  229.762545] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  229.770056] br0: port 1(eth4) entered blocking state
    [  232.655827] br0: port 1(eth4) entered learning state
    [  232.664946] br0: port 1(eth4) entered forwarding state
    [  239.861286] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  240.643480] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  256.459818] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  258.582728] prueth pruss2_eth eth4: Link is Down
    [  258.587548] br0: port 1(eth4) entered disabled state
    [  260.421096] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  260.429525] br0: port 1(eth4) entered blocking state
    [  262.656407] br0: port 1(eth4) entered learning state
    [  262.664750] br0: port 1(eth4) entered forwarding state
    [  274.513528] prueth pruss2_eth eth4: Link is Down
    [  274.518338] br0: port 1(eth4) entered disabled state
    [  276.077794] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  276.086191] br0: port 1(eth4) entered blocking state
    [  278.656020] br0: port 1(eth4) entered learning state
    [  278.664555] br0: port 1(eth4) entered forwarding state
    [  281.598135] prueth pruss2_eth eth4: Link is Down
    [  281.603910] br0: port 1(eth4) entered disabled state
    [  285.483566] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  285.492096] br0: port 1(eth4) entered blocking state
    [  286.655666] br0: port 2(eth5) entered learning state
    [  286.660682] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  286.675903] br0: port 2(eth5) entered blocking state
    [  288.655615] br0: port 1(eth4) entered learning state
    [  288.663985] br0: port 1(eth4) entered forwarding state
    [  289.993081] prueth pruss2_eth eth4: Link is Down
    [  289.999015] br0: port 1(eth4) entered disabled state
    [  293.189440] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  293.197931] br0: port 1(eth4) entered blocking state
    [  297.656005] br0: port 1(eth4) entered learning state
    [  297.664375] br0: port 1(eth4) entered forwarding state
    [  320.456798] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  351.028843] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  356.944309] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  366.286239] prueth pruss2_eth eth4: Link is Down
    [  366.292688] br0: port 1(eth4) entered disabled state
    [  367.962546] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  367.970956] br0: port 1(eth4) entered blocking state
    [  370.656010] br0: port 1(eth4) entered learning state
    [  370.664813] br0: port 1(eth4) entered forwarding state
    [  384.438837] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  448.713263] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  470.638842] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  513.644058] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  544.503021] prueth pruss2_eth eth4: Link is Down
    [  544.507839] br0: port 1(eth4) entered disabled state
    [  546.099292] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  546.107692] br0: port 1(eth4) entered blocking state
    [  548.656122] br0: port 1(eth4) entered learning state
    [  548.665427] br0: port 1(eth4) entered forwarding state
    [  553.694138] prueth pruss2_eth eth5: Link is Down
    [  553.699039] br0: port 2(eth5) entered disabled state
    [  559.594593] prueth pruss2_eth eth5: Link is Up - 100Mbps/Full - flow control off
    [  559.603198] br0: port 2(eth5) entered blocking state
    [  559.614357] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.638835] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.648766] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.659440] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.670365] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.738535] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  559.988345] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  560.238274] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  560.625271] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  560.721950] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  566.438841] net_ratelimit: 4 callbacks suppressed
    [  566.438849] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  566.813461] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  571.906432] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  573.974546] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  575.572428] br0: received packet on eth4 with own address as source address (addr:70:ff:76:1c:0a:d2, vlan:0)
    [  578.959780] prueth pruss2_eth eth4: Link is Down
    [  578.965521] br0: port 1(eth4) entered disabled state
    [  585.655672] br0: port 2(eth5) entered learning state
    [  587.655486] br0: port 2(eth5) entered forwarding state
    [  592.844586] prueth pruss2_eth eth4: Link is Up - 100Mbps/Full - flow control off
    [  592.853248] br0: port 1(eth4) entered blocking state
    [  592.901969] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  592.988169] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  593.238596] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  593.432360] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  593.487863] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  593.885291] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  594.655698] br0: received packet on eth5 with own address as source address (addr:70:ff:76:1c:0a:d1, vlan:0)
    [  594.665948] br0: port 2(eth5) entered blocking state
    [  597.655848] br0: port 1(eth4) entered learning state
    [  597.665039] br0: port 1(eth4) entered forwarding state
    

  • Hi:

       Did you make sure that high ethernet traffic is reaching the AM571x? Can you send me the pcap file?

    I will try to reproduce it in my IDK AM5728 board and will come back to you with my traces.

    Regards

    Billa

  • Try to run the utility with the last 2 parameters set to 0:

        ./goose-tool eth0 0 0

    Regards

    Billa

  • Hi:

       Below is the AM5728 IDK traces with the goose tool from my PC (the ethernet interface names is enp0s31f6):

                sudo ./goose-tool enp0s31f6 0 0

    root@am57xx-evm:~# cd /home/root/ethernet_redundancy/                           
    root@am57xx-evm:~/ethernet_redundancy# ./start_rstp_idk.sh                      
    Get MAC & IPs information ...                                                   
    Set LLA interface down ..                                                       
    ifconfig: SIOCGIFFLAGS: No such device                                          
    Cannot find device "bond0"                                                      
    rmmod: ERROR: Module bonding is not currently loaded                            
    Set PRP interface down ..                                                       
    ifconfig: SIOCGIFFLAGS: No such device                                          
    Cannot find device "prp0"                                                       
    Set HSR interface down ..                                                       
    ifconfig: SIOCGIFFLAGS: No such device                                          
    Cannot find device "hsr0"                                                       
    Set RSTP interface down ..                                                      
    ifconfig: SIOCGIFFLAGS: No such device                                          
    Cannot find device "br0"                                                        
    Set DUAL interfaces down ..                                                     
    [   52.433253] prueth pruss2_eth eth2: Link is Down                             
    [   52.438714] pruss 4b280000.pruss: unconfigured system_events[63-0] = 00000600
    [   52.446675] pruss 4b280000.pruss: unconfigured host_intr = 0x00000155        
    [   52.453157] remoteproc remoteproc6: stopped remote processor 4b2b4000.pru    
    [   52.460163] net eth2: stopped                                                
    [   52.514013] prueth pruss2_eth eth3: Link is Down                             
    [   52.519467] pruss 4b280000.pruss: unconfigured system_events[63-0] = 00600000
    [   52.527427] pruss 4b280000.pruss: unconfigured host_intr = 0x000002aa        
    [   52.533905] remoteproc remoteproc7: stopped remote processor 4b2b8000.pru    
    [   52.541405] net eth3: stopped                                                
    Set MAC address 00:a0:f4:de:ad:cc to eth1 & eth2 interfaces ..                  
    Set eth2 & eth3 interfaces up ..                                                
    [   54.587084] pruss_intc_irq_set_affinity: event 20 not configured: ch = -1, h1
    [   54.587118] pruss_intc_irq_set_affinity: event 22 not configured: ch = -1, h1
    [   54.587137] pruss_intc_irq_set_affinity: event 26 not configured: ch = -1, h1
    [   54.590019] iep ptp bc clkid -1                                              
    [   54.616612] remoteproc remoteproc6: powering up 4b2b4000.pru                 
    [   54.622529] remoteproc remoteproc6: Booting fw image ti-pruss/am57xx-pru0-pr4
    [   54.631907] pruss 4b280000.pruss: configured system_events[63-0] = 00000600,0
    [   54.639694] pruss 4b280000.pruss: configured intr_channels = 0x000000d5 host5
    [   54.648361] remoteproc remoteproc6: remote processor 4b2b4000.pru is now up  
    [   54.656771] net eth2: started                                                
    [   54.660500] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready               
    [   54.672587] pruss_intc_irq_set_affinity: event 21 not configured: ch = -1, h1
    [   54.672621] pruss_intc_irq_set_affinity: event 23 not configured: ch = -1, h1
    [   54.672640] pruss_intc_irq_set_affinity: event 27 not configured: ch = -1, h1
    [   54.672751] remoteproc remoteproc7: powering up 4b2b8000.pru                 
    [   54.701896] remoteproc remoteproc7: Booting fw image ti-pruss/am57xx-pru1-pr2
    [   54.711277] pruss 4b280000.pruss: configured system_events[63-0] = 00600000,0
    [   54.723643] pruss 4b280000.pruss: configured intr_channels = 0x0000032a hosta
    [   54.732299] remoteproc remoteproc7: remote processor 4b2b8000.pru is now up  
    [   54.740705] net eth3: started                                                
    [   54.745022] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready               
    Create br0 interface and add eth2 & eth3 ports ..                               
    [   55.798834] bridge: filtering via arp/ip/ip6tables is no longer available by.
    [   55.820850] br0: port 1(eth2) entered blocking state                         
    [   55.825892] br0: port 1(eth2) entered disabled state                         
    [   55.832322] device eth2 entered promiscuous mode                             
    [   55.848928] br0: port 2(eth3) entered blocking state                         
    [   55.854061] br0: port 2(eth3) entered disabled state                         
    [   55.860709] device eth3 entered promiscuous mode                             
    [   56.290922] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   56.298402] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready          
    [   56.337478] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow controlf
    [   56.344952] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready          
    Set br0 with IP=192.168.33.188 interface up ..                                  
    ./start_rstp_idk.sh: line 57: /opt/edge-agent/ipv4-set: No such file or directoy
    ./start_rstp_idk.sh: line 58: /opt/edge-agent[   56.899656] br0: port 2(eth3) ee
    /ipv4-set: No such file or directory                                            
    [   56.906862] br0: port 2(eth3) entered forwarding state                       
    [   56.916032] br0: port 1(eth2) entered blocking state                         
    [   56.921032] br0: port 1(eth2) entered forwarding state                       
    [   56.926571] IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready                
    [   56.932703] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready           
    Start bridge br0 ...                                                            
    Set rstp settings ...                                                           
    CTL_set_msti_bridge_config: Got return code 0, -1[   59.098726] br0: port 1(ethe
                                                                                    
    Couldn't find bridge with index 8                                               
                                                                                    
    [   59.112259] br0: port 2(eth3) entered blocking state                         
    [   59.180082] br0: port 1(eth2) entered learning state                         
    [   59.191238] br0: port 1(eth2) entered forwarding state                       
    [   59.207722] br0: port 2(eth3) entered learning state                         
    [   59.214544] br0: port 2(eth3) entered forwarding state                       
    Switch bridge mode from stp to rstp ...                                         
    RSTP ready for PTP configuration ...                                            
    root@am57xx-evm:~/ethernet_redundancy# [   71.747204] prueth pruss2_eth eth2: Ln
    [   71.782552] br0: port 1(eth2) entered disabled state                         
    [   73.620976] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   73.628483] br0: port 1(eth2) entered blocking state                         
    [   75.094768] br0: port 1(eth2) entered learning state                         
    [   75.104798] br0: port 1(eth2) entered forwarding state                       
    [   76.227220] prueth pruss2_eth eth2: Link is Down                             
    [   76.262598] br0: port 1(eth2) entered disabled state                         
    [   77.912281] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   77.919784] br0: port 1(eth2) entered blocking state                         
    [   79.092885] br0: port 1(eth2) entered learning state                         
    [   79.103433] br0: port 1(eth2) entered forwarding state                       
    [   79.713506] prueth pruss2_eth eth3: Link is Down                             
    [   79.782566] br0: port 2(eth3) entered disabled state                         
    [   81.277776] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow controlf
    [   81.285299] br0: port 2(eth3) entered blocking state                         
    [   83.085791] br0: port 2(eth3) entered learning state                         
    [   83.091321] br0: port 2(eth3) entered forwarding state                       
    [   87.806114] prueth pruss2_eth eth2: Link is Down                             
    [   87.842560] br0: port 1(eth2) entered disabled state                         
    [   89.488586] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   89.496128] br0: port 1(eth2) entered blocking state                         
    [   91.094500] br0: port 1(eth2) entered learning state                         
    [   91.103258] br0: port 1(eth2) entered forwarding state                       
    [   93.247555] prueth pruss2_eth eth2: Link is Down                             
    [   93.282630] br0: port 1(eth2) entered disabled state                         
    [   94.967258] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   94.974766] br0: port 1(eth2) entered blocking state                         
    [   96.092795] br0: port 1(eth2) entered learning state                         
    [   96.098421] br0: port 1(eth2) entered forwarding state                       
    [   97.496113] prueth pruss2_eth eth2: Link is Down                             
    [   97.542533] br0: port 1(eth2) entered disabled state                         
    [   99.116975] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [   99.124499] br0: port 1(eth2) entered blocking state                         
    [  102.077386] br0: port 1(eth2) entered learning state                         
    [  102.089839] br0: port 1(eth2) entered forwarding state                       
    [  103.357247] br0: port 1(eth2) entered blocking state                         
    [  103.828162] prueth pruss2_eth eth3: Link is Down                             
    [  103.882570] br0: port 2(eth3) entered disabled state                         
    [  105.376480] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow controlf
    [  105.384107] br0: port 2(eth3) entered blocking state                         
    [  106.120249] br0: port 1(eth2) entered learning state                         
    [  106.125497] br0: port 1(eth2) entered blocking state                         
    [  108.488017] br0: port 2(eth3) entered learning state                         
    [  108.498541] br0: port 2(eth3) entered forwarding state                       
    [  112.038698] prueth pruss2_eth eth2: Link is Down                             
    [  112.092603] br0: port 1(eth2) entered disabled state                         
    [  113.959516] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf
    [  113.967035] br0: port 1(eth2) entered blocking state                         
    [  127.206107] prueth pruss2_eth eth3: Link is Down                             
    [  127.252539] br0: port 2(eth3) entered disabled state                         
    [  128.892661] NET: Registered protocol family 15                               
    [  129.040151] Initializing XFRM netlink socket                                 
    [  135.180239] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow controlf
    [  135.187777] br0: port 2(eth3) entered blocking state                         
    [  137.083343] br0: port 2(eth3) entered learning state                         
    [  137.092173] br0: port 2(eth3) entered forwarding state                       
    [  142.713276] prueth pruss2_eth eth2: Link is Down                             
    [  142.752552] br0: port 1(eth2) entered disabled state                         
    [  145.065407] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow controlf <----- SEE FROM HERE DOWN !!
    [  145.072940] br0: port 1(eth2) entered blocking state
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy# [  208.091632] br0: port 2(eth3) enterede
    [  208.143909] br0: port 2(eth3) entered learning state                         
    [  208.151964] br0: port 2(eth3) entered forwarding state                       
    [  208.162343] br0: port 2(eth3) entered blocking state
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy#
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy# [  271.343591] br0: port 2(eth3) enterede
    [  271.353100] br0: port 2(eth3) entered forwarding state                       
    [  271.364067] br0: port 2(eth3) entered blocking state                         
    [  275.903058] br0: port 2(eth3) entered learning state                         
    [  275.911354] br0: port 2(eth3) entered forwarding state                       
    [  275.923135] br0: port 1(eth2) entered learning state                         
    [  275.930873] br0: port 1(eth2) entered forwarding state                       
    [  275.939559] br0: port 1(eth2) entered blocking state                         
    [  275.949340] br0: port 2(eth3) entered blocking state                         
                                                                                    
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy#                                          
    root@am57xx-evm:~/ethernet_redundancy#


  • Hi Roger:

      Any progress?

    Did you make it fail?

    Regards

    Billa

  • Hi Billa,

    I'm not able to reproduce on version 06.02.00.81

    http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/06_02_00_81/index_FDS.html

    what version are you on?

    regards,

    Roger.

  • Hi Roger:

        The same as yours 06.02.00.81

    Did you try with

    sudo ./goose-tool enp0s31f6 0 0 ?

    Regards

    Billa

  • Billa,

    It seems like something is different between your setup and Roger's, at least I expect that is the case given that you see an issue but Roger doesn't.  Let's see if we can make sure our test environments are the same:

    • Hardware AM5728 IDK (?)
    • Which specific ports are you plugging into?  Which specific port are you unplugging/plugging to cause the issue?
    • What does your network topology look like, i.e. please specify everything (devices, switches, etc.)?
    • Are you using Linux or Linux-RT SDK?
    • Are you using the binaries that were bundled with the SDK (plus some the items you've attached to the thread?

    Thanks,

    Brad

  • Brad,

         1.- Yes. Take a look at pictures RSTP_IDK_Test_1.jpg.txt, RSTP_IDK_Test_2.jpg.txt

         2.- Take a look at picture RSTP_IDK_Test_1.jpg.txt. 

              I am plugging/unplugging both ports. You can see some traces in a post above with issue in eth2.

         3.- The topology is a simple ring. Take a look at picture RSTP_IDK_Test_3.jpg.txt, RSTP_IDK_Test_4RSTP_IDK_Test_1.jpg.txtRSTP_IDK_Test_2.jpg.txtRSTP_IDK_Test_3.jpg.txtRSTP_IDK_Test_4.jpg.txtRSTP_IDK_Test_5.png.txt.jpg.txt RSTP_IDK_Test_5.jpg.txt

              The switches are:

                       1.- Reason S20

                       2.- RuggedCom RSG2288

         4.- Yes we are using Linux-RT

         5.- Yes I am using the binaries that come with SDK.

    Thanks

    Billa

  • Brad,

    Thanks for chiming in.

    Billa,

    Thanks for the detailed information. In my case

    1. I used AM571x-idk, same ports as you though. ICSS2 ports. I will switch to AM572x-idk.

    2. I was unplugging and replugging only one port. I will try today unplugging/replugging both.

    3. I have Zyxel 1G switch and Zyxel 100M switch.

    4. I used non-RT Linux. I will switch to RT linux and test.

    cheers,
    -roger

  • Billa,

    Except the make of the switches, my setup is now identical to yours. I still can't reproduce the issue.

    At the PC I used

    sudo ./goose-tool eno 0 0

    I start with both ports of EVM plugged. Then once eth2 switches to forwarding state and eth3 to blocking I unplug eth2 then eth3. Then after 1 second I plug eth3 then eth2 one after the other as soon as I can.

    I repeat this 10 times. Log is attached

    rt.log

    In another test I also tried to alternately plug and unplug eth2 and eth3. Still can't reproduce Log is

    U-Boot SPL 2019.01-ga141f7abfd (Jan 05 2020 - 10:28:39 +0000)
    DRA752-GP ES2.0
    no pinctrl state for default mode
    ** Unable to read file dra7-ipu1-fw.xem4 **
    Firmware loading failed
    Trying to boot from MMC1
    no pinctrl state for default mode
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    Loading Environment from MMC... OK
    
    
    U-Boot 2019.01-ga141f7abfd (Jan 05 2020 - 10:28:39 +0000)
    
    CPU  : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: AM572x IDK REV 1.3A
    DRAM:  2 GiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... *** Warning - bad CRC, using default environment
    
    Loading Environment from MMC... OK
    am57x_idk_lcd_detect: Failed to get I2C device 0/56 (ret 1)
    Net:   
    Warning: ethernet@48484000 using MAC address from ROM
    eth0: ethernet@48484000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    1490 bytes read in 8 ms (181.6 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    1 bytes read in 8 ms (0 Bytes/s)
    Already setup.
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4370944 bytes read in 197 ms (21.2 MiB/s)
    93055 bytes read in 6 ms (14.8 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffe6000, end 8ffffb7e ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.79-rt28-g5baf382c8f (oe-user@oe-host) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 SMP PREEMPT RT Sun Jan 5 02:58:55 UTC 2020
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 IDK
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fe400000
    [    0.000000] OMAP4: Map 0x00000000ffd00000 to (ptrval) for dram barrier
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb0/0x488 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32224 r8192 d21024 u61440
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 382848
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=c7158bcf-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 1348360K/1536000K available (10240K kernel code, 343K rwdata, 2748K rodata, 2048K init, 277K bss, 31992K reserved, 155648K cma-reserved, 1020928K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 344 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 278 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000011] Switching to timer-based delay loop, resolution 162ns
    [    0.000290] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000293] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000753] Console: colour dummy device 80x30
    [    0.000889] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000898] pid_max: default: 32768 minimum: 301
    [    0.001036] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001043] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001711] CPU: Testing write buffer coherency: ok
    [    0.001741] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001984] /cpus/cpu@0 missing clock-frequency property
    [    0.002020] /cpus/cpu@1 missing clock-frequency property
    [    0.002035] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059966] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.099970] rcu: Hierarchical SRCU implementation.
    [    0.160480] EFI services will not be available.
    [    0.180110] smp: Bringing up secondary CPUs ...
    [    0.320522] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.320526] CPU1: Spectre v2: using ICIALLU workaround
    [    0.320652] smp: Brought up 1 node, 2 CPUs
    [    0.320671] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.320680] CPU: All CPU(s) started in HYP mode.
    [    0.320688] CPU: Virtualization extensions available.
    [    0.321346] devtmpfs: initialized
    [    0.360556] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.360889] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.360911] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.363670] pinctrl core: initialized pinctrl subsystem
    [    0.364540] DMI not present or invalid.
    [    0.365013] NET: Registered protocol family 16
    [    0.367744] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.368673] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.581040] OMAP GPIO hardware version 0.1
    [    0.614011] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.614025] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.615948] OMAP DMA hardware revision 0.0
    [    0.634757] edma 43300000.edma: memcpy is disabled
    [    0.640944] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.654016] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.660230] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.660677] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.661322] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.661905] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.662714] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.663181] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.663717] iommu: Adding device 58820000.ipu to group 1
    [    0.663937] iommu: Adding device 55020000.ipu to group 2
    [    0.664311] iommu: Adding device 40800000.dsp to group 0
    [    0.664922] iommu: Adding device 41000000.dsp to group 3
    [    0.666402] SCSI subsystem initialized
    [    0.667938] palmas 0-0058: Irq flag is 0x00000004
    [    0.692900] palmas 0-0058: Muxing GPIO 2f, PWM 0, LED 0
    [    0.694793] SMPS12: supplied by regulator-dummy
    [    0.696808] SMPS3: supplied by VMAIN
    [    0.698696] SMPS45: supplied by regulator-dummy
    [    0.700844] SMPS6: supplied by VMAIN
    [    0.702890] SMPS7: supplied by VMAIN
    [    0.705059] SMPS8: supplied by VMAIN
    [    0.706593] SMPS9: supplied by VMAIN
    [    0.707817] LDO1: supplied by VMAIN
    [    0.711316] random: fast init done
    [    0.711903] LDO2: supplied by VMAIN
    [    0.721729] LDO3: supplied by VMAIN
    [    0.731757] LDO4: supplied by VMAIN
    [    0.741786] LDO5: supplied by regulator-dummy
    [    0.742755] LDO6: supplied by regulator-dummy
    [    0.743719] LDO7: supplied by regulator-dummy
    [    0.744681] LDO8: supplied by regulator-dummy
    [    0.745621] LDO9: supplied by VMAIN
    [    0.752129] LDOLN: supplied by VMAIN
    [    0.761799] LDOUSB: supplied by VMAIN
    [    0.775774] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.776079] media: Linux media interface: v0.10
    [    0.776141] videodev: Linux video capture interface: v2.00
    [    0.776262] pps_core: LinuxPPS API ver. 1 registered
    [    0.776274] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.776300] PTP clock support registered
    [    0.776341] EDAC MC: Ver: 3.0.0
    [    0.777571] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.777946] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.778714] Advanced Linux Sound Architecture Driver Initialized.
    [    0.779929] clocksource: Switched to clocksource arch_sys_counter
    [    0.793824] NET: Registered protocol family 2
    [    0.794747] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 8192 bytes)
    [    0.794779] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.794832] TCP bind hash table entries: 4096 (order: 4, 114688 bytes)
    [    0.794969] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.795106] UDP hash table entries: 256 (order: 2, 16384 bytes)
    [    0.795144] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
    [    0.795399] NET: Registered protocol family 1
    [    0.796022] RPC: Registered named UNIX socket transport module.
    [    0.796035] RPC: Registered udp transport module.
    [    0.796044] RPC: Registered tcp transport module.
    [    0.796054] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.797582] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.797884] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.799705] Initialise system trusted keyrings
    [    0.800009] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [    0.809807] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.810669] NFS: Registering the id_resolver key type
    [    0.810702] Key type id_resolver registered
    [    0.810714] Key type id_legacy registered
    [    0.810788] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.812898] Key type asymmetric registered
    [    0.812913] Asymmetric key parser 'x509' registered
    [    0.813086] bounce: pool size: 64 pages
    [    0.813127] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.813140] io scheduler noop registered
    [    0.813152] io scheduler deadline registered
    [    0.813417] io scheduler cfq registered (default)
    [    0.813431] io scheduler mq-deadline registered
    [    0.813443] io scheduler kyber registered
    [    0.822020] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.828610] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.828972] dra7-pcie 51000000.pcie: WA for Errata i870 not applied
    [    0.829136] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.829179] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.829210] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.820132] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.820390] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.820410] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.820423] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.820435] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.826404] PCI: bus0: Fast back to back transfers disabled
    [    1.831955] PCI: bus1: Fast back to back transfers enabled
    [    1.832008] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.832029] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.832692] pcieport 0000:00:00.0: Signaling PME with IRQ 172
    [    1.833010] pcieport 0000:00:00.0: AER enabled with IRQ 172
    [    1.840610] V3_3D: supplied by smps9
    [    1.840917] vtt_fixed: supplied by V3_3D
    [    1.920477] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.926508] console [ttyS2] disabled
    [    1.926595] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 45, base_baud = 3000000) is a 8250
    [    2.986064] console [ttyS2] enabled
    [    2.992695] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.992904] hwrng: no data available
    [    3.003672] omapdss_dss 58000000.dss: Linked as a consumer to regulator.20
    [    3.010805] DSS: OMAP DSS rev 6.1
    [    3.018392] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    3.026022] omapdss_hdmi5 58040000.encoder: Dropping the link to regulator.13
    [    3.055309] brd: module loaded
    [    3.071949] loop: module loaded
    [    3.084769] m25p80 spi0.0: s25fl256s1 (32768 Kbytes)
    [    3.089829] 7 fixed-partitions partitions found on MTD device spi0.0
    [    3.096214] Creating 7 MTD partitions on "spi0.0":
    [    3.101033] 0x000000000000-0x000000040000 : "QSPI.SPL"
    [    3.107469] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [    3.114119] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [    3.121352] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [    3.128340] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [    3.136015] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [    3.142676] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
    [    3.150772] libphy: Fixed MDIO Bus: probed
    [    3.219984] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.227680] davinci_mdio 48485000.mdio: detected phy mask fffffffc
    [    3.238693] libphy: 48485000.mdio: probed
    [    3.242731] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
    [    3.252435] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
    [    3.263457] cpsw 48484000.ethernet: Detected MACID = a0:f6:fd:b3:d9:1e
    [    3.270097] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.276482] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.281782] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.290444] cpsw 48484000.ethernet: cpsw: Detected MACID = a0:f6:fd:b3:d9:1f
    [    3.299993] i2c /dev entries driver
    [    3.310740] sdhci: Secure Digital Host Controller Interface driver
    [    3.316952] sdhci: Copyright(c) Pierre Ossman
    [    3.322877] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.330166] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.338993] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.344127] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.26
    [    3.351303] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
    [    3.358313] sdhci-omap 4809c000.mmc: Dropping the link to regulator.11
    [    3.365028] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.2
    [    3.372087] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.11
    [    3.379044] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.410338] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.418189] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.2
    [    3.425105] sdhci-omap 480b4000.mmc: Dropping the link to regulator.2
    [    3.431742] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.2
    [    3.462734] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    3.471715] mmc0: host does not support reading read-only switch, assuming write-enable
    [    3.483008] mmc0: new high speed SDHC card at address 0007
    [    3.495222] NET: Registered protocol family 10
    [    3.500446] mmcblk0: mmc0:0007 SS08G 7.21 GiB 
    [    3.507094] Segment Routing with IPv6
    [    3.510886] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    3.517768] NET: Registered protocol family 17
    [    3.522774] Key type dns_resolver registered
    [    3.527259] Registering SWP/SWPB emulation handler
    [    3.530047]  mmcblk0: p1 p2
    [    3.535194] omap_voltage_late_init: Voltage driver support not added
    [    3.542820] Power Management for TI OMAP4+ devices.
    [    3.548931] Loading compiled-in X.509 certificates
    [    3.559190] mmc1: new DDR MMC card at address 0001
    [    3.575208] mmcblk1: mmc1:0001 R1J56L 13.8 GiB 
    [    3.580594] mmcblk1boot0: mmc1:0001 R1J56L partition 1 4.00 MiB
    [    3.587249] mmcblk1boot1: mmc1:0001 R1J56L partition 2 4.00 MiB
    [    3.593459] mmcblk1rpmb: mmc1:0001 R1J56L partition 3 128 KiB, chardev (244:0)
    [    3.637928] dmm 4e000000.dmm: workaround for errata i878 in use
    [    3.646974] dmm 4e000000.dmm: initialized all PAT entries
    [    3.654209] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    3.661844] omapdss_hdmi5 58040000.encoder: Dropping the link to regulator.13
    [    3.671135] omapdss_hdmi5 58040000.encoder: Linked as a consumer to regulator.13
    [    3.679082] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    3.687405] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
    [    3.696859] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    3.703508] [drm] No driver support for vblank timestamp query.
    [    3.709487] [drm] Cannot find any crtc or sizes
    [    3.715696] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    3.723724] hctosys: unable to open rtc device (rtc0)
    [    3.730472] ALSA device list:
    [    3.733456]   No soundcards found.
    [    4.720027] [drm] Cannot find any crtc or sizes
    [    6.531683] EXT4-fs (mmcblk0p2): recovery complete
    [    6.545981] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    6.554175] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    6.561360] devtmpfs: mounted
    [    6.567388] Freeing unused kernel memory: 2048K
    [    6.572091] Run /sbin/init as init process
    [    6.875820] systemd[1]: System time before build time, advancing clock.
    [    6.908391] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN)
    [    6.930460] systemd[1]: Detected architecture arm.
    
    Welcome to Arago 2019.11!
    
    [    6.971275] systemd[1]: Set hostname to <am57xx-evm>.
    [    7.208796] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
    [    7.225926] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
    [    7.515563] random: systemd: uninitialized urandom read (16 bytes read)
    [    7.522695] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    7.560123] random: systemd: uninitialized urandom read (16 bytes read)
    [    7.566813] systemd[1]: Reached target Swap.
    [  OK  ] Reached target Swap.
    [    7.600136] random: systemd: uninitialized urandom read (16 bytes read)
    [    7.607160] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password Requests to Console Directory Watch.
    [    7.650785] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    7.703589] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [  OK  ] Listening on Journal Socket.
             Mounting Temporary Directory (/tmp)...
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
    [    7.832871] random: crng init done
    [    7.836296] random: 5 urandom warning(s) missed due to ratelimiting
    [  OK  ] Created slice system-getty.slice.
             Mounting Kernel Debug File System...
    [  OK  ] Reached target Slices.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [  OK  ] Listening on Journal Socket (/dev/log).
             Starting Journal Service...
    [  OK  ] Reached target Remote File Systems.
    [  OK  ] Listening on udev Control Socket.
             Starting udev Coldplug all Devices...
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [  OK  ] Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Reached target Paths.
    [  OK  ] Listening on Process Core Dump Socket.
             Starting Remount Root and Kernel File Systems...
             Starting Apply Kernel Variables...
    [    8.418670] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
             Mounting Kernel Configuration File System...
             Mounting POSIX Message Queue File System...
             Starting Create list of required st�Ҁ�ce nodes for the current kernel...
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Started Remount Root and Kernel File Systems.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Started Create list of required sta��…vice nodes for the current kernel.
             Starting Create Static Device Nodes in /dev...
             Starting Flush Journal to Persistent Storage...
    [  OK  ] Started Create Static Device Nodes in /dev.
    [    8.972420] systemd-journald[134]: Received request to flush runtime journal from PID 1
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /var/volatile...
    [  OK  ] Reached target Containers.
             Mounting /media/ram...
             Starting udev Kernel Device Manager...
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Mounted /var/volatile.
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Mounted /media/ram.
    [  OK  ] Reached target Local File Systems.
             Starting Load/Save Random Seed...
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Load/Save Random Seed.
    [  OK  ] Started Create Volatile Files and Directories.
             Starting Network Service...
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
             Starting Network Name Resolution...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Synchronized.
    [   10.452720] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [   10.495744] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [   10.542425] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
    [   10.562060] remoteproc remoteproc0: 58820000.ipu is available
    [   10.574089] remoteproc remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2
    [   10.587630] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [   10.618732] remoteproc remoteproc0: powering up 58820000.ipu
    [   10.618773] remoteproc remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2
    [   10.618786] remoteproc remoteproc0: request_firmware failed: -2
    [   10.649577] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [   10.657837] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
    [   10.685666] remoteproc remoteproc1: 55020000.ipu is available
    [   10.691745] remoteproc remoteproc1: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
    [   10.700216] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [   10.702024] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [   10.702035] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
    [   10.730374] remoteproc remoteproc2: 40800000.dsp is available
    [   10.730811] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [   10.731802] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [   10.731812] omap-rproc 41000000.dsp: assigned reserved memory node dsp2-memory@9f000000
    [   10.752166] remoteproc remoteproc3: 41000000.dsp is available
    [   10.821203] remoteproc remoteproc1: powering up 55020000.ipu
    [   10.827075] remoteproc remoteproc1: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
    [   10.837923] remoteproc remoteproc1: request_firmware failed: -2
    [   10.844054] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
    [   10.853254] remoteproc remoteproc2: powering up 40800000.dsp
    [   10.859034] remoteproc remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
    [   10.870150] remoteproc remoteproc2: request_firmware failed: -2
    [   10.876273] remoteproc remoteproc3: Direct firmware load for dra7-dsp2-fw.xe66 failed with error -2
    [   10.885468] remoteproc remoteproc3: powering up 41000000.dsp
    [   10.891284] remoteproc remoteproc3: Direct firmware load for dra7-dsp2-fw.xe66 failed with error -2
    [   10.900515] remoteproc remoteproc3: request_firmware failed: -2
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Started udev Coldplug all Devices.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [[   11.820687] Driver for 1-wire Dallas network protocol.
      OK  ] Started Daily Cleanup of Temporary Directories.
    [   11.837694] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [   11.861125] omap-des 480a5000.des: will run requests pump with realtime priority
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [   11.990187] omap_hdq 480b2000.1w: OMAP HDQ Hardware Rev 0.:. Driver in Interrupt mode
    [   12.085227] ov2659 0-0030: Sensor detection failed (3030, 0)
             Starting Permit User Sessions...
    [   12.274376] w1_master_driver w1_bus_master1: Attaching one wire slave 01.000000000000 crc 3d
    [   12.284626] omap_gpio 48057000.gpio: Could not set line 16 debounce to 20000 microseconds (-22)
    [   12.285079] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc0
             Starting Login Service...
    [   12.484615] w1_master_driver w1_bus_master1: Family 1 for 01.000000000000.3d is not registered.
             Starting Avahi mDNS/DNS-SD Stack...
    [   12.574841] omap_rtc 48838000.rtc: registered as rtc1
             Starting telnetd.service...
    [   12.770459] net eth1: initializing cpsw version 1.15 (0)
             Starting TI IPC Daemon...
    [   12.805658] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [   12.808678] vip 48990000.vip: loading firmware vpdma-1b8.bin
    [   12.834711] vpe 489d0000.vpe: Device registered as /dev/video0
    [   12.840090] vip 48990000.vip: VPDMA firmware loaded
    [   12.910766] Micrel KSZ9031 Gigabit PHY 48485000.mdio:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
    [  OK  ] Started Job spooling tools.
    [   12.999795] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [  OK  ] Started Periodic Command Scheduler.
    [   13.295512] net eth0: initializing cpsw version 1.15 (0)
    [  OK  ] Started D-Bus System Message Bus.
    [   13.431781] Micrel KSZ9031 Gigabit PHY 48485000.mdio:00: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
    [   13.453979] phy phy-4a084000.phy.3: Linked as a consumer to regulator.21
    [   13.470173] phy phy-4a085000.phy.4: Linked as a consumer to regulator.21
             Starting Print notice about GPLv3 packages...
    [   13.576268] ahci 4a140000.sata: controller can't do 64bit DMA, forcing 32bit
    [   13.580018] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   13.597193] ahci 4a140000.sata: forcing port_map 0x0 -> 0x1
    [   13.641724] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [   13.658977] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [   13.742358] CAN device driver interface
    [   13.786197] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [   13.797320] c_can_platform 4ae3c000.can: c_can_platform device registered (regs=e53d3e5c, irq=89)
    [   13.849019] ahci 4a140000.sata: flags: ncq sntf pm led clo only pmp pio slum part ccc apst 
             Starting RPC Bind Service...
    [   13.960148] scsi host0: ahci
    [   13.978102] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [   14.007848] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 81
    [   14.021554] omap-aes 4b500000.aes: will run requests pump with realtime priority
    [  OK  ] Started Permit User Sessions.
    [   14.057125] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [  OK  ] Started telnetd.service.
    [  OK  ] Started TI IPC Daemon.
    [   14.076238] omap-aes 4b700000.aes: will run requests pump with realtime priority
    [  OK  ] Started RPC Bind Service.
    [   14.372158] ata1: SATA link down (SStatus 0 SControl 300)
    [   14.680859] omap-hdmi-audio omap-hdmi-audio.0.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
    [   14.719251] omap-hdmi-audio omap-hdmi-audio.0.auto: ASoC: no DMI vendor name!
    [   15.180033] davinci_mdio 4b2b2400.mdio: davinci mdio revision 1.6, bus freq 1000000
    [   15.187737] libphy: 4b2b2400.mdio: probed
    [   15.316912] davinci_mdio 4b2b2400.mdio: phy[0]: device 4b2b2400.mdio:00, driver TI TLK10X 10/100 Mbps PHY
    [   15.371682] davinci_mdio 4b2b2400.mdio: phy[1]: device 4b2b2400.mdio:01, driver TI TLK10X 10/100 Mbps PHY
    [   15.470895] remoteproc remoteproc4: 4b234000.pru is available
    [   15.485087] pru-rproc 4b234000.pru: PRU rproc node pru@4b234000 probed successfully
    [   15.527043] remoteproc remoteproc5: 4b238000.pru is available
    [   15.554095] pru-rproc 4b238000.pru: PRU rproc node pru@4b238000 probed successfully
    [   15.604149] remoteproc remoteproc6: 4b2b4000.pru is available
    [   15.637472] pru-rproc 4b2b4000.pru: PRU rproc node pru@4b2b4000 probed successfully
    [   15.680657] remoteproc remoteproc7: 4b2b8000.pru is available
    [   15.723031] pru-rproc 4b2b8000.pru: PRU rproc node pru@4b2b8000 probed successfully
    [   16.036581] prueth pruss2_eth: pruss_fw_drop_untagged_vlan 0
    [   16.042308] prueth pruss2_eth: pruss MC Mask (Port 0) ff:ff:ff:ff:ff:ff
    [   16.060758] prueth pruss2_eth: pruss MC Mask (Port 1) ff:ff:ff:ff:ff:ff
    [   16.104780] prueth pruss2_eth: TI PRU ethernet (type 0) driver initialized
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            bash
            bc
            cifs-utils
            cpio
            dosfstools
            elfutils
            gawk
            gzip
            libbfd
            libdw1
            libelf1
            libreadline7
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [   18.229511] dwc3 48890000.usb: Failed to get clk 'ref': -2
    [   18.265871] dwc3 488d0000.usb: Failed to get clk 'ref': -2
    [   18.780837] usbcore: registered new interface driver usbfs
    [   18.803100] usbcore: registered new interface driver hub
    [   18.816023] usbcore: registered new device driver usb
    [   18.903221] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   18.916611] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [   18.931586] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   18.950072] xhci-hcd xhci-hcd.1.auto: irq 181, io mem 0x48890000
    [   18.957250] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [   18.976991] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   19.003960] pruss_intc_irq_set_affinity: event 20 not configured: ch = -1, host = -1
    [   19.004108] pruss_intc_irq_set_affinity: event 22 not configured: ch = -1, host = -1
    [   19.004215] pruss_intc_irq_set_affinity: event 26 not configured: ch = -1, host = -1
    [   19.020345] iep ptp bc clkid -1
    [   19.020400] remoteproc remoteproc6: powering up 4b2b4000.pru
    [   19.023064] remoteproc remoteproc6: Booting fw image ti-pruss/am57xx-pru0-prueth-fw.elf, size 7124
    [   19.023497] pruss 4b280000.pruss: configured system_events[63-0] = 00000600,04500000
    [   19.023506] pruss 4b280000.pruss: configured intr_channels = 0x000000d5 host_intr = 0x00000155
    [   19.023515] remoteproc remoteproc6: remote processor 4b2b4000.pru is now up
    [   19.023562] net eth2: started
    [   19.023821] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
    [   19.100540] pruss_intc_irq_set_affinity: event 21 not configured: ch = -1, host = -1
    [   19.100689] pruss_intc_irq_set_affinity: event 23 not configured: ch = -1, host = -1
    [   19.100795] pruss_intc_irq_set_affinity: event 27 not configured: ch = -1, host = -1
    [   19.100952] remoteproc remoteproc7: powering up 4b2b8000.pru
    [   19.102366] remoteproc remoteproc7: Booting fw image ti-pruss/am57xx-pru1-prueth-fw.elf, size 7152
    [   19.102835] pruss 4b280000.pruss: configured system_events[63-0] = 00600000,08a00000
    [   19.102844] pruss 4b280000.pruss: configured intr_channels = 0x0000032a host_intr = 0x000002aa
    [   19.102854] remoteproc remoteproc7: remote processor 4b2b8000.pru is now up
    [   19.102900] net eth3: started
    [   19.103149] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready
    [   19.223725] usb usb1: Product: xHCI Host Controller
    [   19.228765] usb usb1: Manufacturer: Linux 4.19.79-rt28-g5baf382c8f xhci-hcd
    [   19.236785] usb usb1: SerialNumber: xhci-hcd.1.auto
    [   19.244272] hub 1-0:1.0: USB hub found
    [   19.248092] hub 1-0:1.0: 1 port detected
    [   19.256659] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   19.263425] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [   19.272335] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
    [   19.279002] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   19.288971] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [   19.297734] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   19.305532] usb usb2: Product: xHCI Host Controller
    [   19.310943] usb usb2: Manufacturer: Linux 4.19.79-rt28-g5baf382c8f xhci-hcd
    [   19.317940] usb usb2: SerialNumber: xhci-hcd.1.auto
    [   19.325563] hub 2-0:1.0: USB hub found
    [   19.329379] hub 2-0:1.0: 1 port detected
             Starting Save/Restore Sound Card State...
    [  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
             Starting File System Check on /dev/mmcblk0p1...
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting thttpd.service...
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [  OK  ] Started Save/Restore Sound Card State.
    [  OK  ] Reached target Sound Card.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Login Service.
    [  OK  ] Started Synchronize System and HW clocks.
    [  OK  ] Started thttpd.service.
    [  OK  ] Started File System Check on /dev/mmcblk0p1.
             Mounting /run/media/mmcblk0p1...
    [  OK  ] Mounted /run/media/mmcblk0p1.
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am57xx-evm ttyS2
    
    Arago 2019.11 am57xx-evm ttyS2
    
    am57xx-evm login: root
    root@am57xx-evm:~# ./rstp.sh 
    mstpd
    ifconfig eth2 up
    ifconfig eth3 up
    brctl addbr br0
    [   45.021801] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    brctl addif br0 eth2
    [   46.053451] br0: port 1(eth2) entered blocking state
    [   46.058475] br0: port 1(eth2) entered disabled state
    [   46.064119] device eth2 entered promiscuous mode
    [   46.181837] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [   46.189290] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
    brctl addif br0 eth3
    [   47.085901] br0: port 2(eth3) entered blocking state
    [   47.090925] br0: port 2(eth3) entered disabled state
    [   47.097599] device eth3 entered promiscuous mode
    brctl stp br0 on
    [   48.432045] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [   48.535799] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready
    mstpctl setforcevers br0 rstp
    ifconfig br0 up
    [   50.581693] br0: port 2(eth3) entered blocking state
    [   50.586769] br0: port 1(eth2) entered blocking state
    [   50.610084] IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
    [   50.617496] br0: port 1(eth2) entered blocking state
    [   50.627014] br0: port 2(eth3) entered blocking state
    [   50.647445] br0: port 1(eth2) entered learning state
    [   50.654897] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   50.656970] br0: port 2(eth3) entered learning state
    [   50.661901] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [   50.662050] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [   50.666734] br0: port 2(eth3) entered blocking state
    [   50.695522] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   50.705533] br0: port 1(eth2) entered blocking state
    mstpctl showbridge
    br0 CIST info
      enabled         yes
      bridge id       8.000.54:DA:EA:0A:38:60
      designated root 8.000.54:DA:EA:0A:38:60
      regional root   8.000.54:DA:EA:0A:38:60
      root port       none
      path cost     0          internal path cost   0
      max age       20         bridge max age       20
      forward delay 15         bridge forward delay 15
      tx hold count 6          max hops             20
      hello time    2          ageing time          300
      force protocol version     rstp
      time since topology change 1
      topology change count      0
      topology change            no
      topology change port       None
      last topology change port  None
    root@am57xx-evm:~# [   51.924929] br0: port 1(eth2) entered learning state
    [   52.269853] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   52.924799] br0: port 1(eth2) entered forwarding state
    [   52.933651] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
    [   53.437035] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   53.564232] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   53.781153] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   54.287638] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   54.297773] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   56.921638] net_ratelimit: 1 callbacks suppressed
    [   56.921645] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   57.243667] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    
    root@am57xx-evm:~# 
    root@am57xx-evm:~# ifconfig br0 192.168[   61.964367] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    .1.100
    root@am57xx-evm:~# [   64.468078] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   64.601107] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   76.924435] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   79.402504] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   81.246351] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [   96.256299] prueth pruss2_eth eth2: Link is Down
    [   96.300089] br0: port 1(eth2) entered disabled state
    [  101.308671] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  101.316196] br0: port 1(eth2) entered blocking state
    [  102.924218] br0: port 2(eth3) entered learning state
    [  102.931874] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  102.941990] br0: port 2(eth3) entered blocking state
    [  104.925090] br0: port 1(eth2) entered learning state
    [  104.932425] br0: port 1(eth2) entered forwarding state
    [  107.689715] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  107.866617] prueth pruss2_eth eth2: Link is Down
    [  107.910061] br0: port 1(eth2) entered disabled state
    [  112.903014] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  112.910535] br0: port 1(eth2) entered blocking state
    [  113.924412] br0: port 2(eth3) entered learning state
    [  113.926477] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  113.940473] br0: port 2(eth3) entered blocking state
    [  114.925015] br0: port 1(eth2) entered learning state
    [  114.930424] br0: port 1(eth2) entered forwarding state
    [  125.595160] prueth pruss2_eth eth3: Link is Down
    [  125.630103] br0: port 2(eth3) entered disabled state
    [  130.103520] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  130.111034] br0: port 2(eth3) entered blocking state
    [  130.132519] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.146827] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.157975] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.168361] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.180627] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.248526] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.546288] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.670161] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  130.796257] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  131.101874] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  137.214925] net_ratelimit: 4 callbacks suppressed
    [  137.214933] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  137.356441] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  139.086409] prueth pruss2_eth eth2: Link is Down
    [  139.130056] br0: port 1(eth2) entered disabled state
    [  142.954748] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  142.962270] br0: port 1(eth2) entered blocking state
    [  144.924714] br0: port 2(eth3) entered learning state
    [  144.924721] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  144.943078] br0: port 2(eth3) entered blocking state
    [  146.924452] br0: port 1(eth2) entered learning state
    [  146.929775] br0: port 1(eth2) entered forwarding state
    [  150.922746] prueth pruss2_eth eth3: Link is Down
    [  150.960060] br0: port 2(eth3) entered disabled state
    [  152.111323] prueth pruss2_eth eth2: Link is Down
    [  152.150062] br0: port 1(eth2) entered disabled state
    [  153.495060] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  153.502574] br0: port 2(eth3) entered blocking state
    [  155.242097] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  155.249617] br0: port 1(eth2) entered blocking state
    [  155.924200] br0: port 2(eth3) entered learning state
    [  155.932977] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  155.934958] br0: port 2(eth3) entered forwarding state
    [  156.212195] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  156.924771] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  156.934896] br0: port 2(eth3) entered blocking state
    [  159.924188] br0: port 1(eth2) entered learning state
    [  159.931621] br0: port 1(eth2) entered forwarding state
    [  160.358853] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  160.795079] prueth pruss2_eth eth2: Link is Down
    [  161.000059] br0: port 1(eth2) entered disabled state
    [  162.615388] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  162.622906] br0: port 1(eth2) entered blocking state
    [  162.657615] prueth pruss2_eth eth2: Link is Down
    [  163.050071] br0: port 1(eth2) entered disabled state
    [  165.149896] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  165.157412] br0: port 1(eth2) entered blocking state
    [  165.925173] br0: port 2(eth3) entered learning state
    [  166.208757] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  166.925189] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  166.935541] br0: port 2(eth3) entered blocking state
    [  169.924372] br0: port 1(eth2) entered learning state
    [  169.931894] br0: port 1(eth2) entered forwarding state
    [  170.125349] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  170.468561] prueth pruss2_eth eth3: Link is Down
    [  171.000053] br0: port 2(eth3) entered disabled state
    [  175.312930] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  175.320453] br0: port 2(eth3) entered blocking state
    [  175.337857] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.338087] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.350189] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.380167] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.394193] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.404409] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.524550] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.740131] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  175.796149] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  176.046240] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  181.091443] net_ratelimit: 4 callbacks suppressed
    [  181.091451] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  182.546207] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  183.056586] prueth pruss2_eth eth2: Link is Down
    [  183.100060] br0: port 1(eth2) entered disabled state
    [  189.592546] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  189.600067] br0: port 1(eth2) entered blocking state
    [  189.925191] br0: port 2(eth3) entered learning state
    [  189.935434] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  190.046214] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  190.170152] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  190.569019] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  190.925403] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  190.935539] br0: port 2(eth3) entered blocking state
    [  193.924184] br0: port 1(eth2) entered learning state
    [  193.931912] br0: port 1(eth2) entered forwarding state
    [  200.175246] prueth pruss2_eth eth3: Link is Down
    [  200.220061] br0: port 2(eth3) entered disabled state
    [  204.747688] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  204.755209] br0: port 2(eth3) entered blocking state
    [  204.785396] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.801479] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.810144] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.821962] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.832174] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.842458] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  204.915155] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  205.046216] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  205.160113] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  205.296233] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  212.094419] net_ratelimit: 5 callbacks suppressed
    [  212.094427] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  214.489376] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  216.538888] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  220.216061] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  221.507950] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  225.225649] prueth pruss2_eth eth2: Link is Down
    [  225.270085] br0: port 1(eth2) entered disabled state
    [  228.470009] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  228.477530] br0: port 1(eth2) entered blocking state
    [  228.587770] prueth pruss2_eth eth2: Link is Down
    [  229.580068] br0: port 1(eth2) entered disabled state
    [  230.924191] br0: port 2(eth3) entered learning state
    [  230.968010] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  230.975529] br0: port 1(eth2) entered blocking state
    [  231.271966] prueth pruss2_eth eth2: Link is Down
    [  232.040057] br0: port 1(eth2) entered disabled state
    [  232.924188] br0: port 2(eth3) entered forwarding state
    [  242.580550] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  242.588056] br0: port 1(eth2) entered blocking state
    [  242.679684] prueth pruss2_eth eth2: Link is Down
    [  243.640062] br0: port 1(eth2) entered disabled state
    [  252.468231] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  252.475754] br0: port 1(eth2) entered blocking state
    [  252.487108] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  252.506877] br0: port 2(eth3) entered blocking state
    [  254.924191] br0: port 1(eth2) entered learning state
    [  254.933884] br0: port 1(eth2) entered forwarding state
    [  265.514155] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  271.012596] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  271.341957] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  275.803788] prueth pruss2_eth eth3: Link is Down
    [  275.841331] br0: port 2(eth3) entered disabled state
    [  280.968184] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  280.975704] br0: port 2(eth3) entered blocking state
    [  280.994746] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.002161] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.002874] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.024827] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.034735] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.045088] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.173779] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.184030] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.296305] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  281.546277] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  288.198865] net_ratelimit: 5 callbacks suppressed
    [  288.198873] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  288.431298] prueth pruss2_eth eth2: Link is Down
    [  288.470055] br0: port 1(eth2) entered disabled state
    [  291.595626] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  291.603148] br0: port 1(eth2) entered blocking state
    [  295.924194] br0: port 1(eth2) entered learning state
    [  295.931714] br0: port 1(eth2) entered forwarding state
    [  296.061273] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  298.588594] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  303.318931] prueth pruss2_eth eth3: Link is Down
    [  303.380060] br0: port 2(eth3) entered disabled state
    [  309.363363] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  309.370880] br0: port 2(eth3) entered blocking state
    [  309.383486] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.393725] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.403987] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.413949] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.424460] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.436093] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.489720] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  309.796337] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  310.046206] br0: received packet on eth2 with own address as source address (addr:54:da+-----------------------------+
    [  310.376525] br0: received packet on eth2 with own address as source address (addr:54:da|                             |
    [  316.061495] net_ratelimit: 5 callbacks suppressed                                      |  Cannot open /dev/ttyUSB1!  |
    [  316.061503] br0: received packet on eth2 with own address as source address (addr:54:da|                             |
    [  319.341642] br0: received packet on eth2 with own address as source address (addr:54:da+-----------------------------+
    [  320.101012] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  323.393433] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  326.638507] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  329.305920] prueth pruss2_eth eth2: Link is Down
    [  329.350081] br0: port 1(eth2) entered disabled state
    [  332.582268] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  332.589792] br0: port 1(eth2) entered blocking state
    [  334.924194] br0: port 1(eth2) entered learning state
    [  334.929711] br0: port 1(eth2) entered forwarding state
    [  337.807765] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  341.681801] prueth pruss2_eth eth3: Link is Down
    [  341.720068] br0: port 2(eth3) entered disabled state
    [  348.912866] prueth pruss2_eth eth3: Link is Up - 100Mbps/Full - flow control off
    [  348.920395] br0: port 2(eth3) entered blocking state
    [  348.938791] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  348.948892] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  348.960118] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  348.970700] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  348.983186] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  349.046226] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  349.296211] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  349.546220] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  349.760164] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  349.892445] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  355.543796] net_ratelimit: 4 callbacks suppressed
    [  355.543804] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  356.522557] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  361.296227] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  363.200944] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  364.350040] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  365.774661] prueth pruss2_eth eth2: Link is Down
    [  365.810059] br0: port 1(eth2) entered disabled state
    [  370.331075] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  370.338597] br0: port 1(eth2) entered blocking state
    [  371.924607] br0: port 2(eth3) entered learning state
    [  371.934885] br0: received packet on eth3 with own address as source address (addr:54:da:ea:0a:38:60, vlan:0)
    [  371.945031] br0: port 2(eth3) entered blocking state
    [  373.924379] br0: port 1(eth2) entered learning state
    [  373.933380] br0: port 1(eth2) entered forwarding state
    [  377.029026] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  378.881327] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    [  379.748961] br0: received packet on eth2 with own address as source address (addr:54:da:ea:0a:38:61, vlan:0)
    
    

    cheers,
    -roger

  • Roger:

       I am going through the source code and I see in kernel file ./net/bridge/br_stp-bpdu.c:

    void br_stp_rcv(const struct stp_proto *proto, struct sk_buff *skb,
            struct net_device *dev)
    {
        struct net_bridge_port *p;
        struct net_bridge *br;
        const unsigned char *buf;

        if (!pskb_may_pull(skb, 4))
            goto err;

        /* compare of protocol id and version */
        buf = skb->data;
        if (buf[0] != 0 || buf[1] != 0 || buf[2] != 0)
            goto err;

        p = br_port_get_check_rcu(dev); ----> THIS ALWAYS RETURN NULL !!!
        if (!p)
            goto err;

    It looks like a locking mechanism is preventing BPDU frames to move forward.

    Regards

    Billa

  • Billa,

    Is the switch you're using a managed switch?  I saw an article on the Zyxel web site discussing configuration related to BDPU frames:

    https://kb.zyxel.com/KB/searchArticle!gwsViewDetail.action?articleOid=007013&lang=EN

    Can you try with a simple unmanaged switch to see if the issue is still there?

    Best regards,
    Brad

  • Brad.

       The switches I am using are managed switches as they can be configured by user.

    As far as I know in a RSTP network all the switching devices have to be configured

    in RSTP mode to properly set up the correct path and avoid looping.

    I guess that an unmanaged switch cannot be configured in RSTP mode and

    BPDU frames are stopped from being forwarded due to their special multicast address.

    Regards

    Billa

  • Hi

     I am a little bit confused. I see that there is a PRU firmware called am57xx-pru0-prusw-fw.elf that is supposed to be loaded when RSTP is enabled, but instead the firmware loaded is am57xx-pru0-prueth-fw.elf. Is this correct?

    On the other hand I am trying going through the code and have found that in the next function

    void br_stp_rcv(const struct stp_proto *proto, struct sk_buff *skb,
            struct net_device *dev)
    {
        struct net_bridge_port *p;
        struct net_bridge *br;
        const unsigned char *buf;

        if (!pskb_may_pull(skb, 4))
            goto err;

        /* compare of protocol id and version */
        buf = skb->data;
        if (buf[0] != 0 || buf[1] != 0 || buf[2] != 0) <------------------------------- FOR RSTP buf[2] must be 2 !!!!!!!!!
            goto err;

    If I follow down the code I find another things such as

        if (br->stp_enabled != BR_KERNEL_STP)  <-------------------------- I see that it is BR_USER_STP !!!!
            goto out;

    I dont know if there is something wrong in the RSTP configuration?

    Could you explain this?

    Regards

    Billa

  • I think that I am working in STP Userspace mode rather than in STP Kernel mode.

  • Brad, Roger

       Which PRU firmware has to be downloaded for RSTP managamenet:

                  "ti-pruss/am57xx-pru0-prueth-fw.elf",
                  "ti-pruss/am57xx-pru0-pruhsr-fw.elf",
                 "ti-pruss/am57xx-pru0-pruprp-fw.elf",
                 "ti-pruss/am57xx-pru0-prusw-fw.elf"

    ?

    I guess that it should be "ti-pruss/am57xx-pru0-prusw-fw.elf" so that RSTP stack can make use of the switching capabilities such as forwrding, blocking or unblocking a port?

    I see that the PRU firmware loaded is "ti-pruss/am57xx-pru0-prueth-fw.elf", so I guess that none switching capabilities will be available?

    I am trying with "ethtool" to offload the switching capabilities, but so far I could get "ti-pruss/am57xx-pru0-prusw-fw.elf" loaded.

    Regards

    Billa

  • Billa,

    You are right, looks like something more needs to be done to make the drive switch to pru switch firmware and L2 offload. I will add Murali to the thread. He could assist us on what needs to be done.

    regards,
    Roger

  • Billa,

    As per this document

    We need to load prueth driver with module parameters pruss1_ethtype=3 ti_prueth.pruss2_ethtype=3

    Either using kernel commandline boot parmaeter or unloading prueth driver and loading it with the right ethtype parameter

    cheers,
    -roger

  • Roger

     Yes I realized and was trying to load PRU switching firmware with "ethtool -K eth1 l2-fw-offload on" and "ethtool -K eth2 l2-fw-offload on" but so far I have been able.

    I have put some printk messages in prueth.c in switching functions, that from my point of view, have to be called at some point because they set and get the RSTP states in the PRU. They are not being called so my suspect is that the RSTP will not work fully complete until these functions are called.

    Regarding ethtype=3, this is switch mode in PRU and it looks that it tries to load "am57xx-pru0-prusw-fw.elf" in this mode.

    Right now I am debugging basically prueth.c driver until I get it using the commented switching functions. So any help in this direction will be welcome.

    Regards

    Billa

  • Hello Billa,

    ethtool way of changing Ethernet mode to SWITCH was not supported in SDK 6.x release. As Roger has mentioned, it is controlled through module parameter. Please try and let us know. If you use prueth (emac) firmware, it should still work and all of the STP port states are managed within the Linux bridge layer. So if it is not working, it might be because the user space RSTP daemon is not having a chance to run to transition to the forward state in a highly loaded system. You log indicates that SETLINK message is not received in kernel and the same has to come from RSTP daemon. You might want to raise the priority of the daemon and see if that helps. Also wondering what is the CPU load at the DUT? What is the rate of traffic generated to the DUT? Are you using RT Linux kernel? The PRU Driver interface has a limited amount of buffering (4 MTU buffers ~6K).  AM5708 is a single Core. So CPU cycle usage to be monitored to not overload the system.

    Murali

  • Hi:

       I tried with boot parameters but it does not work. Yes I use "ti-pruss/am57xx-pru0-prueth-fw.elf".

    Well in my case even I don´t think that there is high load in the system (see attached file with high ethernet traffic) as console and other task work fine.

    What I can tell you is that if I load hsr firmware it works. HSR firmware has also a switching feature so this may helps. I guess that it may lack of the functionality

    of a normal swicth such as the ability to open/close a port (something needed by RSTP).

    I will continue to try to find a way to load sw "ti-pruss/am57xx-pru0-prusw-fw.elf"firmware and check through the help of printks if switching functions are called in prueth.c.

    I suppose that if we get that these switching functions in prueth.c are called it means that we are in the good direction, because I think that those are the only functions that can make the PRU firmware to block/unblock the ports. I feel that eventually this "ti-pruss/am57xx-pru0-prueth-fw.elf" will have to run in PRU.

    Regards

    Billa

  • Sorry, attached is the file.

    Tasks: 174 total,   1 running, 173 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us, 57.7 sy,  0.0 ni, 10.2 id,  0.0 wa,  0.0 hi, 31.8 si,  0.0 st
    MiB Mem :    458.8 total,    316.7 free,     46.4 used,     95.6 buff/cache
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.    394.2 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
       94 root     -51   0       0      0      0 S  41.3   0.0   1:03.01 irq/90-4+ 
     1606 root     -51   0       0      0      0 S  16.8   0.0   0:24.34 irq/191-+ 
     1611 root     -51   0       0      0      0 S  16.8   0.0   0:20.32 irq/190-+ 
        9 root      20   0       0      0      0 S   9.0   0.0   0:14.70 ksoftirq+ 
     1659 root      20   0    2988   1884   1480 R   1.2   0.4   0:00.20 top       
       25 root      20   0       0      0      0 I   0.3   0.0   0:00.69 kworker/+ 
      122 root      20   0    1728    996    944 S   0.3   0.2   0:00.56 rngd      
      338 root      20   0    9204   5940   3908 S   0.3   1.3   0:00.32 snmpd     
      365 redis     20   0   28528   2748   1996 S   0.3   0.6   0:03.58 redis-se+ 
        1 root      20   0   32872   5420   3656 S   0.0   1.2   0:08.80 systemd   
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd  
        3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp    
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_+ 
        5 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker/+ 
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.01 kworker/+ 
        7 root      20   0       0      0      0 I   0.0   0.0   0:00.13 kworker/+ 
        8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percp+ 
       10 root      -2   0       0      0      0 S   0.0   0.0   0:00.39 ktimerso+ 
       11 root      -2   0       0      0      0 I   0.0   0.0   0:00.09 rcu_pree+ 
       12 root      -2   0       0      0      0 I   0.0   0.0   0:00.00 rcu_sched 
       13 root      -2   0       0      0      0 S   0.0   0.0   0:00.00 rcub/0    
       14 root      -2   0       0      0      0 S   0.0   0.0   0:00.40 rcuc/0    
       15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kswork    
       16 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 posixcpu+ 
       17 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kdevtmpfs 
    

  • Looks like CPU cycle usage is 90% which is pretty high. Could you tel mel at what CPU load this works OK and at what load it fails for you? It seems that the BPDUs are not coming through the port that is up. Is there a way you can check that by doing a tcpdump for example? Another thing I have noticed is that RSTP is fully functional only in SDK 6.03. Any reason why you are using 6.02? Could you try to use Switch driver from 6.03? or you are already using it?

  • It even fails with a CPU load less than 10% (see attached file).

    Right now at this stage of the project we cannot move to SDK 6.03 as we are about to finish the current release.

    What files should I use for SDK 6.0 switch driver? prueth.c plus PRU firmwares?

    otal,   2 running, 140 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  5.1 sy,  0.0 ni, 92.9 id,  0.0 wa,  0.0 hi,  2.0 si,  0.0 st
    MiB Mem :    458.8 total,    317.7 free,     45.4 used,     95.7 buff/cache
    MiB Swap:      0.0 total,      0.0 free,      0.0 used.    395.2 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
       94 root     -51   0       0      0      0 S   2.3   0.0   0:04.89 irq/90-4+ 
        9 root      20   0       0      0      0 R   1.3   0.0   0:01.24 ksoftirq+ 
     1642 root     -51   0       0      0      0 S   1.3   0.0   0:00.87 irq/191-+ 
     1647 root     -51   0       0      0      0 S   1.3   0.0   0:00.41 irq/190-+ 
     1702 root      20   0    2864   1860   1480 R   0.7   0.4   0:00.10 top       
       14 root      -2   0       0      0      0 S   0.3   0.0   0:00.42 rcuc/0    
       80 root     -51   0       0      0      0 S   0.3   0.0   0:00.10 irq/79-o+ 
      482 redis     20   0   28528   2684   1932 S   0.3   0.6   0:03.59 redis-se+ 
     1537 root      20   0       0      0      0 I   0.3   0.0   0:00.73 kworker/+ 
        1 root      20   0   32812   5360   3600 S   0.0   1.1   0:08.79 systemd   
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd  
        3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp    
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_+ 
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.01 kworker/+ 
        8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percp+ 
       10 root      -2   0       0      0      0 S   0.0   0.0   0:00.42 ktimerso+ 
       11 root      -2   0       0      0      0 I   0.0   0.0   0:00.10 rcu_pree+ 
       12 root      -2   0       0      0      0 I   0.0   0.0   0:00.00 rcu_sched 
       13 root      -2   0       0      0      0 S   0.0   0.0   0:00.00 rcub/0    
       15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kswork    
       16 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 posixcpu+ 
       17 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kdevtmpfs 
       18 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns     
       19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_task+ 
       20 root     -51   0       0      0      0 S   0.0   0.0   0:00.00 irq/22-l+
    

  • I got to load and run "am57xx-pruX-prusw-fw.elf" in the PRU by configuring the "ti_prueth.prussX_ethtype" variable.

    I also put some printks in "prueth.c" file to confirm that functions comuncating directly with PRU are called, such as "prueth_switchdev_attr_set(). I can also confirm that these kind of functions are not called if "am57xx-pruX-prusw-fw.elf" is not running in PRU.

    It does not still work properly. Attached is the log file ("rstp_log.txt") where some eth1 and eth2 plugs/unplugs are done, along with some printks such as when BPDUs are received, so you can trace the whole frame path.

    Also attcahed is the script file ("kk.sh") to configure RSTP. Could you please that the sequences there are correct? I tried many.rstp_log.txt

    #!/bin/bash
    
    echo "-----------------------------"
    echo "Get MAC & IPs information ..."
    echo "-----------------------------"
    MAC_A="00:A0:F4:DE:AD:11"
    MAC_B="00:A0:F4:DE:AD:22"
    IP_A="192.168.33.187"
    MASK_A="255.255.255.0"
    GW_A="0.0.0.0"
    IP_B="3.111.33.187"
    MASK_B="255.255.255.0"
    GW_B="0.0.0.0"
    sleep 1
    
    echo "----------------------------------"
    echo "Set eth1 & eth2 interfaces down .."
    echo "----------------------------------"
    ifconfig eth1 0.0.0.0 down
    ifconfig eth2 0.0.0.0 down
    sleep 5
    
    echo "-----------------------------------------------------"
    echo "Set MAC address ${MAC_A} to eth1 & eth2 interfaces .."
    echo "-----------------------------------------------------"
    ifconfig eth1 hw ether ${MAC_A}
    ifconfig eth2 hw ether ${MAC_B}
    sleep 5
    
    echo "--------------------------------"
    echo "Set eth1 & eth2 interfaces up .."
    echo "--------------------------------"
    ifconfig eth1 up
    ifconfig eth2 up
    sleep 5
    
    echo "-------------------------------------------------"
    echo "Create br0 interface and add eth1 & eth2 ports .."
    echo "-------------------------------------------------"
    brctl addbr br0
    brctl addif br0 eth1
    brctl addif br0 eth2
    sleep 5
    
    echo "--------------------"
    echo "Start bridge br0 ..."
    echo "--------------------"
    brctl stp br0 on
    sleep 5
    
    echo "---------------------"
    echo "Set rstp settings ..."
    echo "---------------------"
    mstpctl settreeprio br0 0 8
    mstpctl settreeportprio br0 eth1 0 8
    mstpctl setportpathcost br0 eth1 200000
    mstpctl settreeportprio br0 eth2 0 8
    mstpctl setportpathcost br0 eth2 200000
    sleep 5
    
    echo "---------------------------------------"
    echo "Switch bridge mode from stp to rstp ..."
    echo "---------------------------------------"
    mstpctl setforcevers br0 rstp
    sleep 5
    
    echo "---------------------------------------"
    echo "Set br0 with IP=${IP_A} interface up .."
    echo "---------------------------------------"
    ifconfig br0 ${IP_A} netmask ${MASK_A} up
    sleep 5
    
    echo "------------------------------------"
    echo "RSTP ready for PTP configuration ..."
    echo "------------------------------------"
    ifconfig > /tmp/start_redundancy.ok
    sleep 5
    
    
    
    

  • Hi Roger:

      Any progress?

    I continue to debug the RSTP flow from the driver (incoming messages) to the PRU firmware when driver sets the RSTP state.

    1.- I have seen the following:

       - when it works fine I see that port2 change from blocking to forwarding state happens only if BPDU in port1 has been received by driver (see attached file)

      - when it fails I see that BPDU in port1 is not received by driver.

    In both cases BPDU in port 2 is received when cable is plugged. But when it fails it is receiving BPDU continously in port2, but not BPDU in port 1 is received.

    I know that BDPU in port1 and port2 are in the wire every 1 second, so the BPDUs are there.

    What it is surprusing for me is the fact that not all the BDDUs in the wire reaches the prueth driver, only when there is a change. It looks as if BDPUs are filtered out in pru firmware.

    See below

    ------------------------------------------------------ OK --------------------------------------------------

    [  134.804788] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  134.812343] br0: port 2(eth2) entered blocking state
    [  134.824564] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  134.833858] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  134.837805]
    [  134.837805] Billa RECEVIVED BPDU over port=1  <------- HERE IS BPDU over port 1 !!!!!!!!
    [  134.839496]
    [  134.839496] Billa RECEVIVED BPDU over port=2
    [  134.854647] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  134.861553] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  134.869298] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  134.876092] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  134.883678] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  134.889823] br0: port 2(eth2) entered learning state
    [  134.897095] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  134.904667] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  134.911589] br0: port 2(eth2) entered forwarding state
    [  134.918954] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  134.932929] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2

    ---------------------------------------------- FAIL ---------------------------------------

    [  160.804803] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  160.812351] br0: port 2(eth2) entered blocking state
    [  160.825300] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  160.835661] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  160.842570] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  160.849927] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  160.857521] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  160.864441] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  160.871873] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  160.884086]
    [  160.884086] Billa RECEVIVED BPDU over port=2
    [  161.884138]                                                                     <------------------- NO BPDU over port1 received !!!!!

    [   85.109781] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you 
    need this.
    [   85.397912] 
    [   85.397912] Billa RECEVIVED BPDU over port=1
    [   85.880258] 
    [   85.880258] Billa RECEVIVED BPDU over port=2
    [   86.150011] br0: port 1(eth1) entered blocking state
    [   86.155196] br0: port 1(eth1) entered disabled state
    [   86.160364] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:1
    [   86.169783] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:1
    [   86.177540] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:1
    [   86.188540] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [   86.196626] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [   86.207145] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:1
    [   86.214760] prueth pruss2_eth: attr set: ageing time:30000 port:1
    [   86.220879] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:1
    [   86.229213] prueth pruss2_eth: attr set: ageing time:30000 port:1
    [   86.235962] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:1
    [   86.242867] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:1
    [   86.250112] Billa prueth_switchdev_attr_set() attr set: id 8 (NOTSUPP) port:1
    [   86.257362] prueth pruss2_eth: attr set: id 8 (NOTSUPP) port:1
    [   86.880304] 
    [   86.880304] Billa RECEVIVED BPDU over port=2
    [   87.210979] br0: port 2(eth2) entered blocking state
    [   87.215990] br0: port 2(eth2) entered disabled state
    [   87.221149] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [   87.230609] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [   87.238301] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [   87.245959] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:1
    [   87.253666] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [   87.263773] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [   87.270678] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [   87.282425] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [   87.290093] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [   87.296906] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [   87.304501] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [   87.310625] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [   87.318287] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [   87.325362] Billa prueth_switchdev_attr_set() attr set: id 8 (NOTSUPP) port:2
    [   87.332533] prueth pruss2_eth: attr set: id 8 (NOTSUPP) port:2
    --------------------
    Start bridge br0 ...
    --------------------
    ---------------------------------------
    Switch bridge mode from stp to rstp ...
    ---------------------------------------
    ---------------------------------------
    Set br0 with IP=192.168.33.187 interface up ..
    --------------[  102.410023] br0: port 2(eth2) entered blocking state
    -------------------------
    [  102.418798] br0: port 1(eth1) entered blocking state
    [  102.432610] IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
    [  102.438601] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  102.445663] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  102.452568] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  102.460402] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  102.467240] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  102.474853] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  102.480976] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [  102.488676] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [  102.495700] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:1
    [  102.503131] prueth pruss2_eth: attr set: ageing time:30000 port:1
    [  102.510022] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:1
    [  102.517545] prueth pruss2_eth: attr set: ageing time:30000 port:1
    [  102.524535] br0: port 1(eth1) entered blocking state
    [  102.534464] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [  102.541372] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:1
    [  102.552671] br0: port 2(eth2) entered blocking state
    [  102.560506] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  102.577406] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  102.606747] br0: port 1(eth1) entered learning state
    [  102.612848] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:1
    [  102.620113] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:1
    [  102.627776] br0: port 2(eth2) entered learning state
    [  102.634492] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  102.641399] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  102.644928] 
    [  102.644928] Billa RECEVIVED BPDU over port=1
    [  102.645033] 
    [  102.645033] Billa RECEVIVED BPDU over port=1
    [  102.645111] 
    [  102.645111] Billa RECEVIVED BPDU over port=2
    [  102.645504] 
    [  102.645504] Billa RECEVIVED BPDU over port=1
    [  102.648652] 
    [  102.648652] Billa RECEVIVED BPDU over port=2
    [  102.679460] br0: port 1(eth1) entered forwarding state
    [  102.688094] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:1
    [  102.695749] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:1
    [  102.702676] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
    [  102.714670] br0: port 2(eth2) entered forwarding state
    [  102.722640] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  102.729967] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  102.746856] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  102.753063] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  102.773827] Billa prueth_sw_port_mdb_add() MDB add: eth1: vid 0:33:33:ff:de:ad:11  ports: 1
    [  102.782219] prueth pruss2_eth: MDB add: eth1: vid 0:33:33:ff:de:ad:11  ports: 1
    [  102.799502] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  102.815570] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  102.835139] Billa prueth_sw_port_mdb_add() MDB add: eth2: vid 0:33:33:ff:de:ad:11  ports: 1
    [  102.853394] prueth pruss2_eth: MDB add: eth2: vid 0:33:33:ff:de:ad:11  ports: 1
    [  103.398074] 
    [  103.398074] Billa RECEVIVED BPDU over port=1
    [  103.403869] 
    [  103.403869] Billa RECEVIVED BPDU over port=2
    [  103.409645] 
    [  103.409645] Billa RECEVIVED BPDU over port=2
    [  104.753422] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  104.760407] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  104.766975] Billa prueth_sw_port_mdb_add() MDB add: eth1: vid 0:33:33:00:01:00:03  ports: 1
    [  104.775549] prueth pruss2_eth: MDB add: eth1: vid 0:33:33:00:01:00:03  ports: 1
    [  104.782892] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  104.789951] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  104.796312] Billa prueth_sw_port_mdb_add() MDB add: eth2: vid 0:33:33:00:01:00:03  ports: 1
    [  104.804822] prueth pruss2_eth: MDB add: eth2: vid 0:33:33:00:01:00:03  ports: 1
    [  104.812163] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  104.819175] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 1
    [  104.825518] Billa prueth_sw_port_mdb_add() MDB add: eth1: vid 0:33:33:00:00:00:fb  ports: 1
    [  104.834070] prueth pruss2_eth: MDB add: eth1: vid 0:33:33:00:00:00:fb  ports: 1
    [  104.841412] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  104.848400] Billa prueth_switchdev_obj_add() obj_add: id 3 port: 2
    [  104.854733] Billa prueth_sw_port_mdb_add() MDB add: eth2: vid 0:33:33:00:00:00:fb  ports: 1
    [  104.863125] prueth pruss2_eth: MDB add: eth2: vid 0:33:33:00:00:00:fb  ports: 1
    ------------------------------------
    RSTP ready for PTP configuration ...
    ------------------------------------
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  114.004998] prueth pruss2_eth eth2: Link is Down
    [  114.033448] br0: port 2(eth2) entered disabled state
    [  114.044127] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  114.065272] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  114.072182] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  115.407379] 
    [  115.407379] Billa RECEVIVED BPDU over port=1
    [  116.398146] 
    [  116.398146] Billa RECEVIVED BPDU over port=1
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  121.284794] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  121.292351] br0: port 2(eth2) entered blocking state
    [  121.304551] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  121.314787] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  121.317781] 
    [  121.317781] Billa RECEVIVED BPDU over port=1
    [  121.319462] 
    [  121.319462] Billa RECEVIVED BPDU over port=2
    [  121.334197] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  121.341102] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  121.348864] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  121.355652] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  121.363081] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  121.370062] br0: port 2(eth2) entered learning state
    [  121.376657] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  121.384230] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  121.391152] br0: port 2(eth2) entered forwarding state
    [  121.398086] 
    [  121.398086] Billa RECEVIVED BPDU over port=1
    [  121.404771] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  121.411677] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  122.881136] 
    [  122.881136] Billa RECEVIVED BPDU over port=2
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  128.565000] prueth pruss2_eth eth2: Link is Down
    [  128.593439] br0: port 2(eth2) entered disabled state
    [  128.603628] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  128.623922] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  128.630832] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  130.407404] 
    [  130.407404] Billa RECEVIVED BPDU over port=1
    [  131.398205] 
    [  131.398205] Billa RECEVIVED BPDU over port=1
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  134.804788] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  134.812343] br0: port 2(eth2) entered blocking state
    [  134.824564] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  134.833858] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  134.837805] 
    [  134.837805] Billa RECEVIVED BPDU over port=1
    [  134.839496] 
    [  134.839496] Billa RECEVIVED BPDU over port=2
    [  134.854647] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  134.861553] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  134.869298] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  134.876092] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  134.883678] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  134.889823] br0: port 2(eth2) entered learning state
    [  134.897095] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  134.904667] Billa prueth_switchdev_attr_set() attr set: stp state:2 port:2
    [  134.911589] br0: port 2(eth2) entered forwarding state
    [  134.918954] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  134.932929] Billa prueth_switchdev_attr_set() attr set: stp state:3 port:2
    [  135.398195] 
    [  135.398195] Billa RECEVIVED BPDU over port=1
    [  135.881730] 
    [  135.881730] Billa RECEVIVED BPDU over port=2
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  155.605026] prueth pruss2_eth eth2: Link is Down
    [  155.633453] br0: port 2(eth2) entered disabled state
    [  155.644698] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  155.663767] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  155.671466] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  156.407544] 
    [  156.407544] Billa RECEVIVED BPDU over port=1
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  157.398358] 
    [  157.398358] Billa RECEVIVED BPDU over port=1
    [  160.804803] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  160.812351] br0: port 2(eth2) entered blocking state
    [  160.825300] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  160.835661] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  160.842570] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  160.849927] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  160.857521] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  160.864441] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  160.871873] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  160.884086] 
    [  160.884086] Billa RECEVIVED BPDU over port=2
    [  161.884138] 
    [  161.884138] Billa RECEVIVED BPDU over port=2
    [  162.884180] 
    [  162.884180] Billa RECEVIVED BPDU over port=2
    [  163.886182] 
    [  163.886182] Billa RECEVIVED BPDU over port=2
    [  164.884858] 
    [  164.884858] Billa RECEVIVED BPDU over port=2
    [  165.884901] 
    [  165.884901] Billa RECEVIVED BPDU over port=2
    [  166.884948] 
    [  166.884948] Billa RECEVIVED BPDU over port=2
    [  168.085007] prueth pruss2_eth eth2: Link is Down
    [  168.113456] br0: port 2(eth2) entered disabled state
    [  168.123577] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  168.142185] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  168.150026] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    
    root@am57xx-evm:/mnt/data/APPROOT/binn# 
    root@am57xx-evm:/mnt/data/APPROOT/binn# [  172.244791] prueth pruss2_eth eth2: Link is Up - 100Mbps/Full - flow control off
    [  172.252338] br0: port 2(eth2) entered blocking state
    [  172.264733] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  172.275130] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  172.282041] Billa prueth_switchdev_attr_set() attr set: stp state:4 port:2
    [  172.289381] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  172.296990] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  172.303121] Billa prueth_switchdev_attr_set() attr set: ageing time:30000 port:2
    [  172.311537] prueth pruss2_eth: attr set: ageing time:30000 port:2
    [  173.884686] 
    [  173.884686] Billa RECEVIVED BPDU over port=2
    [  174.884730] 
    [  174.884730] Billa RECEVIVED BPDU over port=2
    [  176.405024] prueth pruss2_eth eth2: Link is Down
    [  176.433442] br0: port 2(eth2) entered disabled state
    [  176.442781] Billa prueth_switchdev_attr_get() attr get PPID AM57XX-PRUSS2: port:2
    [  176.453609] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    [  176.460590] Billa prueth_switchdev_attr_set() attr set: stp state:0 port:2
    
    

    [  161.884138] Billa RECEVIVED BPDU over port=2
    [  162.884180]
    [  162.884180] Billa RECEVIVED BPDU over port=2
    [  163.886182]
    [  163.886182] Billa RECEVIVED BPDU over port=2
    [  164.884858]                                                    
    [  164.884858] Billa RECEVIVED BPDU over port=2
    [  165.884901]
    [  165.884901] Billa RECEVIVED BPDU over port=2
    [  166.884948]
    [  166.884948] Billa RECEVIVED BPDU over port=2

    2.- I have also seen the next message in the console when the RSPT script is executing:

       [   85.109781] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

    I dont know if this can affect.

    3.- I checked mstpd, ti_prueth.ko and am57xx-pruX-prusw-fw.elf files between IDK and my board.

    mstpd and am57xx-pruX-prusw-fw.elf are equal. But regarding the ti_prueth.ko I get an error when loading the module:

        [  14.714549] ti_prueth: disagrees about version of symbol module_layout

        [  14.810294] ti_prueth: disagrees about version of symbol module_layout

    Regards

    Billa



  • Jose Carlos Billalabeitia said:
    Right now at this stage of the project we cannot move to SDK 6.03 as we are about to finish the current release.

    Billa,

    Although your project might not be able to move versions, I think there's tremendous value from a debug perspective in having you test SDK 6.03.  Here is what I suggest:

    1. Please test out SDK 6.03 on your IDK.  We have had a lot of trouble being able to reproduce your issue.  Since we can't see it fail, the other option is that we need to get things working on your end (in any capacity, e.g. even a different SDK).
    2. Once you get to a point where you have a fully functional version, then we need to try and narrow down what fixed it (e.g. PRU firmware, linux patch, etc.).
    3. Finally we can take appropriate action to fix the issue in your system.

    Best regards,
    Brad

  • Brad:

      I think that things are getting worse with SDK6.03. It is easier to make it fail, even with lower high traffic.

    I see that CPU usage raises up to 100% with tasks such as ksoftirqd, ktimersoft, systemd-network, mstpd...

    and eventually sometimes it crashes (see log file).

    I making a lot of tests with my setup, so I would suggest to work in parallel with my comments and data based

    on my tests. I think that they may help us to discover if I am doing something wrong, scripts sequences are not correct,

    bugs in implementation ....

    Regards

    Billa

    #!/bin/bash
    
    echo "Get MAC & IPs information ..."
    MAC_A="00:a0:f4:de:ad:cc"
    MAC_B="00:a0:f4:de:ad:cd"
    IP_A="192.168.33.188"
    MASK_A="255.255.255.0"
    GW_A="192.168.33.1"
    IP_B="3.11.33.188"
    MASK_B="255.255.255.0"
    GW_B="3.111.33.1"
    sleep 1
    
    
    echo "Set DUAL interfaces down .."
    ifconfig eth2 0.0.0.0 down
    sleep 1
    ifconfig eth3 0.0.0.0 down
    sleep 5
    
    echo "Set MAC address ${MAC_A} to eth1 & eth2 interfaces .."
    ifconfig eth2 hw ether ${MAC_A}
    sleep 1
    ifconfig eth3 hw ether ${MAC_B}
    sleep 5
    
    echo "Set eth2 & eth3 interfaces up .."
    ifconfig eth2 up
    sleep 1
    ifconfig eth3 up
    sleep 5
    
    echo "Create br0 interface and add eth2 & eth3 ports .."
    brctl addbr br0
    sleep 1
    brctl addif br0 eth2
    sleep 1
    brctl addif br0 eth3
    sleep 5
    
    echo "Start bridge br0 ..."
    brctl stp br0 on
    sleep 5
    
    echo "Switch bridge mode from stp to rstp ..."
    mstpctl setforcevers br0 rstp
    sleep 5
    
    echo "Set br0 with IP=${IP_A} interface up .."
    ifconfig br0 ${IP_A} netmask ${MASK_A} up
    sleep 5
    
    
    echo "RSTP ready for PTP configuration ..."
    ifconfig > /tmp/start_redundancy.ok
    sleep 1
    
    
         0.0 total,      0.0 free,      0.0 used.   1308.5 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                             
       10 root      -2   0       0      0      0 S  94.4   0.0   0:32.70 ktimersoftd/0                       
      172 systemd+  20   0   13244   3600   3260 R   2.3   0.2   0:17.43 systemd-network                     
      201 root      20   0       0      0      0 R   2.3   0.0   0:00.07 kworker/0:4+events_long             
        9 root      20   0       0      0      0 R   1.3   0.0   0:11.38 ksoftirqd/0                         
       23 root      -2   0       0      0      0 S   0.7   0.0   0:19.04 ktimersoftd/1                       
     1263 root      20   0    2996   1904   1488 R   0.7   0.1   0:01.23 top                                 
     1179 root      20   0    1796   1288   1168 S   0.3   0.1   0:22.54 mstpd                               
        1 root      20   0    7180   5532   3896 S   0.0   0.4   0:08.47 systemd                             
        2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd                            
        3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                              
        4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp                          
        5 root      20   0       0      0      0 I   0.0   0.0   0:00.01 kworker/0:0-events_long             
        6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-mmc_complete           
        7 root      20   0       0      0      0 I   0.0   0.0   0:00.00 kworker/u4:0-events_unbound         
        8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq                        
       11 root      -2   0       0      0      0 I   0.0   0.0   0:00.17 rcu_preempt                         
       12 root      -2   0       0      0      0 I   0.0   0.0   0:00.01 rcu_sched                           
       13 root      -2   0       0      0      0 S   0.0   0.0   0:00.00 rcub/0                              
       14 root      -2   0       0      0      0 S   0.0   0.0   0:00.34 rcuc/0                              
       15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kswork                              
       16 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 posixcputmr/0                       
       17 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0                         
       18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0                             
       19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1                             
       20 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/1                         
    [  295.453403] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
    [  295.453412] rcu:     Tasks blocked on level-0 rcu_node (CPUs 0-1): P172 P9
    [  295.453421] rcu:     (detected by 1, t=2102 jiffies, g=21765, q=4011)
    [  295.453431] systemd-network R  running task        0   172      1 0x00000000
    [  295.453440] Backtrace: 
    [  295.453464] [<c0a078e0>] (__schedule) from [<c0a081bc>] (preempt_schedule_common+0x30/0x60)
    [  295.453473]  r10:00000002 r9:c105c464 r8:80060113 r7:d29f3c94 r6:d29f3c8c r5:dff51344
    [  295.453477]  r4:ffffe000
    [  295.453488] [<c0a0818c>] (preempt_schedule_common) from [<c0a08244>] (preempt_schedule+0x58/0x5c)
    [  295.453492]  r5:dff51344 r4:d29f3c94
    [  295.453506] [<c0a081ec>] (preempt_schedule) from [<c0281818>] (rt_mutex_postunlock+0x54/0x6c)
    [  295.453516] [<c02817c4>] (rt_mutex_postunlock) from [<c0a0a39c>] (rt_mutex_futex_unlock+0xa4/0xac)
    [  295.453520]  r5:dff51344 r4:c1207488
    [  295.453528] [<c0a0a2f8>] (rt_mutex_futex_unlock) from [<c0a0be20>] (rt_spin_unlock+0x88/0x8c)
    [  295.453533]  r8:00000000 r7:00404100 r6:c105c46c r5:ffffe000 r4:c105c344
    [  295.453543] [<c0a0bd98>] (rt_spin_unlock) from [<c0231bc0>] (do_current_softirqs+0xcc/0x2ac)
    [  295.453551] [<c0231af4>] (do_current_softirqs) from [<c0231e7c>] (__local_bh_enable+0x88/0xa0)
    [  295.453557]  r10:d2bce674 r9:d227e700 r8:00000000 r7:d2bce600 r6:c1207488 r5:d1e13000
    [  295.453560]  r4:d2bce69c
    [  295.453572] [<c0231df4>] (__local_bh_enable) from [<c08b0858>] (__dev_queue_xmit+0x240/0x92c)
    [  295.453582] [<c08b0618>] (__dev_queue_xmit) from [<c08b0f58>] (dev_queue_xmit+0x14/0x18)
    [  295.453588]  r10:d0825010 r9:d150d000 r8:00000000 r7:d1e13000 r6:d0825300 r5:d0f72a80
    [  295.453591]  r4:0000013f
    [  295.453600] [<c08b0f44>] (dev_queue_xmit) from [<c09bd338>] (packet_sendmsg+0xb44/0x16a8)
    [  295.453610] [<c09bc7f4>] (packet_sendmsg) from [<c088f400>] (sock_sendmsg+0x1c/0x2c)
    [  295.453616]  r10:00000122 r9:d29f2000 r8:00531ed0 r7:00000040 r6:d11ba200 r5:c1207488
    [  295.453619]  r4:00000000
    [  295.453627] [<c088f3e4>] (sock_sendmsg) from [<c08904fc>] (__sys_sendto+0xcc/0x10c)
    [  295.453635] [<c0890430>] (__sys_sendto) from [<c0890560>] (sys_sendto+0x24/0x2c)
    [  295.453641]  r8:c0201204 r7:00000122 r6:005354d8 r5:00000014 r4:00531ed0
    [  295.453650] [<c089053c>] (sys_sendto) from [<c0201000>] (ret_fast_syscall+0x0/0x54)
    [  295.453654] Exception stack(0xd29f3fa8 to 0xd29f3ff0)
    [  295.453660] 3fa0:                   00531ed0 00000014 00000016 005354d8 0000013f 00000000
    [  295.453666] 3fc0: 00531ed0 00000014 005354d8 00000122 b6f2c968 00000000 00000000 00000000
    [  295.453670] 3fe0: 00000000 bed82a90 b6f292b0 b6d501b0
    [  295.453674] ksoftirqd/0     R  running task        0     9      2 0x00000000
    [  295.453681] Backtrace: 
    [  295.453694] [<c0a078e0>] (__schedule) from [<c0a081bc>] (preempt_schedule_common+0x30/0x60)
    [  295.453701]  r10:00000002 r9:c105c464 r8:80060113 r7:df8a3e94 r6:df8a3e8c r5:dff51344
    [  295.453704]  r4:ffffe000
    [  295.453713] [<c0a0818c>] (preempt_schedule_common) from [<c0a08244>] (preempt_schedule+0x58/0x5c)
    [  295.453717]  r5:dff51344 r4:df8a3e94
    [  295.453726] [<c0a081ec>] (preempt_schedule) from [<c0281818>] (rt_mutex_postunlock+0x54/0x6c)
    [  295.453734] [<c02817c4>] (rt_mutex_postunlock) from [<c0a0a39c>] (rt_mutex_futex_unlock+0xa4/0xac)
    [  295.453737]  r5:dff51344 r4:c1207488
    [  295.453744] [<c0a0a2f8>] (rt_mutex_futex_unlock) from [<c0a0be20>] (rt_spin_unlock+0x88/0x8c)
    [  295.453750]  r8:00000000 r7:04208040 r6:c105c46c r5:ffffe000 r4:c105c344
    [  295.453758] [<c0a0bd98>] (rt_spin_unlock) from [<c0231bc0>] (do_current_softirqs+0xcc/0x2ac)
    [  295.453765] [<c0231af4>] (do_current_softirqs) from [<c0231dd4>] (run_ksoftirqd+0x34/0x54)
    [  295.453771]  r10:00000000 r9:00000000 r8:c1207488 r7:c12174c0 r6:00000001 r5:df875140
    [  295.453773]  r4:ffffe000
    [  295.453782] [<c0231da0>] (run_ksoftirqd) from [<c02504ac>] (smpboot_thread_fn+0x2d4/0x320)
    [  295.453786]  r5:df875140 r4:ffffe000
    [  295.453795] [<c02501d8>] (smpboot_thread_fn) from [<c024c27c>] (kthread+0x160/0x168)
    [  295.453801]  r10:df87bddc r9:c02501d8 r8:df875140 r7:df8a2000 r6:00000000 r5:df875180
    [  295.453803]  r4:df8751c0
    [  295.453811] [<c024c11c>] (kthread) from [<c02010e0>] (ret_from_fork+0x14/0x34)
    [  295.453814] Exception stack(0xdf8a3fb0 to 0xdf8a3ff8)
    [  295.453819] 3fa0:                                     00000000 00000000 00000000 00000000
    [  295.453824] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [  295.453828] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [  295.453834]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c024c11c
    [  295.453836]  r4:df875180
    [  295.453840] systemd-network R  running task        0   172      1 0x00000000
    [  295.453847] Backtrace: 
    [  295.453859] [<c0a078e0>] (__schedule) from [<c0a081bc>] (preempt_schedule_common+0x30/0x60)
    [  295.453865]  r10:00000002 r9:c105c464 r8:80060113 r7:d29f3c94 r6:d29f3c8c r5:dff51344
    [  295.453867]  r4:ffffe000
    [  295.453877] [<c0a0818c>] (preempt_schedule_common) from [<c0a08244>] (preempt_schedule+0x58/0x5c)
    [  295.453881]  r5:dff51344 r4:d29f3c94
    [  295.453890] [<c0a081ec>] (preempt_schedule) from [<c0281818>] (rt_mutex_postunlock+0x54/0x6c)
    [  295.453898] [<c02817c4>] (rt_mutex_postunlock) from [<c0a0a39c>] (rt_mutex_futex_unlock+0xa4/0xac)
    [  295.453902]  r5:dff51344 r4:c1207488
    [  295.453909] [<c0a0a2f8>] (rt_mutex_futex_unlock) from [<c0a0be20>] (rt_spin_unlock+0x88/0x8c)
    [  295.453914]  r8:00000000 r7:00404100 r6:c105c46c r5:ffffe000 r4:c105c344
    [  295.453921] [<c0a0bd98>] (rt_spin_unlock) from [<c0231bc0>] (do_current_softirqs+0xcc/0x2ac)
    [  295.453929] [<c0231af4>] (do_current_softirqs) from [<c0231e7c>] (__local_bh_enable+0x88/0xa0)
    [  295.453934]  r10:d2bce674 r9:d227e700 r8:00000000 r7:d2bce600 r6:c1207488 r5:d1e13000
    [  295.453937]  r4:d2bce69c
    [  295.453945] [<c0231df4>] (__local_bh_enable) from [<c08b0858>] (__dev_queue_xmit+0x240/0x92c)
    [  295.453954] [<c08b0618>] (__dev_queue_xmit) from [<c08b0f58>] (dev_queue_xmit+0x14/0x18)
    [  295.453960]  r10:d0825010 r9:d150d000 r8:00000000 r7:d1e13000 r6:d0825300 r5:d0f72a80
    [  295.453963]  r4:0000013f
    [  295.453971] [<c08b0f44>] (dev_queue_xmit) from [<c09bd338>] (packet_sendmsg+0xb44/0x16a8)
    [  295.453978] [<c09bc7f4>] (packet_sendmsg) from [<c088f400>] (sock_sendmsg+0x1c/0x2c)
    [  295.453985]  r10:00000122 r9:d29f2000 r8:00531ed0 r7:00000040 r6:d11ba200 r5:c1207488
    [  295.453987]  r4:00000000
    [  295.453995] [<c088f3e4>] (sock_sendmsg) from [<c08904fc>] (__sys_sendto+0xcc/0x10c)
    [  295.454003] [<c0890430>] (__sys_sendto) from [<c0890560>] (sys_sendto+0x24/0x2c)
    [  295.454008]  r8:c0201204 r7:00000122 r6:005354d8 r5:00000014 r4:00531ed0
    [  295.454015] [<c089053c>] (sys_sendto) from [<c0201000>] (ret_fast_syscall+0x0/0x54)
    [  295.454019] Exception stack(0xd29f3fa8 to 0xd29f3ff0)
    [  295.454024] 3fa0:                   00531ed0 00000014 00000016 005354d8 0000013f 00000000
    [  295.454030] 3fc0: 00531ed0 00000014 005354d8 00000122 b6f2c968 00000000 00000000 00000000
    
    

                

  • Roger:

       I am tracing BPDU messaging and have noticed that when it fails BPDU in port 1 with flag=0x79 is not received (see attached file).

    Do you find any explanation for it?

    Regards

    Billa

    ------------------------------------------------------------------------------------------------------------------------------
    								PRU FIRMWARE --> am57xx-pruX-pruethsw-fw.elf
    ------------------------------------------------------------------------------------------------------------------------------
    
    									---------------
    									WORKING ---> OK
    									---------------
    
    				412.443733] prueth pruss2_eth eth2: Link is Down
    				[  412.473463] br0: port 2(eth2) entered disabled state
    
    				[  414.337720] BPDU RECEIVED with flag=79 on port 1!!!!
    				[  414.435969] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  415.328559] BPDU RECEIVED with flag=79 on port 1!!!!
    				[  416.435993] BPDU TRANSMITTED with flag=7c on port 1!!!!
    
    				-------------------------------------------------------------
    
    				[  418.164662] prueth pruss2_eth eth2: Link is Up
    
    				[  418.170574] BPDU RECEIVED with flag=79 on port 1!!!! 
    				[  418.179867] br0: port 2(eth2) entered blocking state
    
    				[  418.191487] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  418.328545] BPDU RECEIVED with flag=79 on port 1!!!!      <----- BDPU RECEIVED FROM PORT 1 WITH FLAG=0x79 !!!!!!
    				[  418.435967] BPDU TRANSMITTED with flag=7c on port 1!!!!
    
    
    				[  419.436758] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  419.444417] BPDU RECEIVED with flag=79 on port 2!!!!
    
    				[  419.451851] br0: port 2(eth2) entered learning state
    				[  419.459133] br0: port 2(eth2) entered forwarding state
    
    				-----------------------------------------------------------
    
    
    
    
    									---------------
    									WORKING ---> KO
    									---------------
    
    				[  446.244905] prueth pruss2_eth eth2: Link is Down
    				[  446.273491] br0: port 2(eth2) entered disabled state
    
    				[  447.337937] BPDU RECEIVED with flag=79 on port 1!!!!
    				[  447.435969] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  448.328745] BPDU RECEIVED with flag=79 on port 1!!!!
    				[  449.435994] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  451.436811] BPDU TRANSMITTED with flag=7c on port 1!!!!
    
    				------------------------------------------------------------
    
    				[  452.484675] prueth pruss2_eth eth2: Link is Up 
    				[  452.492222] br0: port 2(eth2) entered blocking state
    
    				[  452.505418] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  453.045782] BPDU RECEIVED with flag=0e on port 2!!!!      <----- NOT BDPU RECEIVED FROM PORT 1 WITH FLAG=0x79 !!!!!!!
    				[  453.435979] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  454.045680] BPDU RECEIVED with flag=0e on port 2!!!!
    
    
    				[  454.435989] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  455.045728] BPDU RECEIVED with flag=0e on port 2!!!!
    				[  455.435987] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  456.047881] BPDU RECEIVED with flag=3e on port 2!!!!
    
    				[  456.435964] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  457.046551] BPDU RECEIVED with flag=3e on port 2!!!!
    				[  457.435967] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  458.046451] BPDU RECEIVED with flag=3e on port 2!!!!
    				[  458.435967] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  459.046645] BPDU RECEIVED with flag=3e on port 2!!!!
    				[  459.435966] BPDU TRANSMITTED with flag=7c on port 1!!!!
    				[  460.046685] BPDU RECEIVED with flag=3e on port 2!!!!
    				[  460.435963] BPDU TRANSMITTED with flag=4e on port 2!!!!
    				[  461.046586] BPDU RECEIVED with flag=3e on port 2!!!!
    
    

  • Roger:

       Did you try IDK with SDK6.03?

    Regards

    Billa

  • Billa -- FYI, we are adding another engineer to try and reproduce these issues and help move this forward.  Sorry for the delay.  I am expecting some further updates soon.

    Best regards,
    Brad

  • Quick update to get everyone on the same page.  Billa has let us know that this RSTP feature from SDK 6.02 will not be utilized due to the lack of PTP support.  We are going to pause this effort for now (i.e. close the thread).

  • Well, the reason to leave this for now is not the lack of PTP, but the fact that I cannot get RSTP running in my hardware with SDK6.02.

    So it was decided to postpone the RSTP feature for a future release of the product.

    PTP was assumed that was not going to be in the current release with RSTP, but finally we were not able to have RSTP either.