Hi,
I am trying to configure interface in shared mode on p2041 custom board
the transmission is getting faied and the error counters is incremented
boot time log
fsl_mac: mac.c:416:mac_load() fsl_mac: FSL FMan MAC API based driver ()
fsl_mac b04e0000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac b04e0000.ethernet: FMan MAC address: 00:00:0e:46:11:fd
fsl_mac b04e2000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac b04e2000.ethernet: FMan MAC address: 00:00:0e:46:12:fd
fsl_mac b04e4000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac b04e4000.ethernet: FMan MAC address: 00:00:0e:46:13:fd
fsl_mac b04e6000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac b04e6000.ethernet: FMan MAC address: 00:00:0e:46:14:fd
fsl_mac b04e8000.ethernet: FMan dTSEC version: 0x08240101
fsl_mac b04e8000.ethernet: FMan MAC address: 00:00:0e:46:15:fd
fsl_dpa: FSL DPAA Ethernet driver ()
fsl_dpa: Probed interface eth0
fsl_dpa: Probed interface eth1
fsl_dpa_shared: FSL DPAA Shared Ethernet driver ()
fsl_dpa_shared: Probed shared interface eth2
fsl_dpa_proxy: FSL DPAA Proxy initialization driver ()
fsl_oh: FSL FMan Offline Parsing port driver ()
fsl_oh dpa-fman0-oh.17: Found OH node handle compatible with fsl,dpa-oh.
fsl_oh dpa-fman0-oh.17: OH port /soc@0b0000000/fman@400000/port@82000 has no buffer pool. Fragmentation will not be enabled
fsl_oh dpa-fman0-oh.17: OH port /soc@0b0000000/fman@400000/port@82000 enabled.
e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
e1000: Copyright (c) 1999-2006 Intel Corporation.
ifconfig command run on the shared interface
root@p2041rdb:~# ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:00:0E:46:11:FD
inet addr:192.168.15.5 Bcast:192.168.15.255 Mask:255.255.255.0
inet6 addr: fe80::200:eff:fe46:11fd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:6 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:b04e0000-b04e0fff
root@p2041rdb:~#
root@p2041rdb:~#
root@p2041rdb:~# cat /sys/devices/fsl,dpaa.11/ethernet.12/net/eth2/device_type
root@p2041rdb:~#
root@p2041rdb:~# cat /sys/devices/fsl,dpaa.11/ethernet.12/net/eth2/device_type
sharedroot@p2041rdb:~#
DTB/DTS entry
ethernet@0 {
compatible = "fsl,p2041-dpa-ethernet", "fsl,dpa-ethernet-shared";
fsl,fman-mac = <0x24>;
fsl,bman-buffer-pools = <&bp17>;
fsl,qman-frame-queues-rx = <0x50 0x1 0x51 0x1 0x210 3>;
fsl,qman-frame-queues-tx = <0x0 0x1 0x0 0x1 0x200 8>;
};
bp17: buffer-pool@17 {
compatible = "fsl,p2041-bpool", "fsl,bpool";
fsl,bpid = <17>;
fsl,bpool-ethernet-cfg = <0 2048 0 1728 0 0>;
fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
};
can someone point how debug this issue
-Sharath
Hello Sharath,
In the dts file, please refer to the following definition for the shared mac interface.
compatible = "fsl,p2041-dpa-ethernet-shared", "fsl,dpa-ethernet-shared";
According to the Kernel boot log, it seem that the shared_mac interface has already been set up successfully.
How did you use the Shared_MAC interface? Have you set up the USDPAA application to seed the buffer pool.
Would you please display the buffer pool information with the following command?
# cat /sys/devices/platform/ffe000000.soc/ffe31a000.bman/pool_count/17
Here is an example about how to ping shared-mac interface on T2080RDB, please change the configuration and policy files according to your target board. Here fm1-mac9 is the shared_mac interface and the IP address has already been specified in the policy file.
root@t2080rdb:/usr/etc# ifconfig fm1-mac9 192.168.2.104
root@t2080rdb:/usr/etc# fmc -c usdpaa_config_t2_serdes_66_15_22g.xml -p usdpaa_policy_hash_shared_mac_ipv4.xml -a
root@t2080rdb:/usr/etc# ipfwd_app 7 -b 1600:1600:1600 -c usdpaa_config_t2_serdes_66_15_22g.xml -p usdpaa_policy_hash_shared_mac_ipv4.xml -d 0x10000000
Found /fsl,dpaa/ethernet@0, Tx Channel = 802, FMAN = 0, Port ID = 1
Found /fsl,dpaa/ethernet@1, Tx Channel = 803, FMAN = 0, Port ID = 2
Found /fsl,dpaa/ethernet@3, Tx Channel = 805, FMAN = 0, Port ID = 4
Found /fsl,dpaa/ethernet@9, Tx Channel = 801, FMAN = 0, Port ID = a
Found /fsl,dpaa/ethernet@2, Tx Channel = 804, FMAN = 0, Port ID = 3
Found /fsl,dpaa/ethernet@10, MAC-LESS node
Configuring for 3 network interfaces
Allocated DMA region size 0x10000000
cpu hotplug daemon not running: No such file or directory
ipfwd_app starting
Message queue to send: /mq_snd_1904
Message queue to receive: /mq_rcv_1904
Configured 1G port @ FMAN:0, MAC:4 as IF_IDX:4
Configured 10G port @ FMAN:0, MAC:10 as IF_IDX:90
Configured 1G port @ FMAN:0, MAC:3 as IF_IDX:3
Released 1600 bufs to BPID 7
Released 1600 bufs to BPID 8
Released 1600 bufs to BPID 9
Released 1600 bufs to BPID 17
Data stashing: Enabled
Thread uid:0 alive (on cpu 7)
ping from the PC:
b25805@star:~$ ping 192.168.2.104
PING 192.168.2.104 (192.168.2.104) 56(84) bytes of data.
64 bytes from 192.168.2.104: icmp_seq=10 ttl=64 time=0.504 ms
64 bytes from 192.168.2.104: icmp_seq=11 ttl=64 time=0.237 ms
64 bytes from 192.168.2.104: icmp_seq=12 ttl=64 time=0.188 ms
64 bytes from 192.168.2.104: icmp_seq=13 ttl=64 time=0.238 ms
64 bytes from 192.168.2.104: icmp_seq=14 ttl=64 time=0.238 ms
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
thanks for the reply Yiping
so currently just after the system boot, i am trying to ping using the shared interace.
i have not run fmc application. i have not run the usdpaa application
is it that ping will work only after running fmc and usdpaa application.
can you run "ifconfig fm1-mac9 192.168.2.104" and "ifconfig fm1-mac9" before running fmc and ipfwd_app and shared the output. do you see any errors in Tx counters?
root@p2041rdb:~# od -x /proc/device-tree/buffer-pool@17/fsl,bpool-thresholds
0000000 0000 0100 0000 0300 0000 0000 0000 0000
0000020
root@p2041rdb:~# od -x /proc/device-tree/buffer-pool@17/fsl,bpool-ethernet-cfg
0000000 0000 0000 0000 0800 0000 0000 0000 06c0
0000020 0000 0000 0000 0000
0000030
root@p2041rdb:~#
root@p2041rdb:~# cat /sys/devices/b0000000.soc/b031a000.bman/pool_count/17
0
root@p2041rdb:~#
root@p2041rdb:~# ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:00:0E:46:11:FD
inet addr:192.168.15.5 Bcast:192.168.15.255 Mask:255.255.255.0
inet6 addr: fe80::200:eff:fe46:11fd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:6 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:b04e0000-b04e0fff
buffer-pool@17 entry in dts
bp17: buffer-pool@17 {
compatible = "fsl,p2041-bpool", "fsl,bpool";
fsl,bpid = <17>;
fsl,bpool-ethernet-cfg = <0 2048 0 1728 0 0>;
fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
};
Hello sharath kumar,
It is mandatory to run fmc and USDPAA application first to allocate and seed buffer pools for the shared MAC interface, then Linux side can use it.
In addition, the IP address for the shared MAC interface should be coincident with the shard-MAC policy section addressed in usdpaa_policy_hash_shared_mac_ipv4.xml.
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------