lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <19210.63123.814368.292600@gargle.gargle.HOWL> Date: Mon, 23 Nov 2009 21:54:43 +0100 From: robert@...julf.net To: Eric Dumazet <eric.dumazet@...il.com> Cc: robert@...julf.net, Jesper Dangaard Brouer <hawk@...u.dk>, Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@...el.com>, Linux Netdev List <netdev@...r.kernel.org> Subject: Re: ixgbe question Eric Dumazet writes: > slone_skb set to 1, this changes nothing but slows down pktgen (obviously) > All RX processing of 16 RX queues done by CPU 1 only. Well just pulled net-next-2.6 and ran with both 82598 and 82599 boards and pkt load gets distributed among the cpu-cores. Something mysterious or very obvious... You can even try the script it's a sort of Internet Link traffic emulation well you have to set up your routing. Cheers --ro #! /bin/sh #modprobe pktgen function pgset() { local result echo $1 > $PGDEV result=`cat $PGDEV | fgrep "Result: OK:"` if [ "$result" = "" ]; then cat $PGDEV | fgrep Result: fi } function pg() { echo inject > $PGDEV cat $PGDEV } # Config Start Here ----------------------------------------------------------- remove_all() { # thread config PGDEV=/proc/net/pktgen/kpktgend_0 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_1 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_2 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_3 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_4 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_5 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_6 pgset "rem_device_all" PGDEV=/proc/net/pktgen/kpktgend_7 pgset "rem_device_all" } remove_all PGDEV=/proc/net/pktgen/kpktgend_0 pgset "add_device eth2@0" PGDEV=/proc/net/pktgen/kpktgend_1 pgset "add_device eth2@1" PGDEV=/proc/net/pktgen/kpktgend_2 pgset "add_device eth2@2" PGDEV=/proc/net/pktgen/kpktgend_3 pgset "add_device eth2@3" # device config # # Sending a mix of pkt sizes of 64, 576 and 1500 # CLONE_SKB="clone_skb 1" PKT_SIZE="pkt_size 60" COUNT="count 000000" DELAY="delay 0000" #MAC="00:21:28:08:40:EE" #MAC="00:21:28:08:40:EF" #MAC="00:1B:21:17:C1:CD" MAC="00:14:4F:DA:8C:66" #MAC="00:14:4F:6B:CD:E8" PGDEV=/proc/net/pktgen/eth2@0 echo "Configuring $PGDEV" pgset "$COUNT" pgset "$CLONE_SKB" pgset "pkt_size 1496" pgset "$DELAY" pgset "flag QUEUE_MAP_CPU" pgset "flag IPDST_RND" pgset "flag FLOW_SEQ" pgset "dst_min 11.0.0.0" pgset "dst_max 11.255.255.255" pgset "flows 2048" pgset "flowlen 30" pgset "dst_mac $MAC" PGDEV=/proc/net/pktgen/eth2@1 echo "Configuring $PGDEV" pgset "$COUNT" pgset "$CLONE_SKB" pgset "pkt_size 576" pgset "$DELAY" pgset "flag QUEUE_MAP_CPU" pgset "flag IPDST_RND" pgset "flag FLOW_SEQ" pgset "dst_min 11.0.0.0" pgset "dst_max 11.255.255.255" pgset "flows 2048" pgset "flowlen 30" pgset "dst_mac $MAC" PGDEV=/proc/net/pktgen/eth2@2 echo "Configuring $PGDEV" pgset "$COUNT" pgset "$CLONE_SKB" pgset "$DELAY" pgset "pkt_size 60" pgset "flag QUEUE_MAP_CPU" pgset "flag IPDST_RND" pgset "flag FLOW_SEQ" pgset "dst_min 11.0.0.0" pgset "dst_max 11.255.255.255" pgset "flows 2048" pgset "flowlen 30" pgset "dst_mac $MAC" PGDEV=/proc/net/pktgen/eth2@3 echo "Configuring $PGDEV" pgset "$COUNT" pgset "$CLONE_SKB" pgset "pkt_size 1496" pgset "$DELAY" pgset "flag QUEUE_MAP_CPU" pgset "flag IPDST_RND" pgset "flag FLOW_SEQ" pgset "dst_min 11.0.0.0" pgset "dst_max 11.255.255.255" pgset "flows 2048" pgset "flowlen 30" pgset "dst_mac $MAC" # Time to run PGDEV=/proc/net/pktgen/pgctrl echo "Running... ctrl^C to stop" pgset "start" echo "Done" grep pps /proc/net/pktgen/* -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists