03.08.2013 Views

VortiQa Platform Services Package (PSP) - Freescale Semiconductor

VortiQa Platform Services Package (PSP) - Freescale Semiconductor

VortiQa Platform Services Package (PSP) - Freescale Semiconductor

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Fact Sheet<br />

<strong>VortiQa</strong> <strong>Platform</strong> <strong>Services</strong><br />

<strong>Package</strong> (<strong>PSP</strong>)<br />

Overview<br />

Over the past decade, the Linux ® OS<br />

has gained significant momentum<br />

in networking and other embedded<br />

applications development. However,<br />

networking software developers<br />

were unable to leverage Linux OS<br />

user space programming due to the<br />

performance impact on networking<br />

applications. The <strong>VortiQa</strong> <strong>PSP</strong> enables<br />

networking development in the<br />

Linux user space without impacting<br />

the performance of networking<br />

applications. Furthermore, the <strong>VortiQa</strong><br />

<strong>PSP</strong> provides application developers<br />

with a simplified interface to leverage<br />

the multicore QorIQ data plane<br />

acceleration architecture (DPAA).<br />

The <strong>VortiQa</strong> <strong>PSP</strong> is a middleware<br />

framework to develop and maintain<br />

networking applications in the Linux<br />

user space. This framework provides<br />

mechanisms to simplify Linux user<br />

space software development on<br />

<strong>Freescale</strong>’s QorIQ processors typically<br />

offered by data plane software<br />

development.<br />

QorIQ processors add substantial<br />

hardware-based acceleration<br />

capabilities that provide large<br />

performance gains in networking<br />

applications, such as DPAA and other<br />

acceleration engines. This provides<br />

offloading assistance in many of the<br />

demanding tasks encountered during<br />

packet processing, such as crypto<br />

algorithms, protocol parsing and<br />

Signaling<br />

Protocols<br />

and<br />

Management<br />

Applications<br />

packet queuing, buffer allocation and<br />

freeing, pattern search and regular<br />

expression engines. The <strong>VortiQa</strong> <strong>PSP</strong><br />

abstracts these hardware functions<br />

to allow for easier application<br />

developement in the Linux user space<br />

without requiring a deep knowledge<br />

of the hardware. Now, software<br />

developers can rapidly create and<br />

migrate networking applications to<br />

the user space without any impact on<br />

performance.<br />

<strong>Platform</strong> <strong>VortiQa</strong> Service <strong>Platform</strong> <strong>Package</strong> <strong>Services</strong> Architecture <strong>Package</strong> Block (<strong>PSP</strong>) Diagram Block Diagram<br />

<strong>PSP</strong> Instance<br />

Packet Processing Applications<br />

Session Tracking<br />

Network Service Layer<br />

(Network DB Synchronization)<br />

(IP Forwarding, Bridging, Frag/Reassm Utilities, etc.)<br />

User Space Drivers<br />

(Ethernet, PPPoE, VLAN, SEC, PME, etc.)<br />

Core <strong>Services</strong><br />

(Executing Engines, Timer, Mempool Managers, etc.)<br />

USDPAA<br />

Linux<br />

Multicore SoC (Ethernet, SEC, PME, etc.)<br />

® Memory<br />

TCP/IP Stack<br />

Mapped<br />

<strong>PSP</strong> Instance <strong>PSP</strong> Elements <strong>Freescale</strong> SDK and Linux BSP<br />

User Application <strong>Freescale</strong> QorIQ Processor<br />

User Space<br />

Kernel


The <strong>VortiQa</strong> <strong>PSP</strong> uses Linux user<br />

space programming to deliver<br />

substantial benefits to software<br />

developers, including:<br />

• Ease of development<br />

• Ease of maintenance and support<br />

• Improved performance<br />

• Improved copyright protection<br />

• Better availability of software libraries<br />

<strong>VortiQa</strong> <strong>PSP</strong> Architecture<br />

The <strong>VortiQa</strong> <strong>PSP</strong> software runs on <strong>Freescale</strong>’s<br />

Linux software development kit and delivers<br />

a hardware abstraction layer to provide<br />

a consistent set of APIs across multiple<br />

<strong>Freescale</strong> QorIQ processors. The <strong>VortiQa</strong><br />

<strong>PSP</strong> also configures the hardware drivers<br />

and offers an execution context as requested<br />

by the application developer. The hardware<br />

abstraction hides hardware differences and<br />

allows programming to take place in the<br />

user space as opposed to the kernel space,<br />

thereby providing the advantage of leveraging<br />

software development investment across a<br />

range of <strong>Freescale</strong> silicon platforms.<br />

Execution Context<br />

The <strong>VortiQa</strong> <strong>PSP</strong> enables execution context<br />

similar to how the kernel provides execution<br />

contexts to networking packet processing<br />

applications. Both the hardware polling and<br />

software polling methods are supported in the<br />

packet processing within a given execution<br />

context.<br />

Hardware Drivers<br />

The <strong>VortiQa</strong> <strong>PSP</strong> provides a hardware<br />

driver layer in the Linux user space while<br />

utilizing the zero copy method in the packet<br />

processing. These drivers include support<br />

for crypto and IPSec engines SEC 3.x and<br />

SEC 4.x, <strong>Freescale</strong>’s pattern matching engine<br />

2.0, DPAA FMAN driver and QorIQ eTSEC<br />

Ethernet driver.<br />

Communication Interface<br />

The <strong>VortiQa</strong> <strong>PSP</strong> has a standard interface for<br />

communication between the <strong>PSP</strong> applications<br />

and others, such as command line interface,<br />

Web server management or any other<br />

daemon running as part of the overall system.<br />

It is possible to utilize multiple simultaneous<br />

communication channels.<br />

Networking Service<br />

The <strong>VortiQa</strong> <strong>PSP</strong> provides a network interface<br />

manager, ARP data base facilities and<br />

maintains routing tables and bridging facilities.<br />

Session and Flow Manager<br />

The <strong>VortiQa</strong> <strong>PSP</strong> provides session and flow<br />

manager services which track the sessions<br />

and provide NAT functions. Applications<br />

requiring L4 session tracking can take<br />

advantage of this service.<br />

Generic Utility Library<br />

The <strong>VortiQa</strong> <strong>PSP</strong> provides several<br />

programming utilities, including timer libraries,<br />

memory pool manager, packet buffer<br />

manager, locks, multicore hash table and<br />

statistics-gathering support.<br />

Key Features<br />

• Multicore layer abstraction to allow core<br />

to core application scalability by hiding<br />

the number of cores and intelligently<br />

mapping the application flows to<br />

execution threads<br />

• Provides a consistent interface across<br />

the QorIQ product families to fill hardware<br />

gaps and hide hardware differences<br />

• Hardware driver support in Linux user<br />

space: Ethernet, SEC and PME engines<br />

• Full DPAA offload for applications<br />

running in Linux user space. <strong>VortiQa</strong> <strong>PSP</strong><br />

leverages hardware acceleration facilities,<br />

such as checksum verification/generation<br />

and packet distribution.<br />

For more information, visit freescale.com/<strong>VortiQa</strong><br />

• Provides network services such as<br />

interface database, routing database,<br />

ARP database, bridging and forwarding<br />

• Data plane route module is synchronized<br />

with control plane routing table, allowing<br />

route lookups required for the packet<br />

traversals<br />

• Provides stateful session management<br />

in the data plane, including creating,<br />

deleting sessions and optimizing a lockfree<br />

session table lookup<br />

• Provides communication mechanisms<br />

between control plane and data plane for<br />

packets and inter-module messaging for<br />

short and bulk messages<br />

• Provides support for IPv4 and IPv6<br />

protocols<br />

• Statistics support<br />

• Memory management<br />

• Provides a large number of well-defined<br />

timer APIs consisting of a mix of<br />

hardware with minimum software that<br />

leverage the queue manager and DPAA<br />

buffer manager<br />

Pricing and Availability<br />

Please contact your local <strong>Freescale</strong> sales<br />

representative for business models and<br />

availability.<br />

<strong>Freescale</strong>, the <strong>Freescale</strong> logo and QorIQ are trademarks of <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc., Reg. U.S. Pat. & Tm. Off. <strong>VortiQa</strong> is<br />

a trademark of <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc. All other product or service names are the property of their respective owners.<br />

© 2012 <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc.<br />

Document Number: VRTQA<strong>PSP</strong>A4FS REV 0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!