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.

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!