Modern routers use high-performance multi-core packet processing systems to implement protocol operations and to forward traffic. As the diversity of protocols and the number of processor cores increases, it becomes increasingly difficult to manage these systems and ensure their correct operation at runtime. In particular, it is challenging to identify situations in which a part of processor cores behave incorrectly, either due to failure or due to malicious attacks. To address this problem, we present a novel approach to verifying correct operation of a packet processor by analyzing packet latency and throughput. This approach can treat the network processor as a "black box" and does not need to observe internal functionality. We show that processing time statistics are affected by system misbehavior and present an analytic model to quantify these effects. Our results show that the presented technique is an effective approach to provide an extra level of protection to packet processor systems.
I. INTRODUCTIONComputer networks continue to increase in their size, diversity, and complexity. New protocols (e.g., IPv6 [1], etc.) and novel communication paradigms (e.g., content-addressable networks [2], etc.) need to be deployed for improved network operation and to support emerging applications. To meet these demands, the networking infrastructure components -specifically routers -need to be sufficiently adaptable. The use of programmable network processors in router systems allows for changes in packet processing functionality through software rather than requiring changes in hardware.To meet the performance requirements of modern networks, where link speeds exceed tens of Gigabits per second, network processor (NP) designs are based on highly parallel embedded multi-core architectures. These processor cores are powerful enough to perform packet processing operations independently, but they are not equipped to run a complex operating system. Typically, a control processor manages the processing tasks that are implemented on the multiple data path processor cores.Current network processors use dozens to hundreds of parallel cores (e.g., Cavium's Octeon III has 48 cores, AlcatelLucent's FP3 has 288 cores). One of the key operational challenges for such systems is workload management to meet targets for throughput performance, power consumption, etc. With the emergence of network virtualization [3], it is expected