Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Nov 20, 2015
Presented by: Saurabh Shrivastava, Nuage Networks
OVS can be abstracted as a stack based processor with a set of registers, RAM and with an instruction set for function calls, conditional and unconditional jumps, memory load and stores, logical operators such as ||, &&, !. This processor can now be programmed in C (with restrictions).
The programming model is that a packet enters the processing pipeline at the "main" function, does several function calls, lookups RAM, eventually modifying packet by writing into well known "global" variables which correspond to flow fields.
The code section is implemented in table 0, RAM in table 1. REG0 is used as the "program counter", function call parameters are loaded into registers, return value of the function is pushed on to the stack, conditional jump is implemented by playing with rule priority.