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.

PROCESSOR-SDK-AM335X: Unknown symbols when trying to load kernel modules.

Part Number: PROCESSOR-SDK-AM335X


Tool/software:

I'm trying to enable qdisc ingress filters with a custom kernel config, building the Linux image with the Processor SDK Linux RT AM335x version 09.01 and the Yocto build environment provided with the processor-sdk-09.01.00-legacy-config.txt configuration.

I'm building the Fully Preemptible Kernel with both CONFIG_PREEMPT and CONFIG_PREEMPT_RT enabeld. To provide the module for ingress filters I've enabled the following configs:

  • CONFIG_NET builtin
  • CONFIG_NET_SCHED builtin
  • CONFIG_NET_INGRESS as module
  • CONFIG_CLS_ACT builtin

The kernel and modules are built correcty, I've added the linux headers to the final image with IMAGE_INSTALL:append = " kernel-dev kernel-devsrc" and EXTRA_IMAGE_FEATURES:append = " dev-pkgs". The kernel and modules compile fine so far, but when I try to load the sch_ingress module with `modprobe sch_ingress` I receive error messages for multiple missing symbols, e.g.:

  • Unknown symbol net_inc_egress_queue (err -2)
  • Unknown symbol net_inc_ingress_queue (err -2)
  • Unknown symbol register qdisc  (err -2)

Am I missing a kernel config option here? Why are the symbols not exported and cannot be found by the module?

  • Hello Rainer,

    qdiscs are new to me - I am not sure whether this is something we can support on the forums.

    Do you want to use the qdisc with an Ethernet interface, or something else?

    Regards,

    Nick

  • Hi Nick,
    Yes we want to use ingress qdiscs with an ethernet interface in Linux. When running `ip a` the ethernet interfaces do print out qdisc mq for multiqueue scheduling support, so I guess some support is available?

    Additionally we want to support TUN/TAP connecting to an ethernet interface. The required kernel module can be built and loaded without issue, although when trying to open a TAP interface, we receive a kernel panic message:

    [  839.524457] 8<--- cut here ---                                                                                                                                                                                        
    [  839.527575] Unable to handle kernel NULL pointer dereference at virtual address 00000001                                                                                                                              
    [  839.535781] [00000001] *pgd=81f69831, *pte=00000000, *ppte=00000000                                                                                                                                                   
    [  839.542336] Internal error: Oops: 17 [#1] PREEMPT_RT ARM                                                                                                                                                              
    [  839.542353] Modules linked in: tun sha256_generic libsha256 sha256_arm cfg80211 pruss ecdh_generic ecc libaes omap_wdt phy_am335x_control ti_am335x_tscadc cppi41 cryptodev(O)                                        
    [  839.542419] CPU: 0 PID: 635 Comm: ip Tainted: G           O       6.1.46-rt13-gccf548983b #1                                                                                                                          
    [  839.542433] Hardware name: Generic AM33XX (Flattened Device Tree)                                                                                                                                                     
    [  839.542439] PC is at dev_uevent+0x64/0x1fc                                                                                                                                                                            
    [  839.542480] LR is at kobject_uevent_env+0x1e4/0x524                                                                                                                                                                   
    [  839.542493] pc : [<c06a46fc>]    lr : [<c0b6ecc4>]    psr: 20060013                                                                                                                                                   
    [  839.542500] sp : d04a1da8  ip : ffffffff  fp : c0deed08                                                                                                                                                               
    [  839.542507] r10: c0e7decc  r9 : 00000000  r8 : c0c93018                                                                                                                                                               
    [  839.542513] r7 : c51d1000  r6 : c291e6c0  r5 : c51d1000  r4 : c578c2a0                                                                                                                                                
    [  839.542520] r3 : 00000001  r2 : 00000000  r1 : c0e8bab0  r0 : c578c2a0                                                                                                                                                
    [  839.542528] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none                                                                                                                                         
    [  839.542539] Control: 10c5387d  Table: 8545c019  DAC: 00000051                                                                                                                                                         
    [  839.542544] Register r0 information: slab kmalloc-8k start c578c000 pointer offset 672 size 8192                                                                                                                      
    [  839.542575] Register r1 information: non-slab/vmalloc memory                                                                                                                                                          
    [  839.542587] Register r2 information: NULL pointer                                                                                                                                                                     
    [  839.542595] Register r3 information: non-paged memory                                                                                                                                                                 
    [  839.542603] Register r4 information: slab kmalloc-8k start c578c000 pointer offset 672 size 8192                                                                                                                      
    [  839.542622] Register r5 information: slab kmalloc-4k start c51d1000 pointer offset 0 size 4096                                                                                                                        
    [  839.542642] Register r6 information: slab task_struct start c291e6c0 pointer offset 0                                                                                                                                 
    [  839.542659] Register r7 information: slab kmalloc-4k start c51d1000 pointer offset 0 size 4096                                                                                                                        
    [  839.542678] Register r8 information: non-slab/vmalloc memory                                                                                                                                                          
    [  839.542686] Register r9 information: NULL pointer                                                                                                                                                                     
    [  839.542693] Register r10 information: non-slab/vmalloc memory                                                                                                                                                         
    [  839.542701] Register r11 information: non-slab/vmalloc memory                                                                                                                                                         
    [  839.542709] Register r12 information: non-paged memory                                                                                                                                                                
    [  839.542717] Process ip (pid: 635, stack limit = 0x9baca54e)                                                                                                                                                           
    [  839.542731] Stack: (0xd04a1da8 to 0xd04a2000)                                                                                                                                                                         
    [  839.542744] 1da0:                   00000000 c0e7decc c0deed08 c0b6e660 d04a1dd0 a9cbd43a                                                                                                                             
    [  839.542757] 1dc0: c578c2a0 a9cbd43a c578c2a0 00000000 00000000 c0b6ecc4 00000000 00000000                                                                                                                             
    [  839.542769] 1de0: 00000000 c5352180 c578c2a0 00000000 c12b13cc c578c2a0 00000000 c12b13cc                                                                                                                             
    [  839.542780] 1e00: 00000000 c291e6c0 c0ec04f0 00000000 c1212d34 c06a33b0 c5352dc0 00002000                                                                                                                             
    [  839.542792] 1e20: c19fcc00 c0b6e0c0 c291e6c0 a9cbd43a c578c2a0 c578c000 c578c470 c578c2a0                                                                                                                             
    [  839.542804] 1e40: 00002000 c19fcc00 c2bcd000 00000000 d04a1ecc c09f6b90 c578c000 c12b4c00                                                                                                                             
    [  839.542816] 1e60: c291e6c0 00002000 c19fcc00 c2bcd000 00000000 c09c57fc c578c520 c578c000                                                                                                                             
    [  839.542828] 1e80: d04a1ecc c578c000 00000000 a9cbd43a c578c000 c578c5c0 bedc2ac0 c29e5180                                                                                                                             
    [  839.542839] 1ea0: c291e6c0 bf02874c 00000001 00000001 d04a1eb4 00000051 b6f11000 c18a1100                                                                                                                             
    [  839.542851] 1ec0: 00001000 00000cc0 c291e6c0 30706174 00000000 00000000 00000000 00009002                                                                                                                             
    [  839.542862] 1ee0: 00000000 00000000 00000000 30266cf8 9e30cf54 a9cbd43a c2a88f00 400454ca                                                                                                                             
    [  839.542874] 1f00: c29e5180 ffffffff bedc2ac0 c291e6c0 c29e5180 00000004 c2d3c820 c0296a48                                                                                                                             
    [  839.542886] 1f20: 00000000 d04a1fb0 b6f1194c 00000254 00020002 a9cb0000 00000006 00000100                                                                                                                             
    [  839.542898] 1f40: 00000001 a9cbd43a c291e6c0 ffffff9c 000663b0 00000142 c01002c0 c027f890                                                                                                                             
    [  839.542909] 1f60: 00020002 00000000 00000000 00000000 00000000 00000000 00020002 a9cbd43a                                                                                                                             
    [  839.542921] 1f80: 00000000 ffffffff 00000004 ffffffff 00000036 c01002c0 c291e6c0 00000036                                                                                                                             
    [  839.542932] 1fa0: 00086948 c0100060 ffffffff 00000004 00000004 400454ca bedc2ac0 bedc2aa8                                                                                                                             
    [  839.542944] 1fc0: ffffffff 00000004 ffffffff 00000036 bedc2cb8 0005e7e4 bedc2de9 00086948                                                                                                                             
    [  839.542955] 1fe0: 00000036 bedc2a90 b6ed83a9 b6e51ae6 60060030 00000004 00000000 00000000                                                                                                                             
    [  839.542975]  dev_uevent from kobject_uevent_env+0x1e4/0x524                                                                                                                                                           
    [  839.543000]  kobject_uevent_env from device_add+0x378/0x774                                                                                                                                                           
    [  839.543020]  device_add from netdev_register_kobject+0x6c/0x150                                                                                                                                                       
    [  839.543056]  netdev_register_kobject from register_netdevice+0x348/0x634                                                                                                                                              
    [  839.543092]  register_netdevice from tun_chr_ioctl+0xd9c/0x2650 [tun]                                                                                                                                                 
    [  839.543154]  tun_chr_ioctl [tun] from sys_ioctl+0x50c/0xbb0                                                                                                                                                           
    [  839.543200]  sys_ioctl from ret_fast_syscall+0x0/0x54                                                                                                                                                                 
    [  839.543221] Exception stack(0xd04a1fa8 to 0xd04a1ff0)                                                                                                                                                                 
    [  839.543233] 1fa0:                   ffffffff 00000004 00000004 400454ca bedc2ac0 bedc2aa8                                                                                                                             
    [  839.543244] 1fc0: ffffffff 00000004 ffffffff 00000036 bedc2cb8 0005e7e4 bedc2de9 00086948                                                                                                                             
    [  839.543254] 1fe0: 00000036 bedc2a90 b6ed83a9 b6e51ae6                                                                                                                                                                 
    [  839.543268] Code: e3530000 0a000004 e30b1ab0 e34c10e8 (e5932000)                                                                                                                                                      
    [  839.961160] ---[ end trace 0000000000000000 ]---   

    Regards,
    Rainer

  • Hello Rainer,

    I am sending your thread to another team member with more networking experience. If this is something we can support on the forums, they will help you out, and if not, they will set appropriate expectations (where we can answer questions about TI hardware or TI software on the forums, but we cannot answer questions about Linux in general).

    Feel free to ping the thread if you do not receive a response within a couple of business days.

    Regards,

    Nick

  • Hi Nick, any news on this?

  • Hi,

    I am not sure if qdisc is supported by the AM335x CPSW driver. I will need to check with the development team, this may take up to a week to get the information. 

    To make sure we understand what you are trying to do, you are setting up a tun/tap interface to handle a multi-queue packet stream being setup by tc? 

    Could you please add the log post the commands that you are using, this will help when discussing internally.

    Best Regards,

    Schuyler

  • We want to use a raw socket on an interface and prevent the kernel from handling any incoming traffic by adding an ingress qdisc and a filter to drop all packets.

    The tun/tap interface would be a separate issue not entirely connected to the qdisc handling. The above error message is thrown when trying to open /dev/net/tun when calling open() on it as well as when trying to open a tap interface with

    ip tuntap add mode tap tap0


    ````

  • Hi,

    A suggestion from the development team is to look at these two kernel configurations to see they are enabled:

    CONFIG_NET_CLS_ACT
    CONFIG_NET_EGRESS 

    Best Regards.

    Schuyler

  • Sadly that does not resolve any of the issues

  • Hi,

    I will discuss with our development again. Please allow a couple of days, perhaps mid-next to look into the issue. 

    Best Regards,

    Schuyler