Presentation is loading. Please wait.

Presentation is loading. Please wait.

Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application.

Similar presentations


Presentation on theme: "Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application."— Presentation transcript:

1 Senior Project with the SPP Michael Williamson

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

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

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

5 Demonstration Overview Statistics Gathering Local Delivery

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

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

8 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 Type (16b) Header Length (12b) Rx UDP DPort (2B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) Original Datagram meta-net header

9 What an Application Sees Applications must write code to handle the meta-net header Type (16b) Header Length (12b) Rx UDP DPort (2B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) 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 Slice VMFastpath Local Delivery Logical Interface = Meta-interface 0

11 Sending Packets back to the Fastpath (cont.) 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 Type (16b) Int. Hdr Length (12b) Rx UDP DPort (2B) Tx UDP SPort (2B) Tx UDP DPort (2B) Tx IP DAddr (4B) 0000 Rx UDP SPort (2B) Rx IP Saddr (4B) Rx IP Daddr (4B) meta-net header forwarding key Original Datagram

12 Why Would You Ever Use a Substrate-Only Filter? 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 Slice VM Fastpath Regular Filter Substrate- Only Filter Dest. A Dest. B

13 copt X (10.1.1.1:40000) q1q1 q0q0 2Mbps MI 1 q2q2 1Mbps 2Mbps q4q4 q3q3 1Mbps MI 2 4Mbps q6q6 q5q5 1Mbps MI 3 1Mbps q7q7 3Mbps BW: 5Mbps (10.1.2.1:40001) BW: 5Mbps (10.1.3.1:40002) BW: 5Mbps q9q9 LD MI 0 q8q8 Ex Slice VM 172.16.10.2 172.16.10.1 LD and EX Tunnels techx05 techx06 (10.1.1.2:50000) (10.1.2.2:50001) Share a common physical interface (10.1.3.2:50002) TCAM (Filters) 0 (mi 1 -0) 1 (mi 0 - 1) 2 (mi 2 - 1) 3 (mi 1- 2) 4 (mi 1 - 3) 5 (mi 2 - 3) Filter ID KeyResult Implied by qid typerxmi Code Option Specific Key action tunnel destination qid stats index daddrsaddrsportdportprototxdaddrtxdporttxmi 00110.1.1.1****LD**900 11*10.1.1.2****fwd10.1.1.250000111 20210.1.1.*****fwd10.1.1.250000221 30110.1.2.*****fwd10.1.2.250001332 40110.1.3.*****fwd10.1.3.250002543 50210.1.3.*****fwd10.1.3.250002553 60310.1.2.*****fwd10.1.2.25001462 6 (mi 3 - 2) Logical View of Demo Ping TraceRoute

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

15 Thanks!


Download ppt "Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application."

Similar presentations


Ads by Google