0% found this document useful (0 votes)
20 views

SBC 8.4 Knowledge Transfer Session 2014-06-25

The document discusses an upcoming knowledge transfer session about GENBAND's SBC Release 8.4 software running on the new Q21 hardware. The session will provide an overview of the Q21 product and media software, tips for debugging Q21, and details about the Q21 media internals.

Uploaded by

Yüksel Ersoy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

SBC 8.4 Knowledge Transfer Session 2014-06-25

The document discusses an upcoming knowledge transfer session about GENBAND's SBC Release 8.4 software running on the new Q21 hardware. The session will provide an overview of the Q21 product and media software, tips for debugging Q21, and details about the Q21 media internals.

Uploaded by

Yüksel Ersoy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 54

SBC and GENView RSM Release 8.

Knowledge Transfer and Training – June 25, 2014

GENBAND Confidential and Proprietary


Today’s Agenda
SBC Release 8.4 Knowledge Transfer Sessions
Feature Presenter Session Start Session
Date Time Recording
URL .ppt location
Rick Porter and
SBC 8.4 Software other members
of the dev team 6/25/2014 8:00 Recording Sharepoint
Q21 Hardware John Lewis 7/2/2014 8:00 Recording Sharepoint
Fast Features included
Release 8.4 (not confirmed Gaurav Sharma
yet) 7/2/2014 9:00

Logistics….PLEASE
 Use the mute button on your phone when not speaking.
 Don’t put the call on hold if you have music on hold on your phone
 If the background noise becomes excessive, the conference all participants will be muted.
To unmute your self press *7.
 Submit questions via the adobeconnect message screen
 There will be about a one minute pause between presentations to stop and restart the
recording between sessions.

2 GENBAND Confidential and Proprietary


Release 8.4 Knowledge Transfer Sessions
• Schedule
SBC Release 8.4 Knowledge Transfer Sessions
CCL # Feature Presenter Session Date Start Time Session Recording
URL .ppt location
Rick Porter and other
SBC 8.4 Software members of the dev
team 6/25/2014 8:00 Recording Sharepoint
Q21 Hardware John Lewis 7/2/2014 8:00 Recording Sharepoint
Fast Features included Release 8.4
Gaurav Sharma
(not confirmed yet) 7/2/2014 9:00

• 8.4 Presentations and recordings to be added to collection

• Over 80 Presentation and Session Recordings posted to Sharepoint at:


https://portal.genband.com/sites/Sec/S3/Features/_layouts/listform.aspx?PageType=4&ListId={CDEFA8B7-9BD
7-4FA0-9FB1-36A5E5C29A19}&
ID=10&ContentTypeID=0x010400484F4F54B25B294E8CD9AC5137FB5B24

• Excellent participation globally from Session # Participants


across the company. June 25 68 Accepted
25 Tentative
July 2
• Participants details by session available
8.3 Knowledge Transfer Sessions
SBC Release 8.2 Knowledge Transfer Sessions
Feature Presenter Session Start Session Recording URL
Date Time .ppt location
Multiple SeSM / 301 Move
Vidyut Gupta
Permanently 30-Oct-13 8:00 http://genband.adobeconnect.com/p43uzph7m Sharepoint
z3/
URL Dialing for A2 Vidyut Gupta 30-Oct-13 8:20 http://genband.adobeconnect.com/p43uzph7m Sharepoint
z3/
Filtered Logging Vidyut Gupta
30-Oct-13 8:40 Rescheduling

Transcoding Codecs Ying Liu 6-Nov-13 8:00 http://genband.adobeconnect.com/p7mend5zheh/


Geo-Redundancy James Shen 6-Nov-13 8:15 Rescheduling
File Descriptor Exhaustion
Abhinav Joshi
Monitoring 6-Nov-13 8:35 http://genband.adobeconnect.com/p7mend5zheh/
RSM HA Bonded control Abinav Joshi and
interface Anshul Gupita 6-Nov-13 8:45 Rescheduling

RSM default Alarming Shomil Khare


13-Nov-13 8:00
Default P-Time Vidyut Gupta 13-Nov-13 8:15
Packet Policing Indicator Vidyut Gupta 13-Nov-13 8:25
SIP Packet Logger Tool Ashish Sharma 13-Nov-13 8:45

Route SIP options w/o


username when using trunk Gaurav Sharma
group routing. 20-Nov-13 8:00
CDR Field to indicate
Gaurav Sharma
privacy requested by caller 20-Nov-13 8:10
Service-route for Surrogate
Gaurav Sharma
4 registration endpoints 20-Nov-13 8:20 and Proprietary
GENBAND Confidential

Stop hunting to same


Gaurav Sharma
Release 8.4 Knowledge Transfer Session
June 25, 2013

GENBAND Confidential and Proprietary


Summary

 Intended audience
• GENBAND’s internal SBC field, deployment, and support personnel

 Intent
• Overview of Q21 as compared to Q20
– Attendee should able to articulate some differences and operational impacts
• Provide Q21 reference material

 Agenda
• Q21 Product Overview
• Q21 Media Software Overview
– General description of iMedia architecture and required resources
• Q21 Debugging
– Tips for debugging Q21
• Q21 iMedia Internals
– Information about low-level details of Q21 iMedia software

6 GENBAND Confidential and Proprietary


Q21 Product Overview

GENBAND Confidential and Proprietary


SBC Software Architecture w/release 8.4 on Q.21

Q21 Q20
 iServer
• Handles SIP/H323 signaling iServer iServer
Release 8.4 Pre-8.4
• Sends MFCP to Media to setup
redirects
• Controls active/standby for media

MFCP

MFCP
 iMedia
• Handles all media processing
• Control path sets up forwarding
based on MFCP iMedia Cavium
• Fastpath cores handle media MediaProcessor
packets Control

Hk rpm
Fastpath
Fastpath
Fastpath
Fastpath

8 GENBAND Confidential and Proprietary


Q21 is …

 first and foremost, an evolution of the Q20 that delivers significantly


increased media session capacity and 10G media I/O
 a new implementation of existing media processing functionality that
runs on Intel multi-core processors:
• And incorporates I-DPDK + Genband’s Packet Forwarding Engine (PFE) SW as the
foundation for the iMedia application
 a part of a broader strategy to realize hardware independence for the
SBC towards virtualized, cloud-based deployments
 “Under the hood” – designed to fit with existing iServer app and
legacy interfaces to media engine
• Media configuration model via mdevices.xml
– Modified to support “new” transcoding interface model (not customer configurable), but otherwise the same
• iServer (rel 8.3 based) call processing software preserved
• Control interface media engine preserved
• Preserved existing tools, though some re-worked / enhanced for use with iMedia
– E.g. enp2611 for iMedia control, statclient for detailed stats and control, start_capture/stop_capture
• Customizations to gb-linux required to support new hardware and iMedia engine

9 GENBAND Confidential and Proprietary


Q21 – Basic Architecture

GIS

Intel CPU (32 cores)


NIC

Signalling Plane
UA/ Bridge
SIP/H.323 H.323
signalling
FCE
4x1G

MFCP DS
PA Media and data Plane
PI

DSP control API


iMedia Application
NIC

Intel CPU (32GENBAND


cores) Packet
HW
Intel CPU (32 cores)

Forwarding Engine
Media Intel Intel Media API
DPDK QAT DSP PCI
Linux OS
Intel HW
4x1/10 G

10 GENBAND Confidential and Proprietary


GENiUS PFE Intel Data Path Architecture pfe

Ingress HW interface

Ingress queue

Core 0 Core 1 Core 2 Core 3 Core 4 Core 5 Core 6 Core 7


CPU
User

iMedia App

iMedia App

iMedia App

iMedia App
iMedia App
space

DPDK

DPDK

DPDK

DPDK
DPDK

PFE

PFE

PFE

PFE
PFE
PFE
Kernel KLM

Egress queue

• Flexibility to dedicate cores to Linux or Data Path DPDK Egress HW interface

• Typical Linux Applications run in User Space on


OS • PFE provides intelligent distribution across cores
in SMP-mode across ‘n’ cores
– Ensures packets of same flow go to same core

• A PFE KLM provides exception path between • PFE provides additional services such as rate
Linux Kernel and Data Path cores running PFE /
limiters, interfaces to crypto and DPI engines

11 GENBAND Confidential and Proprietary


12 GENBAND Confidential and Proprietary
Q21 DC Rear View

13 GENBAND Confidential and Proprietary


8.4 Overall Feature Release Exceptions
Appearing in product documentation, release notes and internal release
announcement:

The QUANTiX SBC Release 8.4 does not support any access deployment features
related to the termination, registration or management of directly
connected endpoints. In addition, the QUANTiX SBC Release 8.4 does not support
the following:

 Local REFER handling


 SRTP
 Layer 3 resilience through gateway monitoring
 Media link connectivity checking and bandwidth control
 Lawful Intercept
 MSRP
 External transcoding using the G9 Converged Media Gateway
 Upgrades from Q20 to Q21

Lastly, as with release 8.1T and 8.3, RFC 2833 <-> SIP INFO is the only DTMF
interworking scenario supported on systems without the on-board transcoding HW
option
14 GENBAND Confidential and Proprietary
Q21 Media Software Overview

GENBAND Confidential and Proprietary


Q21 Media Application Overview

 Mostly port of Cavium code (in spirit)


• Many low-level functions replaced, but much of same code for processing packets
• Generally the same interfaces
– enp2611 script for starting/stopping media
– statclient – contains a few updates
– iMedia listens for MFCP messages from iServer

 Installation
• Nearly same install/update procedure
• No field upgrade from 8.3 to 8.4!!

 Mdevices.xml changes to support OBT HW variant on Q21


• RSM accounts for the changes, but not everyone uses RSM

 Media interface notes

16 GENBAND Confidential and Proprietary


iMedia Software Libraries

 Data Plane Development Kit (DPDK)


• Intel’s fast path libraries

 Quick Assist Software Development Kit (QASDK)


• Intel’s cryptographic libraries

 Packet Forwarding Engine (PFE)


• GENBAND’s library to manage Intel DPDK environment

 Telchemy
• Media Quality Monitoring (MQM) code

 Other “standard” libraries


• libxml, netlink, cunit

17 GENBAND Confidential and Proprietary


Intel Media System Architecture

iMedia Application

Packet Forwarding Engine (PFE)


SDK

Intel DPDK Intel QAT

Linux OS

18 GENBAND Confidential and Proprietary


Component Responsibilities

Intel DPDK PFE iMedia


• Poll-Mode driver • Network interface • Interface to VOIP
interface to HW management application
• Fast primitives for • Manages scheduling • Configures interface
packet forwarding for multiple Ethernet addresses
devices and engines • Initiates gratuitous
ARPs

19 GENBAND Confidential and Proprietary


Q21 Installation

 Single tar file containing master update, iServer installer, and imedia-q21
RPM
 Same master update installation procedure
• Master updates take care of core/memory reservations on boot line

 Same iServer installation procedure


• Base Release 8.3.2.4 + additional fixes propagated from earlier 8.x.x release (~60)
• Some slight differences to accommodate iMedia instead of Cavium NP

 Similar media installation


• imedia-q21 replaces hk RPM
– rpm -ivh imedia-q21-gb08.x86_64.rpm
• Update involves removing and replacing RPM
– Must first stop everything (e.g. allstop) or Process Manager will reboot SBC
– rpm -e imedia-q21
– rpm -ivh imedia-q21-gb08.x86_64.rpm

20 GENBAND Confidential and Proprietary


imedia-q21 RPM Content
Tool Purpose Location Notes
iMedia Main media process bin
iMedia-cli Provides interface to bin Talks across local Unix socket (/tmp/.imedia-
access PFE CLI remote) to send strings to iMedia. It is
necessary for clean shutdown, and starting a
support capture
pfenetlink Observes Netlink events bin Provides means for observing VLAN interfaces,
and reports to iMedia and some basic events.
statclient Provides "unchanged" bin In Q21, statclient is really a script that sets the
interface to SBC address and calls statclient_binary. The
statclient_binary talks to statserver thread in
the iMedia process, and renders the output.
rcli Provides many stats bin Useful for looking at transcoding and other
and other good stuff details, ask Owen for more info about what the
program provides.
dump_cfg Intel DPDK utility for bin Packaged for low-level debug
examining configuration
hkifmgmt Familiar interface bin Really, nothing more than an executable that
management tool used calls 'statclient enableRgmii' or 'statclient
by iServer disableRgmii'.

21 GENBAND Confidential and Proprietary


imedia-q21 RPM Content (part 2)
Tool Purpose Location Notes
log_serial Familiar tool used by bin Provided to stop iServer from having problems
iServer -- does nothing
generate_whitelist. Generates the whitelist tools Does NOT overwrite existing whitelist, so must
sh based on detected rename/delete original. This is run when the
hardware. RPM is installed, but included in the RPM to
allow for reset to default whitelist.
enp2611 Script to start/stop tools Has a symbolic link from /etc/init.d/. Also
media provides status. The name was kept because
that is what iServer expects. The enp2611_core
and enp2611_mods versions are include since
they may be called in some corner cases.
start_capture.sh/ Used for support tools Same functionality as Q20, but different means
stop_capture.sh captures for capturing packets from the media
interfaces.
pci_unbind.py Used by enp2611 to tools Also useful to see status 'pci_unbind.py --
bind whitelist to DPDK status'
driver
cpu_layout.py, Utilities for viewing tools Useful when working on new systems (e.g. see
ports.pl, system information coremask & socket/core relationships), but not
topology.pl absolutely necessary for operation.
imps Utility to see iMedia bin Shows cores where threads run
threads

22 GENBAND Confidential and Proprietary


Q21 Media Interfaces

 Physically reside on Silicom 4x10G card


• SFP+ allows 10G connectors to be replaced by 1G connectors
• Card is in same slot in SBC as Cavium card

 Media interfaces show up on SBC


• Configure media interfaces through mdevices.xml
• hk0,X shows as hkX with Linux network tools (e.g. ifconfig)
• vEthX shows up for transcoding interfaces

 Media interfaces use Poll-Mode Driver


• Link is UP only when application is running!
• Linux network tools work differently
– ifconfig/SNMP – stats are not correct for media interfaces
– Wireshark – does not work for media interfaces
• Use ‘iMedia-cli capture start <filename>’
• Constantly polling for packets
– top – shows some cores as always busy

23 GENBAND Confidential and Proprietary


Media Devices XML Changes for Transcoding

 Need additional devices for new transcoding card (C04)


• Adds additional interface for accessing transcoding card
• This is a fixed part of mdevices managed by RSM and not exposed to the user
• Sample changes below included for informational purposes
<!-- Highlighted: add new sub-devices/pools to transcoding pools -->
<POOL id=“3” name=“pool3”>
<DEVPOOL sub-dev=“hk” sub-pool=“hk-internalDspPool-1”/>
<DEVPOOL sub-dev=“hk” sub-pool=“hk-internalDspPool-2”/>
<DEVPOOL sub-dev=“onboard” sub-pool=“Onboard-Transcoder-Pool”/>
</POOL>

<!-- Highlighted: add new pools for transcoding port allocations; needs to be separate pools for exclusive provisioning -->
<POOL id=“254” name=hk-internalDspPool-1”>
<PORTALLOC address=”169.254.1.100” low=“10000” high=“65535” mask=“255.255.255.0” vnet=“Hk-Vnet5”/>
</POOL>
<POOL id=“255” name=hk-internalDspPool-2”>
<PORTALLOC address=”169.254.1.101” low=“10000” high=“65535” mask=“255.255.255.0” vnet=“Hk-Vnet6”/>
</POOL>

<!– Highlighted: add new interfaces for accessing transcoding card; these show up as vEthX interfaces -->
<VNET interface="hk0,5" name="Hk-Vnet5" vlanid="none">
<ROUTE dest_ip="0.0.0.0" gw="0.0.0.0" mask="0.0.0.0"/>
</VNET>
<VNET interface="hk0,6" name="Hk-Vnet6" vlanid="none">
<ROUTE dest_ip="0.0.0.0" gw="0.0.0.0" mask="0.0.0.0"/>
</VNET>

24 GENBAND Confidential and Proprietary


Media Devices XML Changes for Increasing Capacity

 Media pools often reflect Q20 limitations


• Q21 has capacity that can exceed port range
• Add additional PORTALLOCs to add an IP address and ports

<PORT id=“1” name=“public-media”>


<PORTALLOC vnet=“Hk-Vnet1” address=“20.117.50.23” mask=“255.255.255.0” low=“10000” high=“60000” />
<PORTALLOC vnet=“Hk-Vnet1” address=“20.117.50.24” mask=“255.255.255.0” low=“10000” high=“60000” />
</PORT>

25 GENBAND Confidential and Proprietary


Network Interface Management

 Do NOT use Yast while iServer is running!!


• Yast does NOT recognize devices when iMedia has devices bound
• iMedia cannot bind if interface has been configured with Yast!
• Check added that prevents Yast from executing if iServer is running

 PCI devices in whitelist bound to driver at start


 Startup starts pfenetlink process
• Observes interface events and reports to iMedia

 iMedia plumbs interfaces during startup


• pfenetlink observes the changes, reports to iMedia
• iMedia allocates/initializes PFE VLAN interface data structures when it receives
notifications

26 GENBAND Confidential and Proprietary


Q21 Debugging

GENBAND Confidential and Proprietary


Q21 Debugging Techniques

 statclient interface largely unchanged


• Review of some favorites
• Updated showL2
• Added showDtmfTrans, showMediaPorts

 rcli provides access to real-time stats for iMedia (similar to ocli for
transcoding stats)
• Added support for new statclient commands
• Added support to see PFE framework stats

 Logs
• Remain in the same locations

 Start/stop capture scripts


• Mechanisms slightly changed, but collect same information

 Obsolete Debugging Techniques


• Some minor changes required

28 GENBAND Confidential and Proprietary


statclient Favorites

 showFrameStat – system level packet


counts
 showMediaStat – system level redirect
summary counts
 showRedirStat – individual redirect
counts

29 GENBAND Confidential and Proprietary


Updated Q21 statclient Commands

 Updated showL2 to have more information


• Added Ethernet/VLAN/IP information (green)
• Added “age” column (orange) – currently display 60 second max

30 GENBAND Confidential and Proprietary


New Q21 statclient Commands

 Added showDtmfTrans
• Shows redirects doing DTMF translation (specifically RFC 2833 to SIP INFO)
– Does NOT show DTMF translation done on transcoding card

 Added showMediaPorts
• Shows media port usage, and “reserved” bandwidth for CAC

31 GENBAND Confidential and Proprietary


RCLI Changes

 Added rcli-statclient commands to see new statclient commands


• rfc2833 show (statclient showDtmfTrans), media showPorts (statclient showMediaPorts)

 Added interface to see PFE statistics

32 GENBAND Confidential and Proprietary


Q21 Media Logging

 /var/log/serial.log
• Startup messages, including basic HW config information

 /var/log/hk.log
• Application messages
• Level set with ‘statclient -d <0-7> setDebugLvl’

33 GENBAND Confidential and Proprietary


Start and Stop Capture Scripts

 Mechanisms have changed, intent remains


• No longer use Wireshark for media interfaces!
– Use ‘iMedia-cli capture start <pcapname>’

 Support capture content remains


• signaling.pcap – SIP signaling
• mfcp_control.pcap – MFCP communications (iServer to iMedia)
• media.pcap – Monitored RTP/RTCP streams
– ‘statclient setRedirMonOn <rdr-indx>’
• mdevices.xml – Copy of current mdevices file
• hk.log – Media debug print messages
• serial.log – Media startup print messages
• sc_*.out – Periodic runs of statclient commands

34 GENBAND Confidential and Proprietary


Catastrophic Failure Data Collection

 iMedia process generates a core file if it crashes


• Core files put in /var/core
• Backtraces may be useful, but please send along core file
• If/when iServer forcibly kills iMedia, also generates a netstat_<pid> file
– Provides information about socket state

 iMedia does have kernel components


• Design has drivers that have minimal kernel presence
• If drivers have problems, they generate kernel panics in /var/crash

35 GENBAND Confidential and Proprietary


Obsolete Q21 Debugging Techniques

 Capturing packets sent to PCI device


• Mark L2 and/or redirects could be marked to duplicate packets to PCI interface (via
statclient enableArpMon/enableRedirMon)
• Formerly, could run Wireshark to capture PCI0
• Now, must use ‘iMedia-cli capture start <filename.pcap>’ to capture those packets

 rsh to hk
• No more HK card to rsh to!
• Use standard Linux commands to look at hkX interfaces (e.g. ifconfig)

 ARP/ICMP from Q21 does not verify media interface reachability


• Can be sent from remote system to media interface – not from local host
• May initiate ARPING/ICMP from media interfaces
• ONLY WORKS IF iMedia IS RUNNING!!!!

 “L2 Index” meaning changed (in ‘statclient showRedir’)


• L2 index resolved at create/modify, so 0xffff no longer indicator of no packets received
• L2 index of 0xfffe indicates pending ARP (transient on first calls, or unresponsive
endpoint)

36 GENBAND Confidential and Proprietary


Q21 iMedia Internals

GENBAND Confidential and Proprietary


Q21 Terminology

 Whitelist
• List of PCI devices to bind to DPDK poll-mode drivers
• Generated at install time by /opt/genband/imedia/tools/generate_whitelist.sh
• Used at startup to bind drivers to PCI addresses

 Kernel-Network Interface (KNI)


• Part of our implementation used to talk with On-board transcoding resource
• KNI interfaces show up as vEthX
38 GENBAND Confidential and Proprietary
Q21 Processes and Drivers

 iMedia
• Main SBC processing includes fastpath and control

 pfenetlink
• Observes interface changes and reports to iMedia

 Several drivers working together

39 GENBAND Confidential and Proprietary


iMedia Threads

 iMedia – main application


 MSasyncSH – Linux signal handling
 dpdk_intr – control for fastpath
 dpdk_slave – fastpath processing
 CPstart – control plane management
 MSpm – process manager agent
 MediaServer – processing MFCP
requests/responses
 rclisrv/ssMain – CLI server threads
 MSarpMain/MSarp4/MSicmpv6 – neighbor
management
 MSinact – inactivity monitoring
 srtproc – SRTP rollover counter monitoring
NOTE: thread names may appear in core file names

40 GENBAND Confidential and Proprietary


Q21 Layer 2 Differences

 Motivated by Q21 exception path limitations


• Fewer ARPs are sent (by design)

 Active Q21 attempts to resolve L2 at create/modify


• If unable to resolve, first packet follows “slow” path
• If L2 resolved, fewer packets go on “slow” path

 Backup Q21 tracks L2


• ARP/GARP/ICMP updates L2 table on backup
• Attempt to resolve L2 at create/modify (same as active)

 “L2 index” is part of ‘statclient showRedir’ display


• “L2 Index” of 0xffff no longer indicator of no packets received
• “L2 Index” of 0xfffe for entries waiting for ARP response
– Transient on first call
– Misconfiguration or unresponsive endpoint

41 GENBAND Confidential and Proprietary


Packet Processing Notes

 Standard RTP packets handled by PMD


• Packets do not go to Linux
– No Wireshark or Netlink (FW) rules hit
– Network interface stats not updated

 Exception path is used to send packets from/to Linux


• Use Linux for some ICMP/ARP
• Receive packets from Linux (any socket)

42 GENBAND Confidential and Proprietary


Standard RTP Processing

3. iMedia Application

Engine

4.
2. Port VPort

1. Poll-Mode Driver Linux OS

1. Packet arrives 3. RTP processing


• Read off the wire • Standard redirect match, modify,
transmit
2. Calculate hash & rescheduled
4. Send packet to egress
• Scheduled on engine/core determined
on port and hash value • Schedules for egress engine to send
• Put on wire by egress engine

43 GENBAND Confidential and Proprietary


Q21 System Resource Allocation

 Systems are preconfigured – no need to touch this!!


 Cores – dedicate cores to media processing
• Are reserved in boot parameters
• Some cores for media processing, some for control

 Memory – allocated from huge pages


• Are reserved in boot parameters
• Allows efficient sharing between kernel/user-space
– Some parts for packets, other for fast path processing
• Mounted at /mnt/huge

44 GENBAND Confidential and Proprietary


Media Resource Configuration Information
 No action required on standard Q21 system – all done automatically
• Mdevices is only config different at each site
• Lots of parameters need coordination
– Boot parameters, driver loading, mdevices, iMedia arguments, and HW

 HW Devices must have Poll-Mode Driver (PMD) support


• Intel Niantic NIC chipset

 NICs are configured


• Whitelist must contain PCI address
– PCI devices bound to driver at startup, generated only at install

 System resources are allocated at boot


• Cores and huge pages are isolated from Linux control

 Arguments may override default config (or imedia.cfg file)


• DO NOT DO THIS …
• Cores used by drivers
• Mapping of cores/ports (typically 2 cores/port)
• Memory reservation
NOTE: config files get put in /opt/genband/config – not deleted/updated when re-installing (mdevices regenerated each restart)

45 GENBAND Confidential and Proprietary


Q21 Core Layout Information

 Reserved in boot command


• Prevents Linux from using them
• Add to IRQ_BALANCE_BANNED_CPUS

 All cores on CPU0 CPU0 CPU1


• Current I/O devices on PCI bus controlled by
CPU0 0 16 8 24
1 17 9 25
 Cannot use core 0 2
3
18
19
10
11
26
27
• Linux uses core 0 for boot loader 4 20 12 28
5 21 13 29
 Media cores/port allocated as power of 2 6 22 14 30
7 23 15 31
• Best behavior with pairs of physical and hyper-
threaded cores Media cores
Control cores
 Drivers are loaded with exception path core Transcoding cores
KNI cores
(management core) identified

46 GENBAND Confidential and Proprietary


Questions?

GENBAND Confidential and Proprietary


Future

 Phase 2 (POI) iMedia features in release 9.1


 Q50 currently runs same data plane
• Demonstrated at Perspectives-14
• Working on integrating with middleware solution

 VM
• Possible in the right HW ecosystem (minus transcoding)

48 GENBAND Confidential and Proprietary


Backup

GENBAND Confidential and Proprietary


PFE Resource Types

 Engine – core/thread processing packets


 Port – Ethernet port
 Vport – virtual port used to talk to Linux
• This provides the “exception” path allows sending packets to Linux and/or PEP module

50 GENBAND Confidential and Proprietary


PFE Engine Resources

N = # engines in use

Engine
1:N
TX Ring
TX Ring
TX Ring
TX Ring
Poll-Mode Driver
Poll-Mode Driver
RX Ring VTDEV Ring Poll-Mode Driver
Poll-Mode Driver

Poll-Mode Driver Linux OS Transmit Path

Receive Path Exception Path

51 GENBAND Confidential and Proprietary


Ingress ARP/ICMP Processing

3. iMedia Application

Engine

4.
Port VPort
2.

1. Poll-Mode Driver Linux OS

1. Packet arrives 3. SBC processing


– Recognize as ARP/ICMP
– Read off the wire
– Prepend VLAN tag (if any)
2. Calculate hash & rescheduled
4. Send packet along exception path
– Scheduled on engine/core determined
– Put in queue for Linux
on port and hash value
– Handled by Linux kernel

52 GENBAND Confidential and Proprietary


Egress Packet Processing

iMedia Application
3.

4. Engine

Port VPort

2.
Poll-Mode Driver Linux OS 1.

1. Application/OS decide to send 3. SBC processing


packet – Recognize as TX packet
– Socket IO for application, or OS ARP (PFE_PKTMBUF_FLAG_TX_EXC)
2. Packet read from VPort 4. Send packet to egress
– Scheduled on engine/core determined on – Put in queue for egress engine to pull
port
– Marked as TX packet
– Put on wire by egress engine
53 GENBAND Confidential and Proprietary
Unresolved RTP Processing
2. 5.
iMedia Application
11.
8.

3.
Engine

4.

9.

10.
Port VPort
1.
6. Poll-Mode Driver Linux OS
7.
12.
1. Packet arrives 7. Receive L2 response
2. RTP processing 8. Recognize as L2
– Standard redirect match, modify, no L2
9. Send to PEP and Linux OS
3. Encapsulate/send to PEP
10. PEP recognizes queued packets
4. L2 Request from PEP

waiting
Original packet decapsulated and queued
– Sends original packet with new L2 info
5. Send TX packet (ARP)
11. Recognize as TX packet
6. L2 Request on wire by egress engine
54
12.
GENBAND Confidential and Proprietary
Put on wire by egress engine

You might also like