Substrate Control: Common Type Definitions Fred Kuhns Applied Research Laboratory Washington University in St. Louis.

Slides:



Advertisements
Similar presentations
Engineering Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong,
Advertisements

1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
Supercharging PlanetLab A High Performance,Multi-Alpplication,Overlay Network Platform Reviewed by YoungSoo Lee CSL.
Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application.
IP Version 6 (IPv6) Dr. Adil Yousif. Why IPv6?  Deficiency of IPv4  Address space exhaustion  New types of service  Integration  Multicast  Quality.
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
IP/ICMP Translation Algorithm (IIT) Xing Li, Congxiao Bao, Fred Baker
David M. Zar Applied Research Laboratory Computer Science and Engineering Department ONL Stats Block.
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Managing SPP Resources: System Resource Manager (SRM) Fred Kuhns Applied Research Laboratory Washington University in St. Louis.
10/13/2015© 2008 Raymond P. Jefferis IIILect 07 1 Internet Protocol.
John DeHart and Mike Wilson SPP V2 Router Design.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Packet Routing Within MSR Fred Kuhns
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
CS4550 Computer Networks II IP : internet protocol, part 2 : packet formats, routing, routing tables, ICMP read feit chapter 6.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Supercharged PlanetLab Platform, Control Overview Fred Kuhns Applied.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns Applied Research Laboratory NSP packet Formats.
Michael Wilson Block Design Review: Line Card Key Extract (Ingress and Egress)
Washington WASHINGTON UNIVERSITY IN ST LOUIS Substrate Control: Overview Fred Kuhns Applied Research Laboratory.
Substrate Control: Resource Manager Proxy (See Types.ppt for a description of data types used in this presentation) Fred Kuhns Applied.
Brandon Heller Block Design Review: Substrate Decap and IPv4 Parse.
1 - Charlie Wiseman, Shakir James - 05/11/07 Design Review: Plugin Framework Charlie Wiseman and Shakir James ONL.
Washington WASHINGTON UNIVERSITY IN ST LOUIS LC/NPE Substrate Control: Substrate Control Daemon Fred Kuhns Applied.
David M. Zar Block Design Review: PlanetLab Line Card Header Format.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Packet Classification in the SPC arl/projects/msr/work/msrcfy.ppt.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Slice Interface to SPP Fred Kuhns Applied Research Laboratory Washington.
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 3/15/2016 Allocate and free code option instance, NPE resources and interface bandwidth. Manage.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Graciela Perera Department of Computer Science and Information Systems Slide 1 of 18 INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723 Graciela.
Supercharged PlanetLab Platform, Control Overview
Flow Stats Module James Moscola September 12, 2007.
The New Internet Protocol
SCD: TCAM Library Fred Kuhns Applied Research Laboratory
Design of a High Performance PlanetLab Node
Design of a Diversified Router: TCAM Usage
SPP Version 1 Router Plans and Design
An NP-Based Router for the Open Network Lab
Design of a Diversified Router: Packet Formats
SPP Version 1 Router NAT John DeHart.
Design of a Diversified Router: Common Router Framework
techX and ONL Summer 2008 Plans
Design of a Diversified Router: IPv4 MR (Dedicated NP)
SPP V2 Router Plans and Design
Flow Stats Module James Moscola September 6, 2007.
An NP-Based Router for the Open Network Lab Overview by JST
ONL Stats Engine David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
Supercharged PlanetLab Platform, Control Overview
Next steps for SPP & ONL 2/6/2007
IXP Based Router for ONL: Architecture
John DeHart and Mike Wilson
Design of a Diversified Router: Project Assignments and Status Updates
SPP V1 Memory Map John DeHart Applied Research Laboratory Computer Science and Engineering Department.
SPP Version 1 Router Traffic Examples
Planet Lab Memory Map David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
Design of a Diversified Router: November 2006 Demonstration Plans
Code Review for IPv4 Metarouter Header Format
Code Review for IPv4 Metarouter Header Format
SPP Version 1 Router Plans and Design
An NP-Based Router for the Open Network Lab Meeting Notes
Implementing an OpenFlow Switch on the NetFPGA platform
John DeHart and Mike Wilson
A High Performance PlanetLab Node
SPP Router Plans and Design
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Design of a High Performance PlanetLab Node: Line Card
Refs: Chapter 10, Appendix A
Ch 17 - Binding Protocol Addresses
Lecture 9 – Chapter 4 Network Data Plane CIS 5617, Spring2019
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Substrate Control: Common Type Definitions Fred Kuhns Applied Research Laboratory Washington University in St. Louis

2 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Simple Types bw_t : unsigned 32-bit; Bandwidth units are Kb/s cnt_t : unsigned 32-bit; item count or system counter value len_t : unsigned 16-bit count tStamp_t : unsigned 32-bit time stamp. dwX_t : Defines a generic X-Byte data word of integral type –Assume two’s complement representation of integer values, NBO on the wire. plabID_t : unsigned 32-bit, globally unique slice ID assigned by PLC name_t { len_t len; uchar[len] } –string representation on the wire fpID_t : unsigned 16-bit, Fast path identifier (fpID) –Slice fpid range [0, N) –Substrate range [1, M) (0 represents the global namespace) ctxID_t : unsigned 16-bit, Message context ID. –0 used for substrate/ privileged context; otherwise fpid retCode_t : signed 32-bit return code returned by server methods. –0 must always represent success (see wuspp::retCode_t)

3 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Simple Types qid_t : unsigned 16-bit, Slice relative qid –Ranges: Slice [0, N); Substrate [1, M) fid_t : unsigned 32-bit; filter identifier –Range: Slice and Substrate [0, N) Address/Network related ipAddr_t : unsigned 32-bit; IP address –always in network byte order (NBO) ipPort_t : unsigned 16-bit; UDP/TCP Port number or ICMP ID –always in NBO ipProto_t : unsigned 8-bit; IP header protocol field –TCP=6,UDP=17, ICMP=1 hwaddr_t : array of 6 uint8_t; Ethernet MAC Address vlanID_t : unsigned 16-bit; VLAN identifier

4 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Interfaces, Meta-Interfaces and Endpoints ifn_t : unsigned 16-bit; Logical interface number (aka link id). –no correspondence to physical interface number; used as interface index in NPE TCAM filters miID_t : unsigned 16-bit; fast path relative Meta-Interface number –Ranges: Slice relative only, [0, N) ifType_t : unsigned 16-bit; Interface type –0 = Public Internet; 1 = SPP Peering Endpoints struct epoint_t {ipAddr_t; ipPort_t; ipProto_t}; struct epInfo_t { bw_t bw; epoint_t ep; } struct ifAttr_t {ifn_t ifn; ifType_t type; ipAddr_t ipaddr; bw_t link; bw_t avail;} if_list = {ifAttr_t,...}

5 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 FastPath Related Types Specify fastpath NP resources fpParams_t {copt_t, bwspec_t, rcnts_t, mem_t} copt_t : unsigned 16-bit code option identifier –Defined code options {Invalid = 0, IPv4 = 1, i3 = 2} struct bwspec_t { bw_t firm; bw_t soft;} –Aggregate BW requirements for fastpath across all interfaces –bw-firm : Expresses the required aggregate processing resources in terms of BW, units are Kbps. –bw-soft : A hint as to the expected max required processing resources. Resources are not actually allocated to the fast-path, rather the system uses this number for load balancing best-effort fast-paths across available NPEs. struct rcnts_t { cnt_t fltrs; cnt_t queues; cnt_t buffers; cnt_t stats;} –Max resource counts struct mem_t { cnt_t sram; cnt_t dram;} –Requested size in Bytes (may be fixed by code option) Data describing an instantiated fastpath’s NP resources, returned to slice struct fpInfo_t { fpID_t fpid; // Slice relative fast-path id, starts at 0 ipAddr_t npeIP; // FP addr on the NPE epoint_t ldAddr; // Local Delivery UDP Port epoint_t exAddr;} // Exception traffic UDP Port

6 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Reservations rdate_t { date_t start; date_t end; } date_t := “YYYYMMDDHHMMSS” –Always 14 Bytes –Not null terminated on wire Interface BW requirements ifParams_t { cnt_t, ifRec_t[] } ifRec_t {bw_t, ipAddr_t} Reservation Records fpRSpec_t { fpParams_t, ifParams_t, name_t fpName } –Defines resources required for one fastpath instance plRSpec_t { ifParams_t } rsvRecord_t { rdate_t; cnt_t fpCnt; fpRSpec_t[fpCnt]; plRSpec; } –List all resource allocations for a given interval of time.

7 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Filters typedef dw1_t fltrKey_t[COPT_KEY_SIZE] ; // 14 Bytes struct fpKeyWrap_t { uchar type; // 0 = Normal, 1 = substrate only (i.e. tunnel) miID_t rxmi; // Receiving meta-interface ID fltrKey_t coptKey ; // Code option specific lookup key } struct fpFltrResult_t { dw1_t actions; // 0 forward, 1 local, 2 drop, 3 drop and local?? ipAddr_t daddr; // UDP tunnel’s destination IP ipPort_t dport; // UDP tunnel’s destination port qid_t qid; // Slice relative queue ID statID_t sindx;}; // stats index struct fpFltr_t { fpKeyWrap_t keyWrap; fltrKey_t coptMask; fpFltrResult_t result; }

8 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Misc Types sid_t : unsigned 16-bit; (Absolute) Scheduler Id –There are a total of 20 schedulers split across 4 queue managers range [0, 20) 5 schedulers per QM; 4 QMs –Queue Manager ID = qmID_t = sid / 5 –QM’s scheduler ID = schedID_t = sid % 5 qmID_t : unsigned Byte; 2-bit QM identifier schID_t : unsigned Byte; 3-bit qm relative scheduler identifier sched_map_t { qmID_t qmID; schID_t schID; qid_t qid; statID_t sindx; vlanID_t vid; }

9 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 IPv4 Filter Formats (Slice’s view) 682 flags TCPRSVproto00!TCP daddrsaddrsportdporttcp/proto Defined by the IPv4 Code Option, 14 Bytes Type: 0 => Normal Lookup 1 => Substrate only lookup type 8 rx miID Substrate TX IP daddrTX dport 3216 D: Drop packet L: Local delivery sindx qid 16 Destination Address of UDP egress tunnel Result 8 actions LD RMP translations (see next page): –rx miID to ‘rxPort’ and input IP address –result qid to ingress meta-interface ID SCD translations: –input IP address to ifindx –Slice relative IDs to global IDs (qid, sindx, fid) –fastpath ID (message context ID) to vlan –TX miID to corresponding scheduler and QM IDs

10 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 IPv4 TCAM Filter Formats (on NPE) 682 flags TCPRSVproto00!TCP daddrsaddrsportdporttcp/proto Defined by the IPv4 Code Option, 112bits vlan 11 if T = 0: Normal Lookup T = 1; substrate only lookup T 1 RX port Substrate defined 164 TX IP daddrTX dportTX sportrsv QM 3 D: Drop packet L: Local delivery sindxSch 2 qid bit internal qid (SCD maps slice’s miid to QM and Sch. SCD Also maps slice’s qid to global qid value) TX sport represents the output meta-interface. The TX IP addres and dport is provided by the slice. (RMP maps miid to tx tunnel params, use dport provided by slice) Result, 128 bits Represents input meta-interface global stats index (SCD maps slice’s sindx to global value) Key: Input miid, IPv4 fltr {daddr, saddr, sport, dport, tcp/proto} Result: Flags {Drop, GPE}, sindx, Output miID, QID Slice parameters: rsv 1131 L 1 Drsv

11 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 7/13/2016 Stats (accessing FP instance specific counters) struct statRec_t { cnt_t cnt; tStamp_t tstamp; }; flags : dw1_t, bit vector. –see figure to the right handle : unsigned 32-bit –opaque reference to periodic event statID_t : unsigned 32-bit; Stats Index –Ranges: Slice [0, N), Substrate [0, M) Flags: W : {0 - Bytes, 1 - Packts} L : {0 - PreQ, 1 - PostQ} T : {0 - Push, 1 - Pull} X : Don’t Care WLTXXXXX