Your SlideShare is downloading. ×
0
Recent advance in netmap/
VALE(mSwitch)	
Michio Honda, Felipe Huici	

(NEC Europe Ltd.)	

Giuseppe Lettieri and Luigi Rizz...
Outline	
•  netmap API basics	

–  Architecture	

–  How to write apps	


•  VALE (mSwitch)	

–  Architecture	

–  System ...
NETMAP API BASICS
netmap overview	
•  A fast packet I/O mechanism between the NIC and the
user-space	

–  Remove unnecessary metadata (e.g.,...
Performance	
•  Saturate 10 Gbps pipe with low CPU frequency	

From	
  h,p://info.iet.unipi.it/~luigi/netmap/
netmap API (initialization)	
•  open(“/dev/netmap”) returns a file descriptor	

•  ioctl(fd, NIOCREG, arg) puts an interfac...
netmap API (TX)	
•  TX	

–  Fill up to avail buffers, starting from slot cur	

–  ioctl(fd, NIOCTXSYNC) queues the packets...
netmap API (RX)	
•  RX	

–  ioctl(fd, NIOCTXSYNC) reports newly received packets	

–  Process up to avail buffers, startin...
Other features	
•  Multi queue support	

–  One netmap ring is initialized for a single physical ring 	

•  e.g., differen...
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
Upcoming SlideShare
Loading in...5
×

Recent advance in netmap/VALE(mSwitch)

1,992

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,992
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
47
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Recent advance in netmap/VALE(mSwitch)"

  1. 1. Recent advance in netmap/ VALE(mSwitch) Michio Honda, Felipe Huici (NEC Europe Ltd.) Giuseppe Lettieri and Luigi Rizzo (Universita di Pisa) Kernel/VM@Jimbo-cho, Japan on Dec. 8 2013 michio.honda@neclab.eu / @michioh
  2. 2. Outline •  netmap API basics –  Architecture –  How to write apps •  VALE (mSwitch) –  Architecture –  System design –  Evaluation –  Use cases
  3. 3. NETMAP API BASICS
  4. 4. netmap overview •  A fast packet I/O mechanism between the NIC and the user-space –  Remove unnecessary metadata (e.g., sk_buff) allocation –  Amortized systemcall costs, reduced/removed data copies Page  4   From  h,p://info.iet.unipi.it/~luigi/netmap/
  5. 5. Performance •  Saturate 10 Gbps pipe with low CPU frequency From  h,p://info.iet.unipi.it/~luigi/netmap/
  6. 6. netmap API (initialization) •  open(“/dev/netmap”) returns a file descriptor •  ioctl(fd, NIOCREG, arg) puts an interface in netmap mode •  mmap(…, fd, 0) maps buffers and rings Page  6   From  h,p://info.iet.unipi.it/~luigi/netmap/
  7. 7. netmap API (TX) •  TX –  Fill up to avail buffers, starting from slot cur –  ioctl(fd, NIOCTXSYNC) queues the packets •  poll() can be used for blocking I/O Page  7   From  h,p://info.iet.unipi.it/~luigi/netmap/
  8. 8. netmap API (RX) •  RX –  ioctl(fd, NIOCTXSYNC) reports newly received packets –  Process up to avail buffers, starting from slot cur •  poll() can be used for blocking I/O Page  8   From  h,p://info.iet.unipi.it/~luigi/netmap/
  9. 9. Other features •  Multi queue support –  One netmap ring is initialized for a single physical ring •  e.g., different pthreads can be assigned to different netmap/ physical rings •  Host stack support –  NIC is put into netmap mode,
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×