• Eric Dumazet's avatar
    pktgen: Fix device name compares · 593f63b0
    Eric Dumazet authored
    Commit e6fce5b9 (pktgen: multiqueue etc.) tried to relax
    the pktgen restriction of one device per kernel thread, adding a '@'
    tag to device names.
    
    Problem is we dont perform check on full pktgen device name.
    This allows adding many time same 'device' to pktgen thread
    
     pgset "add_device eth0@0"
    
    one session later :
    
     pgset "add_device eth0@0"
    
    (This doesnt find previous device)
    
    This consumes ~1.5 MBytes of vmalloc memory per round and also triggers
    this warning :
    
    [  673.186380] proc_dir_entry 'pktgen/eth0@0' already registered
    [  673.186383] Modules linked in: pktgen ixgbe ehci_hcd psmouse mdio mousedev evdev [last unloaded: pktgen]
    [  673.186406] Pid: 6219, comm: bash Tainted: G        W  2.6.32-rc7-03302-g41cec6f1-dirty #16
    [  673.186410] Call Trace:
    [  673.186417]  [<ffffffff8104a29b>] warn_slowpath_common+0x7b/0xc0
    [  673.186422]  [<ffffffff8104a341>] warn_slowpath_fmt+0x41/0x50
    [  673.186426]  [<ffffffff8114e789>] proc_register+0x109/0x210
    [  673.186433]  [<ffffffff8100bf2e>] ? apic_timer_interrupt+0xe/0x20
    [  673.186438]  [<ffffffff8114e905>] proc_create_data+0x75/0xd0
    [  673.186444]  [<ffffffffa006ad38>] pktgen_thread_write+0x568/0x640 [pktgen]
    [  673.186449]  [<ffffffffa006a7d0>] ? pktgen_thread_write+0x0/0x640 [pktgen]
    [  673.186453]  [<ffffffff81149144>] proc_reg_write+0x84/0xc0
    [  673.186458]  [<ffffffff810f5a58>] vfs_write+0xb8/0x180
    [  673.186463]  [<ffffffff810f5c11>] sys_write+0x51/0x90
    [  673.186468]  [<ffffffff8100b51b>] system_call_fastpath+0x16/0x1b
    [  673.186470] ---[ end trace ccbb991b0a8d994d ]---
    
    Solution to this problem is to use a odevname field (includes @ tag and suffix),
    instead of using netdevice name.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarRobert Olsson <robert.olsson@its.uu.se>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    593f63b0
pktgen.c 92.9 KB