summaryrefslogtreecommitdiffstats
path: root/src/plugins/Makefile.am
AgeCommit message (Expand)AuthorFilesLines
2018-03-26Intel Adaptive Virtual Function native device driver pluginDamjan Marion1-0/+4
2018-03-21bond: Add bonding driver and LACP protocolSteven1-0/+4
2018-03-19IGMP pluginJakub Grajciar1-0/+4
2018-03-15tls: add openssl engineFlorin Coras1-0/+4
2018-03-14IPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support.Ole Troan1-4/+0
2018-03-10Move the vnet cdp protocol implementation to a pluginDave Barach1-0/+4
2018-03-08tls: make tls engines pluggableFlorin Coras1-0/+4
2018-02-09GBP pluginNeale Ranns1-0/+4
2018-01-29SRv6 dynamic proxy pluginFrancois Clad1-0/+4
2018-01-25SRv6 masquerading proxy pluginFrancois Clad1-0/+4
2018-01-19SRv6 static proxy pluginFrancois Clad1-0/+4
2018-01-15Marvell device pluginDamjan Marion1-0/+4
2017-12-20L2 EmulationNeale Ranns1-0/+4
2017-12-18Support kube-proxy data planeHongjun Ni1-0/+4
2017-11-13dpdk: introduce AVX512 variants of node functionsDamjan Marion1-0/+1
2017-11-11Handle CPU flags from autotools projectDamjan Marion1-1/+1
2017-10-18Plugin for IP-Address to Interface PuntingPierre Pfister1-0/+4
2017-08-23NAT: Rename snat plugin to nat (VPP-955)Matus Fabian1-2/+2
2017-08-09Add PPPoE PluginHongjun Ni1-0/+4
2017-05-30Flowprobe: Stateful flows and IPv6, L4 recordingOle Troan1-2/+2
2017-05-15Add GTP-U plugin. VPP-694Hongjun Ni1-0/+5
2017-03-29Bugfixing and documentation for SRv6Pablo Camarillo1-4/+0
2017-03-22Add memif - packet memory interface for intra-host communicationDamjan Marion1-0/+4
2017-03-10Retire vpp_liteDamjan Marion1-1/+5
2017-03-04Evolving SRv6 (Segment Routing for IPv6)Pablo Camarillo1-0/+4
2017-03-01dpdk: be a pluginDamjan Marion1-0/+5
2017-01-28Add files to CLEANFILES for robust make clean.Burt Silverman1-0/+1
2017-01-11Makefile.am cleanupDamjan Marion1-0/+1
2017-01-03Do not require external vppapigen when not cross-compilingDamjan Marion1-1/+0
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion1-0/+18
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-0/+60
/* Only present if (control & 3) != 3. */ u8 extended_control[0]; } llc_header_t; always_inline u16 llc_header_get_control (llc_header_t * h) { u16 r = h->control; return r | ((((r & 3) != 3) ? h->extended_control[0] : 0) << 8); } always_inline u8 llc_header_length (llc_header_t * h) { return ((h->control & 3) != 3 ? 4 : 3); } typedef struct { /* Name (a c string). */ char *name; /* LLC protocol (SAP type). */ llc_protocol_t protocol; /* Node which handles this type. */ u32 node_index; /* Next index for this type. */ u32 next_index; } llc_protocol_info_t; #define foreach_llc_error \ _ (NONE, "no error") \ _ (UNKNOWN_PROTOCOL, "unknown llc ssap/dsap") \ _ (UNKNOWN_CONTROL, "control != 0x3") typedef enum { #define _(f,s) LLC_ERROR_##f, foreach_llc_error #undef _ LLC_N_ERROR, } llc_error_t; typedef struct { vlib_main_t *vlib_main; llc_protocol_info_t *protocol_infos; /* Hash tables mapping name/protocol to protocol info index. */ uword *protocol_info_by_name, *protocol_info_by_protocol; /* llc-input next index indexed by protocol. */ u8 input_next_by_protocol[256]; } llc_main_t; always_inline llc_protocol_info_t * llc_get_protocol_info (llc_main_t * m, llc_protocol_t protocol) { uword *p = hash_get (m->protocol_info_by_protocol, protocol); return p ? vec_elt_at_index (m->protocol_infos, p[0]) : 0; } extern llc_main_t llc_main; /* Register given node index to take input for given llc type. */ void llc_register_input_protocol (vlib_main_t * vm, llc_protocol_t protocol, u32 node_index); format_function_t format_llc_protocol; format_function_t format_llc_header; format_function_t format_llc_header_with_length; /* Parse llc protocol as 0xXXXX or protocol name. */ unformat_function_t unformat_llc_protocol; /* Parse llc header. */ unformat_function_t unformat_llc_header; unformat_function_t unformat_pg_llc_header; always_inline void llc_setup_node (vlib_main_t * vm, u32 node_index) { vlib_node_t *n = vlib_get_node (vm, node_index); pg_node_t *pn = pg_get_node (node_index); n->format_buffer = format_llc_header_with_length; n->unformat_buffer = unformat_llc_header; pn->unformat_edit = unformat_pg_llc_header; } #endif /* included_llc_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */