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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!