summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/maplog.h
AgeCommit message (Expand)AuthorFilesLines
2018-10-19vppinfra: add atomic macros for __sync builtinsSirshak Das1-1/+1
2018-09-27Trivial: Cleanup some typos.Paul Vinciguerra1-3/+3
2018-03-22Add circular loggingDave Barach1-6/+15
2017-12-06make clib_maplog_update_header(...) globally accessibleDave Barach1-0/+1
2017-12-02maplog headers, offline processing, doxygen tagsDave Barach1-15/+79
2017-11-30mmap-based fixed-size record double-buffered loggerDave Barach1-0/+99
cheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
## Features for Release VPP 19.08

### Infrastructure
- API
  - API language: new types and limits support
  - Python API - add support for defaults
  - Export ip_types.api for out-of-tree plugins use
  - Refactor ipip.api with explicit types
- DPDK
  - 19.05 integration
  - Remove bonding code
  - Rework extended stats
- Debugging & Serviceability
  - debug CLI leak-checker
  - vlib: add "memory-trace stats-segment"
  - vppapitrace JSON/API trace converter
  - ARP: add arp-disabled node
  - igmp: Trace more data from input packets
  - ip: Trace the packet from the punt node
  - Python API debug introspection improvements
  - Pin dependencies for make test infra
  - FEATURE.yaml meta-data infrastructure
  - tcp: add cc stats plotting tools
  - Packet tracer support for thread handoffs
- libmemif: support for multi-thread connection establishment
- svm
  - fifo ooo reads/writes with multiple chunks
  - support addition/removal of chunks to fifos
- vppinfra
  - Mapped pcap file support
  - More AVX2 and AVX512 inlines
  - VLIB_INIT_FUNCTION sequencing rework
  - refactor spinlocks and rwlocks
  - add rbtree
  - add doubly linked list
- rdma: bump rdma-core to v25.0
- stats
  - Add the number of worker threads and per worker thread vector rates
  - Support multiple workers for error counters

### VNET & Plugins
- New Plugins
  - HTTP static page server with TLS support
  - L3 cross connect
- acl: implement stat-segment counters
- arp: add feature arcs: arp-reply, arp-input, arp-proxy
- avf: improved logging and added 2.5/5 Gbps speeds
- bonding: NUMA-related improvements
- crypto: add support for AES-CTR cipher
- fib
  - FIB Entry tracking
  - Support the POP of a Pseudo Wire Control Word
- gbp
  - Anonymous l3-out subnets support
  - ARP unicast forward in gbp bridge domain
  - An Endpoint can change sclass
  - Consider data-plane learnt source better than control-plane
  - VRF scoped contracts
- gso (experimental)
  - Add support to pg interfaces
  - Add support to vhost user
  - Add support to native virtio
  - Add support for tagged interfaces
- punt: allow to specify packets by IP protocol Type
- ip6-local: hop-by-hop protocol demux table
- ipsec
  - intel-ipsec-mb version 0.52
  - AH encrypt rework
  - handle UDP keepalives
  - support GCM in ESP
- virtio
  - Refactor control queue support
- dhcp-client: DSCP marking for transmitted packets
- Idle resource usage improvements
  - Allocate bihash virtual space on demand
  - gre: don't register gre input nodes unless a gre tunnel is created
  - gtpu: don't register udp ports unless a tunnel is created
  - lacp: create lacp-process on demand
  - lisp-cp: start lisp retry service on demand
  - start the cdp period and dns resolver process on demand
  - vat: unload unused vat plugins
- nat: api cleanup & update
- nsim: make available as an output feature
- load-balance performance improvements
- l2: Add support for arp unicast forwarding
- mactime
  - Mini-ACLs
  - Per-MAC allow-with-quota feature
- qos
  - QoS dump APIs
  - Store function
- rdma: add support for promiscuous mode (l2-switching and xconnect)
- sr: update the Segment Routing definition to be compliant with current in IETF
- udp-ping: disable due to conflict with mldv2
- vxlan-gpe: improve encap performance
- vom
  - QoS support
  - Bridge domain arp unicast forwarding flag
  - Bridge domain unknown unicast flooding flag

### Host stack
- session
  - API to support manual svm fifo resizing
  - Improved session output scheduler and close state machine
  - Transport and session cleanup notifications for builtin apps
  - Session migration notifications for builtin apps
  - Support for no session layer lookup transports (quic and tls)
  - Ability to retrieve local/remote endpoint in transport vft
  - Cleanup segment manager and fifo segment
  - Fix vpp to app msg generation on enqueue fail
  - Improve event logging
  - Moved test applications to hsa plugin
- tcp
  - Congestion control algorithm enhancements
  - Delivery rate estimator
  - ACK/retransmission refactor and pacing
  - Add tcp-input sibling nodes without full 6-tuple lookup
  - More RFC4898 connection statistics
  - Allow custom output next node
  - Allow custom congestion control algorithms
- quic
  - Multi-thread support
  - Logs readability improvements
  - Multistream support
- tls
  - Fix close with data and listen failures
  - Handle TCP transport rests
  - Support endpoint retrieval interface
- vcl
  - support quic streams and "connectable listeners"
  - worker unregister api
  - fix epoll with large events batch
  - ldp: add option to enable transparent TLS connections
- udp:
  - support close with data
  - fixed session migration
- sctp
  - add option to enable/disable default to disable
  - moved from vnet to plugins