1 / 15

Senior Project with the SPP

Senior Project with the SPP. Michael Williamson. Communicating with a Slice. GPE. Slice Running in VM. Slice-RMP library using a Unix Domain Socket RPC-Like Slice application calls predefined functions. User Application. VM X. To System. RMP. RMP-Slice Library. GPE. vm x.

jin
Download Presentation

Senior Project with the SPP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Senior Project with the SPP Michael Williamson

  2. Communicating with a Slice GPE Slice Running in VM • Slice-RMP library using a Unix Domain Socket • RPC-Like • Slice application calls predefined functions User Application VMX To System RMP RMP-Slice Library

  3. GPE vmx planetlab OS app NPE SCD code option SRAM FPx TCAM Communicating with a Slice (cont.) NPE GPE • Local Delivery and Exception Sockets • Provides direct access to a fastpath • Implemented using a Virtual LAN Internal Switch

  4. What I’ve Worked On GPE Slice Running in VM • User Application, RMP, RMP-Slice Library User Application VMX RMP RMP-Slice Library

  5. Demonstration Overview • Statistics Gathering • Local Delivery

  6. Statistics Interface Stats Array • Counters increment for certain router events • Packet hitting a filter • User specifies an index and flags to return 1 of 4 counters Byte Count Stats Index Packet Count Byte Count PreQ Packet Count PostQ

  7. GPE vmx planetlab OS app NPE SCD SRAM FastPathx TCAM mux Local Delivery Traffic SPP • Allows the slice application to implement custom packet processing • Packets delivered via the local delivery socket Switch LC Internet

  8. 0000 Type (16b) Header Length (12b) Rx IP Saddr (4B) Rx IP Daddr (4B) Rx UDP SPort (2B) Rx UDP DPort (2B) How Packets Get to the Slice • User installs a local delivery filter on the fastpath • Fastpath wraps all matching packets in a “meta-net header” and forwards them to the slice • Fastpath automatically sends exception traffic to the slice’s exception socket Original Datagram meta-net header

  9. 0000 Type (16b) Header Length (12b) Rx IP Saddr (4B) Rx IP Daddr (4B) Rx UDP SPort (2B) Rx UDP DPort (2B) What an Application Sees • Applications must write code to handle the meta-net header Original Datagram meta-net header

  10. Sending Packets back to the Fastpath • First of Two Options: • User installs a regular filter that matches packets received on meta-interface zero • Application wraps packets in a meta-net header that reflects coming from the GPE and transmits them into the LD socket • Packets match meta-interface zero filter and are forwarded appropriately Local Delivery Logical Interface = Meta-interface 0 Slice VM Fastpath

  11. 0000 Type (16b) Int. Hdr Length (12b) Rx IP Saddr (4B) Rx IP Daddr (4B) Rx UDP SPort (2B) Rx UDP DPort (2B) Tx IP DAddr (4B) Tx UDP SPort (2B) Tx UDP DPort (2B) Sending Packets back to the Fastpath (cont.) meta-net header • Second Option: • User installs a “substrate-only” filter • Application adds a forwarding key onto the meta-net header and transmits packets into the LD socket • Fastpath does a substrate-only lookup on the forwarding key and matches the installed filter forwarding key Original Datagram

  12. Why Would You Ever Use a Substrate-Only Filter? Fastpath • Allows an application to send arbitrary packets within a flow to any location • Necessary to handle ICMP error messages that must be transmitted on whatever interface the offending packet came in on Dest. A Substrate-Only Filter Dest. B Regular Filter Slice VM

  13. Logical View of Demo Ping TraceRoute MI1 copt X q0 2Mbps techx05 MI0 (10.1.1.1:40000) (10.1.1.2:50000) q1 1Mbps q9 LD LD and EX Tunnels BW: 5Mbps q2 2Mbps 172.16.10.2 q8 Ex MI2 techx06 q3 1Mbps 0 (mi 1 -0) (10.1.2.1:40001) (10.1.2.2:50001) 1 (mi 0 - 1) q4 4Mbps BW: 5Mbps 2 (mi 2 - 1) 3 (mi 1- 2) Share a common physical interface 172.16.10.1 4 (mi 1 - 3) MI3 5 (mi 2 - 3) q5 1Mbps 6 (mi 3 - 2) Slice VM (10.1.3.2:50002) (10.1.3.1:40002) q6 1Mbps TCAM (Filters) BW: 5Mbps q7 3Mbps

  14. What I’ve Gained from this Experience • Tremendous skill set • Debugging ability • Knowledge • Networking • Linux • Toolsets • Advanced Faster than my classmates

  15. Thanks!

More Related