Raw export of IP6 packet with iOAM metadata 67/2267/11
authorShwetha <shwethab@cisco.com>
Mon, 8 Aug 2016 14:51:04 +0000 (15:51 +0100)
committerDave Barach <openvpp@barachs.net>
Mon, 22 Aug 2016 17:19:04 +0000 (17:19 +0000)
commita91cbe698281ff339273b1624fb3860ee9c4c2c7
treebf899879467d0a2d640e2e92643ccc8981a619ec
parentaa88697b71878b0d28fd497e97300067aea735a1
Raw export of IP6 packet with iOAM metadata
- is enabled on iOAM pop nodes with "set ioam export ipfix collector"
- ioam_export_node Hooks into vlib graph b/n ip6-hop-by-hop node and ip6-pop-hop-by-hop node
- A buffer per worker thread is created for collecting packet data to be exported
- ioam_export_node exports first 3 cachelines by collecting it in a MTU sized frame, slaps on ipfix header for export
- ioam_export_thread process node - checks for unsent record buffers for longer than 20 seconds and exports it
- Added dual loop and prefetch in add, hop-by-hop and pop functions

To be done:
- IPfix template
- Multi collector distribution of ipfix packets
- Port to be configurable

Change-Id: I959b4253036551382562bdaf10a83fd6f2f1c88b
Signed-off-by: Shwetha <shwethab@cisco.com>
12 files changed:
plugins/ioam-plugin/Makefile.am
plugins/ioam-plugin/ioam/export/ioam_export.api [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export.c [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export.h [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export_all_api_h.h [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export_msg_enum.h [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export_test.c [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/ioam_export_thread.c [new file with mode: 0644]
plugins/ioam-plugin/ioam/export/node.c [new file with mode: 0644]
vnet/vnet/ip/ip6.h
vnet/vnet/ip/ip6_forward.c
vnet/vnet/ip/ip6_hop_by_hop.c