Top Banner
Open source Networking and much more Robert Olsson/Uppsala Universitet KTH, SICS 2007-04-17 Network Services and Internet-Based Applications
81

Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Apr 13, 2019

Download

Documents

tranthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Open source Networking

and much moreRobert Olsson/Uppsala Universitet

KTH, SICS 2007-04-17

Network Services and Internet-Based Applications

Page 2: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Fuskar i allt möjligtNätm anager. Alla m öjliga tjänster p lus IP-nät och routing,Bildkodn ing

g3, g4, jpg (DCT) ISO etc.Testverksam het, Pilotp rojekt, Linux – SUN SS5Paketforwarding i LinuxIP-login / netlogin / nom adIP-m ulticast kod PIM-SM, Zebra. Jens Låås.

IpIn fusion köpte kodMBGP för ZebraIRDP för Zebra/ QuaggaKoncept för bifrost svensk Linux distribution Sam arbete m ed Linux-utvecklare och industri

Page 3: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Fuskar i allt möjlig/forts

Alla sorts tester. Kreativ. El cheapo. Burkar vara referens. Man m åste veta vad m an testar...Pktgen används över hela världen . Säljs också.

Routing/ Nätverksprestanda. Polling. NAPI. 3 år. Startade i OLS Ottawa.Multip rocessor p restanda för nätverk. Alexey Kuznetsov.NordUsen ix. Ip6 tester.route cache tuneing, statistik, rtstat

Page 4: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Fuskar i allt möjligt/forts

Hårvarugenom gångar. Chipset etc etc.fib_trie m ed Jens Låås, Hans Liss. 1 årTRASH m ed Stefan Nilsson . Värt ett bättre öde.

OpenWrt, WLAN tester.

Page 5: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Cache effect/Performance

Page 6: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Overall Effect➢ Inelegant handling of heavy net loads

➢ System collapse

➢ Scalabiity affected ➢ System and number of NICS

➢ A single hogger netdev can bring the system to its knees and deny service to others

0 10 20 30 40 50 60 70 80 90 1000

5

10

15

20

25

30

35

40

45

50

55

Summary 2.4 vs feedback

March 15 report on lkmlThread: "How to optimize routing perfomance"reported by [email protected] Linux 2.4 peaks at 27Kpps- Pentium Pro 200, 64MB RAM

Page 7: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Cache effect/Performance

Cache line 32 – 128 bytes

Optim ize struct for cache and m ultip rocessorsusage

PIO even worse then cache m iss

PIO READ stalls CPU

PIO WRITE can be posted

DMA copies of data in to RAM

Does prefetch solve problem s?

Page 8: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Looking inside the box

Backlogqueueprocessing

Forwarding,locally generatedoutgoingpackets

Incoming packetsfrom devices

To stack

IRQ

Later time

Backlog queue

SoftIRQ

Tra

nsm

it p

athPacket enqueued to backlog if

queue not full

Page 9: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

BYE BYE Backlog queue

➢ Packet stays in original queue (eg DMA)

➢ Netrx softirq ➢ foreach dev in poll list

➢ Calls dev->poll() to grab upto quota packets➢ Device driver are polled from softirq and pkts are

pulled and delivered to network stack. ➢ Dev driver indicates done/ notdone.

➢ Done ==> we go back to IRQ mode. ➢ Nodone ==> device remain on polling list➢ Breakes the netrx softirq at one jiffie or netdev_max_backlog➢ This to ensure other taskes to run

Page 10: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Kernel support

NAPI kernel part was included in:2.5.7 and back ported to 2.4.20

Current driver support:

e1000 Intel GIGE NIC'stg3 BroadCom GIGE NIC'sdl2k D-Link GIGE NIC'stulip (pending) 100 Mbs

Page 11: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

NAPI: observations & issues

Ooh I get even more interrupts.... with polling.

As we seen NAPI is an interrupt/polling hybrid. NAPI uses interrupts to guarantee low latency and at high loads interrupts never gets re-enabled. Consecutive polling occur.

Old scheme added interrupt delay to handleCPU from being killed by interrupts.

In the NAPI case we can do without this delayfor the first time but it means more interrupts inlow load situations.

Should we add interrupt delay just of old habit?

Page 12: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Core Problems

➢ heavy net load: system congestion collapse➢ High Interupt rates

➢ Livelock and Cache locality effects➢ Interupts are just simply expensive

➢ CPU➢ interupt driven: takes too long to drop bad packet

➢ Bus (PCI)➢ Packets still being DMAed when system overloaded

➢ Memory bandwidth➢ Continous allocs and frees to fill DMA rings

➢ Unfairness in case of a hogger netdev

Page 13: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

A high level view of new system

P

pkts Interupt

areaPolling area

➔P packets to deliver to the stack (on the RX ring)➔Horizontal line shows different netdevs with different input rates➔Area under curve shows how many packets before next interrupt➔Quota enforces fair share

Quota

Page 14: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Some GIGE experiments/NAPI

Idle DoS75

100125150175200225250275300325350375400425450475500

125 117

92

391

95

379

92

478

92

344

91

389

91

426

90

262

91

211

Ping latency/fairness under xtreme load/UP

0

1

2

3

4

5

6

7

8

Late

ncy

in m

icro

seco

nds

Ping through a idle router Ping through a routerunder a DoS attack 890 kpps

VaeVery well behaved just an increase a couple of 100 microsec !!

Page 15: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

NAPI/SMP production in use: uu.se Stockholm Stockholm

PIII 933MHz2.4.10poll/SMP

Full Internet routingvia EBGP/IBGP

DMZ

AS 2834

UU- 1 UU- 2

Interneral UU-Net

L- uu1 L- uu2

Page 16: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.
Page 17: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

R&D

IOAPIC

Eth1

Eth0CPU 0 CPU 0

CPU 1 CPU 1

Parallelization Serialization

Eth1 holds skb'sfrom different CPU'sClearing TX-buff releases cache bouncing

For user apps new schedulerdoes affinty

But for packet forwarding....eth0->eth1 CPU0 (we can set affinity eth1 -> CPU0)

But it would be nice to other CPU for forwarding too. :-)

TX ring

Page 18: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Forwarding performance

64 128 256 512 1024 15180

100

200

300

400

500

600

700

800

900

Linux forwarding rate at different pkt sizes

Linux 2.5.58 UP/skb recycling 1.8 GHz XEON

Input

Throughput

packet size

kpps

Fills a GIGE pipe -- starting from256byte pkts

Page 19: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Bifrost concept➢ Linux kernel collaboration

➢ FASTROUTE, HW_FLOWCONTROL, New NAPI for network stack.

➢ Performance testing, development of tools and testing techniques

➢ Hardware validation, support from big vendors

➢ Detect and cure problems in lab not in the network infrastructure.

➢ Test deploy (Often in own network)

Page 20: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

IP-login installationat Uppsala University

Approx 1000 outlets

Page 21: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Netconf 2005

Robert Olsson

Experiments & Experiences with FIB lookup and route cache

Page 22: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

TCP performance

4 512 1024 2048 4096 8192 16384 327680

100

200

300

400

500

600

700

800

900

1000

NAPI

Non_NAPI

2.6.11.7 SMP kernel using one CPU driver e1000 NAPI - no-NAPI. Opteron 1.6 GHz e1000 w 82546GB.

Page 23: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

TCP performancewhen receiving DoS on other NIC

4 512 1024 2048 4096 8192 16384 327680

50

100

150

200

250

300

350

400

450

500

550

600

650

700

750

800

850

NAPI

Non_NAPI

2.6.11.7 SMP kernel using one CPU driver e1000 NAPI - no-NAPI. Opteron 1.6 GHz e1000 w 82546GB.

Page 24: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

10 GbE early days

64 128 256 512 1024 15000

100000

200000

300000

400000

500000

600000

700000

800000

900000

1000000

TX performance IXGB

in pps

Op 1,6 NAPI

OP 1.6 noNAPI

XEON

Page 25: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Other activitiesinformal linux agenda

Ericsson is willing to open patent for Linux Jamal have the contacs via Ericsson Montreal

DaveM has discussions with Washington university about who is willing to grant another patent for use with Linux

Discussed LC-trie with Alexey Kuznetsov.

LC-trie investigations. Got GPL from authors.

Page 26: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

fib_hlist performance

fib_hlist fib_hash0

50

100

150

200

250

300

350

400

450

500

550

600

650

700

750

Main title

dst cache

/24

rDoS 6 r

rDos 123kr

Note! Zero for fib_hlist :) Still decent many apps.

Page 27: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

fib_trie performance comparison

fib_hash fib_trie0

50100150200250300350400450500550600650700

forwarding kpps

Linux 2.6.16 1 CPU used(SMP) Opteron 1.6 GHz e1000

dsh hash

5 r single flow

5 r rDoS

123kr rDoS

Preroute pathes to disable route hash

Page 28: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

32/64 bit || sizeof(sk_buff)

32 64

0

25

50

75

100

125

150

175

200

225

250

275sizeof(struct sk_buff)

size

64 bit 32 bit

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.55

relative forwarding

T-put

Gcc 3.4 x86_64 vs i686 on same HW

Page 29: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

ipv6 performance

T-put0

50

100

150

200

250

300

350

400

450

500

550

600

650

Forwarding kpps 76 byte pkt.

Linux 2.5.12 1 CPU(SMP) Opteron 1.6 GHz e1000

Single flow small

Singe flow 543 r

rDoS 543 r

How rDoS work on sparse routing table?

Page 30: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Testeddevice

Flexible netlab at Uppsala University

* Raw packet performance* TCP* Timing* Variants

sinkdevicelinux

El cheapo-- High customable -- We write code :-)

Ethernet

||

Test generatorlinux

Ethernet

Page 31: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Get t ing pkt gen t o run/1

Enable CONFIG_NET_PKTGENinsm od pktgen if needed

One thread per CPU [pktgen / 0], [pktgen / 1]

/ proc/ net/ pktgen / kpktgend_0, kpktgend_1, pgctrl

Page 32: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Get t ing pkt gen t o run/2

Adding devices to threads addsnew files in / proc/

Exam ple:

/ proc/ net/ pktgen /eth0eth1

To be configured with device in fo

Page 33: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Get t ing pkt gen t o run/3

IP addresses, src, dstcountsMAC adressesDelay

Default:UDP port 9 (discard) src and dst

Much m ore later....

Page 34: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Packet m em ory fast pat h

Pktgen can do a trick to avoid full path for km alloc and kfree when sending iden tical packets th is increases perform ance. It' s con trolled by clone_skb

clone_skb=1000000 givs 1 m aster packet followed by one m illion clones

Results in on ly one full path m alloc/ kfree per m illion packets

Page 35: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Delay

Gap between packets in nanoseconds.

Pktgen can insert an extra delayFor sm all delays pktgen busy-waitsHard to get a specific rateIn m ost cases bursts are sen tDefault 0

Needs experim en tation

Page 36: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Set up Exam ples/1

Sim ple. Just sendProbably you need to keep link up

eth0pktgen/0

eth0pktgen/0

Page 37: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Set up Exam ples/2

Just send.Use another NIC on som e box?

Set dst_m ac correct if the pkts should be seen

Em ulate incom ing pkts with just a single box

eth0pktgen/0

eth1

Page 38: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Set up Exam ples/3

Send to another device local or rem oteSet dst_m ac accordingly

Dum m y dev can be used to test forwarding

eth0pktge/0

Page 39: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Set up Exam ples/4

Classical bridging/ forwarding setup

eth0pktgen/0 Router/

switchsink

eth1

Page 40: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Set up Exam ples/5

Bridging/ forwarding in parallel setupCan use m ultip le CPU's on sender(s)(and on m ultip le CPU's onrouters)

pktgen/0Router/switch

sinkpktgen/1

Page 41: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

View ing pkt gen t hreads

/proc/net/pktgen/kpktgend_0

Name: kpktgend_0 max_before_softirq: 10000Running: Stopped: eth1 Result: OK: max_before_softirq=10000

Page 42: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Configuring/1

Get a suitable script and modify

Next the glory details

Page 43: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Configuring/2

#! /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}

Page 44: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Configuring/3

# Config Start Here -----------------------------------------------------------

# thread config

PGDEV=/proc/net/pktgen/kpktgend_0pgset "rem_device_all" pgset "add_device eth1"

# device config

PGDEV=/proc/net/pktgen/eth1pgset "count 1000000"pgset "clone_skb 1000000"pgset "pkt_size 60"pgset "dst 10.10.11.2" pgset "dst_mac 00:04:23:AE:05:16"

# Time to runPGDEV=/proc/net/pktgen/pgctrl

echo "Running... ctrl^C to stop"pgset "start" echo "Done"

grep pps /proc/net/pktgen/eth1

Page 45: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

View ing result

Cat /proc/net/pktgen/eth1

Params: count 10000000 min_pkt_size: 60 max_pkt_size: 60 frags: 0 delay: 0 clone_skb: 1000000 ifname: eth1 flows: 0 flowlen: 0 dst_min: 10.10.11.2 dst_max: src_min: src_max: src_mac: 00:04:23:AC:FD:82 dst_mac: 00:04:23:AE:05:16 udp_src_min: 9 udp_src_max: 9 udp_dst_min: 9 udp_dst_max: 9 src_mac_count: 0 dst_mac_count: 0 Flags: Current: pkts-sofar: 10000000 errors: 0 started: 1119356264434801us stopped: 1119356275792478us idle: 1434226us seq_num: 10000011 cur_dst_mac_offset: 0 cur_src_mac_offset: 0 cur_saddr: 0x10a0a0a cur_daddr: 0x20b0a0a cur_udp_dst: 9 cur_udp_src: 9 flows: 0Result: OK: 11357677(c9923451+d1434226) usec, 10000000 (60byte,0frags) 880461pps 422Mb/sec (422621280bps) errors: 0

Page 46: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Some GIGE experiments

Clone Alloc 0

10000

20000

30000

40000

50000

60000

70000

80000

90000

2*XEON HyperThreading on 1.8 MHz packet sending @ 1518 byte

81300 pps is 1 Gbit/s

eth0

eth1

eth2

eth3

eth4

eth5

eth6

eth7

eth8

eth9

eth10

pack

ets/

sec

Pktgen sending test w. 11 GIGE interfacesskb clone = 10.0 Gbit/sskb alloc = 7.4 Gbit/s

SeverWorks X5DL8-GG Intel e1000

Page 47: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Trash dat ast uct ure

Interest ing novel approc. Trie-Hash --> Trash

When extending the LC-t rie

Paper with Stefan Nilsson/KTH

Expoits that keylen does not affect t ree deepth

We lengthen the so key it can be bet ter compressed.

Implemented in Linux forwarding patch as a replacement to the route hash.

Page 48: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Trash dat ast uct ureCan do full key lookup. src/dst /sport /dport /proto/ifetc and later socket .

For even ip6 with lit tele performnace degradat ion

Could be a candidate for the grand unified lookup

Full flow lookup can understand connect ions.

Free flow logging etc

New garbage collect ion (GC) possible. Act ive GC stat -ed

AGC in the paper. Listen to TCP SYN, FIN and RST Show to be performance winner.

Page 49: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Trash dat ast uct ureUppsala Universit e t core rout er

Page 50: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Trash dat ast uct ureVery f lat ( fast ) t rees

Page 51: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Trash dat ast uct ureVery f lat ( fast ) t rees

Paper writ ten to avoid patents

Paper was accepted for IEEE 2007 rout ing & switching in New York

Linux implementat ion by author.

Page 52: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt

Very nice plat form for various applicat ions. Enjoy! www.openwrt .org

Enormues amount of supported SW already included.

Apps, WLAN, router, gateway, servers

Many architectures. MIPS/x86 etc linksysASUS etc etc,

Used by freifunk (adhoc), whiterussian.

Page 53: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt

Nice ready crosscompile plat form

SVN subversion build.

Menubased config

Linux kernel 2.4/2.6

Builds ready-to-use firmware

Page 54: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Needed a cheap flexible hi-perf logger

gps used with NTP for accurat t ime

Dallas 1-wire measurement bus.

See www.digitemp.com

Need lots of storage

Page 55: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Page 56: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Page 57: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Page 58: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Page 59: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

OpenW rt /logger project

Page 60: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Net gear m ed USB

Page 61: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

CANTENNA

Page 62: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Labbet

Page 63: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Int e l NIC's

Page 64: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Next gen NIC's

Mult iple RX and TX queues

This together with MSI-X interruptsAnd HW classifiers on NIC's

A breakthrough.....

Page 65: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Next gen NIC's

Input path

1) HW classifier can direct traffic/network loadto a selected RX ring.

2) RX ring has an assigned irq to a CPU-core viaMSI-X

This way network load can get distributed along many CPU's

Page 66: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Next gen NIC's

Input path cont.

Linux OS has work for a very long time witharchitectures and locking issues for multiCPU.

API and tool for controlling HW classifiers is needed most likely ethtool.

Very exciting....

Page 67: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Next gen NIC's

Output path

Device drivers can send to a selected TX-ring

1) to prioritize traffic2) to avoid cache bouncing

As a prosal now a field queue_mapping is added to skb struct. So network stack can hint device driver about queue usage.

Page 68: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

s2 io

PCIe-x48 RX queues8 TX queues64 inq'sVarious offload

Page 69: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

M ånga voro kallade. . .

Page 70: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

118.1

expgw.data

ultrouter6

ultrouter7

ultGC-gw

Switch HVCknutpunkt

193.10.131.0/24

SLU2 SLU1

ultgw-2 ultgw-1

ultKC-gw

KC

GC

127.7HVC

127.2HVC

127.1DC

130.242.

127.54

127.53127.57127.58

127.62

127.61

127.69

127.70

127.45

127.46

127.86

UU

DC

DC

127.6

193.10.131

127.82 127.81

96.2 96.61

98.2 98.61

GigaSUNET

skara-gw

127.101

127.102

..233.33/24

34 Mb

88.34/30

88.33/30DCHVC

127.21

127.22

88.50/30

88.49/30

80.74/32 80.73/32

ultrouter8127.8HVC

127.17

127.18

DMZ UU/ITS

ultrouter9127.9HVC

127.13

127.14

127.85

23

3

1 1

3

3

332

1

1

1

1

.5 .4

/24

/24

e1 e1e5 e5e4 e4

e3

e3

e6 e6

e2e9e7

e8

e0

e0

e0e2

e3

e0

e9e10

e0

e2 e3

e1

e0 e1

e0

e2

e3e10

e1

e3

SLU's nät(inte hela)

Page 71: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

118.1

expgw.data

ultrouter6

ultrouter7

ultGC-gw

Switch HVCknutpunkt

193.10.131.0/24

SLU2 SLU1

ultgw-2 ultgw-1

ultKC-gw

KC

GC

127.7HVC

127.2HVC

127.1DC

130.242.

127.54

127.53127.57127.58

127.62

127.61

127.69

127.70

127.45

127.46

127.86

UU

DC

DC

127.6

193.10.131

127.82 127.81

96.2 96.61

98.2 98.61

GigaSUNET

skara-gw

127.101

127.102

..233.33/24

34 Mb

88.34/30

88.33/30DCHVC

127.21

127.22

88.50/30

88.49/30

80.74/32 80.73/32

ultrouter8127.8HVC

127.17

127.18

DMZ UU/ITS

ultrouter9127.9HVC

127.13

127.14

127.85

23

3

1 1

3

3

332

1

1

1

1

.5 .4

/24

/24

e1 e1e5 e5e4 e4

e3

e3

e6 e6

e2e9e7

e8

e0

e0

e0e2

e3

e0

e9e10

e0

e2 e3

e1

e0 e1

e0

e2

e3e10

e1

e3

BGP policy routing

ISP:er (SUNET)och Knupunkt.

Page 72: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

118.1

expgw.data

ultrouter6

ultrouter7

ultGC-gw

Switch HVCknutpunkt

193.10.131.0/24

SLU2 SLU1

ultgw-2 ultgw-1

ultKC-gw

KC

GC

127.7HVC

127.2HVC

127.1DC

130.242.

127.54

127.53127.57127.58

127.62

127.61

127.69

127.70

127.45

127.46

127.86

UU

DC

DC

127.6

193.10.131

127.82 127.81

96.2 96.61

98.2 98.61

GigaSUNET

skara-gw

127.101

127.102

..233.33/24

34 Mb

88.34/30

88.33/30DCHVC

127.21

127.22

88.50/30

88.49/30

80.74/32 80.73/32

ultrouter8127.8HVC

127.17

127.18

DMZ UU/ITS

ultrouter9127.9HVC

127.13

127.14

127.85

23

3

1 1

3

3

332

1

1

1

1

.5 .4

/24

/24

e1 e1e5 e5e4 e4

e3

e3

e6 e6

e2e9e7

e8

e0

e0

e0e2

e3

e0

e9e10

e0

e2 e3

e1

e0 e1

e0

e2

e3e10

e1

e3

Redundant inre kärna

Page 73: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

118.1

expgw.data

ultrouter6

ultrouter7

ultGC-gw

Switch HVCknutpunkt

193.10.131.0/24

SLU2 SLU1

ultgw-2 ultgw-1

ultKC-gw

KC

GC

127.7HVC

127.2HVC

127.1DC

130.242.

127.54

127.53127.57127.58

127.62

127.61

127.69

127.70

127.45

127.46

127.86

UU

DC

DC

127.6

193.10.131

127.82 127.81

96.2 96.61

98.2 98.61

GigaSUNET

skara-gw

127.101

127.102

..233.33/24

34 Mb

88.34/30

88.33/30DCHVC

127.21

127.22

88.50/30

88.49/30

80.74/32 80.73/32

ultrouter8127.8HVC

127.17

127.18

DMZ UU/ITS

ultrouter9127.9HVC

127.13

127.14

127.85

23

3

1 1

3

3

332

1

1

1

1

.5 .4

/24

/24

e1 e1e5 e5e4 e4

e3

e3

e6 e6

e2e9e7

e8

e0

e0

e0e2

e3

e0

e9e10

e0

e2 e3

e1

e0 e1

e0

e2

e3e10

e1

e3

Redundant anslutingav tunga servernät via router discovery

Page 74: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

118.1

expgw.data

ultrouter6

ultrouter7

ultGC-gw

Switch HVCknutpunkt

193.10.131.0/24

SLU2 SLU1

ultgw-2 ultgw-1

ultKC-gw

KC

GC

127.7HVC

127.2HVC

127.1DC

130.242.

127.54

127.53127.57127.58

127.62

127.61

127.69

127.70

127.45

127.46

127.86

UU

DC

DC

127.6

193.10.131

127.82 127.81

96.2 96.61

98.2 98.61

GigaSUNET

skara-gw

127.101

127.102

..233.33/24

34 Mb

88.34/30

88.33/30DCHVC

127.21

127.22

88.50/30

88.49/30

80.74/32 80.73/32

ultrouter8127.8HVC

127.17

127.18

DMZ UU/ITS

ultrouter9127.9HVC

127.13

127.14

127.85

23

3

1 1

3

3

332

1

1

1

1

.5 .4

/24

/24

e1 e1e5 e5e4 e4

e3

e3

e6 e6

e2e9e7

e8

e0

e0

e0e2

e3

e0

e9e10

e0

e2 e3

e1

e0 e1

e0

e2

e3e10

e1

e3

Page 75: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Nästan uteslutande...

OpenSource implementationbifrostzebra

Page 76: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

A new network symbol has been seen...

The Penguin Has Landed

Page 77: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

ifstat2 output errors etc ncurses?

rtstatoutput, how, mask groups?

Oprofile statisk länkat paket

dok

logo

bifrost-usb-boot-HOWTO

bifrost-grub-HOTO

unified lookup/connection tracking

test & hipac-HOWTO

Hi-perf PCI-E TYAN 2915? Test

pktgen drop ingress qdisc

Page 78: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Bosh LH-jetronicflexitune ( www.flexitune.se )flextec

Hacking car fuel system....

Page 79: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

GPS breakt hrough

Page 80: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Ot her Linux hacking

Page 81: Robert Olsson/Uppsala Universitet - radio-sensors.se fileFuskar i allt möjligt Nätmanager. Alla möjliga tjänster plus IP-nät och routing, Bildkodning g3, g4, jpg (DCT) ISO etc.

Ready for serious w ork?

Enhanced radix t ree (LEF) bet ter then LC-t rie?

Userland code with full BGP table indicate LEF is 3 t im es faster than LC-t rie. Full sensat ion!

ftp://robur.slu.se:21/pub/Linux/tm p/radix_test .tgz

What is going on? Data st ructures are bigger andwe accessing m ore nodes?

Kernel test not yes done.. but userland resultsare m ysterious Any qualified invest igators???