Difference between revisions of "VPP/IPFIX"

From fd.io
< VPP
Jump to: navigation, search
(Created page with "= VPP IPFIX implementation = == Introduction == == Requirements == * IPv6 support * IPFIX aggregation with timout =! 0 (current implementation) * Multiple records per UDP p...")
 
(CLI)
 
(4 intermediate revisions by 2 users not shown)
Line 16: Line 16:
 
! style="text-align:left;"| Task
 
! style="text-align:left;"| Task
 
! Owner
 
! Owner
! Planned Release
+
! Priority
 
! Status
 
! Status
 
! Description
 
! Description
Line 23: Line 23:
 
| Ole
 
| Ole
 
| 0
 
| 0
| In progress
+
| Done
 
|  
 
|  
 
|-
 
|-
Line 29: Line 29:
 
|  
 
|  
 
| 0
 
| 0
|  
+
| Done
 
|  
 
|  
 
|-
 
|-
Line 35: Line 35:
 
| Ole
 
| Ole
 
| 1
 
| 1
|  
+
| Done
 
|
 
|
 
|-
 
|-
Line 41: Line 41:
 
|  
 
|  
 
| 1
 
| 1
|  
+
| Postponed
 
|  
 
|  
 
|-
 
|-
Line 47: Line 47:
 
|  
 
|  
 
| 1
 
| 1
|
+
|Postponed
 
|
 
|
 
|-
 
|-
 
| Disable IPFIX export
 
| Disable IPFIX export
| Ole
+
| Pavel
 +
| 0
 +
| Done / waiting for review
 +
|
 +
|-
 +
| Verify support for expire time == 0
 +
| Pavel
 +
| 0
 +
| Done / waiting for review
 +
|
 +
|-
 +
| Performance and Scale tests
 +
| Pavel
 
| 0
 
| 0
 
| In progress
 
| In progress
 
|
 
|
 +
|-
 +
| Update CLI
 +
| Pavel
 +
| 0
 +
| Done
 +
| Split CLI between enabling per interface / forwarding path and parameters determining what information to collect.
 +
|-
 +
| Feature tests - make test
 +
| Pavel
 +
| 0
 +
| In progress
 +
| Update per pkt tests to handle flowstate entries.
 +
|-
 
|}
 
|}
  
 
== CLI ==
 
== CLI ==
flowperpkt feature add-del <interface-name> [l2|ip6] [disable]
+
flowperpkt params record [l2,l3,l4] active <timer> passive <timer>
 +
 
 +
flowperpkt feature add-del <interface-name> <l2|ip4|ip6> [disable]
 +
 
 
set ipfix exporter collector <ip4-address> [port <port>] src <ip4-address> [fib-id <fib-id>] [path-mtu <path-mtu>] [template-interval <template-interval>] [udp-checksum]
 
set ipfix exporter collector <ip4-address> [port <port>] src <ip4-address> [fib-id <fib-id>] [path-mtu <path-mtu>] [template-interval <template-interval>] [udp-checksum]
 +
 
ipfix flush
 
ipfix flush
  
 
== References ==
 
== References ==
 
* [http://tools.ietf.org/html/rfc5470 RFC5470] - IPFIX Architecture
 
* [http://tools.ietf.org/html/rfc5470 RFC5470] - IPFIX Architecture

Latest revision as of 11:24, 27 March 2017

VPP IPFIX implementation

Introduction

Requirements

  • IPv6 support
  • IPFIX aggregation with timout =! 0 (current implementation)
  • Multiple records per UDP packet
  • Should support export over IPv6
  • Be able to do local aggregation per any IPv6 fields or sub-field of IPv6 address (this is supported by IPFIX)

Work list

Task Owner Priority Status Description
IPv6 support Ole 0 Done
Aggregation and timer support 0 Done
API fixup (move out of vpe.api) Ole 1 Done
IPv6 export 1 Postponed
IPFIX export using TCP/SCTP 1 Postponed
Disable IPFIX export Pavel 0 Done / waiting for review
Verify support for expire time == 0 Pavel 0 Done / waiting for review
Performance and Scale tests Pavel 0 In progress
Update CLI Pavel 0 Done Split CLI between enabling per interface / forwarding path and parameters determining what information to collect.
Feature tests - make test Pavel 0 In progress Update per pkt tests to handle flowstate entries.

CLI

flowperpkt params record [l2,l3,l4] active <timer> passive <timer>

flowperpkt feature add-del <interface-name> <l2|ip4|ip6> [disable]

set ipfix exporter collector <ip4-address> [port <port>] src <ip4-address> [fib-id <fib-id>] [path-mtu <path-mtu>] [template-interval <template-interval>] [udp-checksum]

ipfix flush

References