aboutsummaryrefslogtreecommitdiffstats
path: root/src/configure.ac
AgeCommit message (Expand)AuthorFilesLines
2018-04-27Move VOM to extras/vomDamjan Marion1-4/+1
2018-04-17ACL based forwardingAndrew Yourtchenko1-0/+1
2018-04-04Bump package versionChris Luke1-1/+1
2018-03-26Disable -Waddress-of-packed-member warnings reported by clangDamjan Marion1-0/+8
2018-03-26Intel Adaptive Virtual Function native device driver pluginDamjan Marion1-0/+1
2018-03-21bond: Add bonding driver and LACP protocolSteven1-0/+1
2018-03-19IGMP pluginJakub Grajciar1-0/+1
2018-03-15tls: add openssl engineFlorin Coras1-0/+7
2018-03-14IPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support.Ole Troan1-1/+0
2018-03-10Move the vnet cdp protocol implementation to a pluginDave Barach1-0/+1
2018-03-08tls: make tls engines pluggableFlorin Coras1-3/+13
2018-03-07VPPAPIGEN: Run tool directly from source tree.Ole Troan1-5/+0
2018-03-06glibc 2.27 fixMarco Varlese1-0/+1
2018-03-05Set DPDK_MLX4_PMD and DPDK_MLX5_PMD compile with default dlopen linksAmir Zeidner1-22/+0
2018-03-02session: first approximation implementation of tlsFlorin Coras1-0/+11
2018-02-14VOM: build with plugins disabledNeale Ranns1-3/+3
2018-02-09GBP pluginNeale Ranns1-0/+1
2018-01-29SRv6 dynamic proxy pluginFrancois Clad1-0/+1
2018-01-25SRv6 masquerading proxy pluginFrancois Clad1-0/+1
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-13/+4
2018-01-19SRv6 static proxy pluginFrancois Clad1-0/+1
2018-01-15Marvell device pluginDamjan Marion1-0/+12
2018-01-03Update package versionDave Wallace1-1/+1
2017-12-20L2 EmulationNeale Ranns1-0/+1
2017-12-18Support kube-proxy data planeHongjun Ni1-0/+1
2017-11-20dpdk: add support for DPDK 17.11Damjan Marion1-33/+3
2017-11-15Fix cosmetic issue in configure.acDamjan Marion1-1/+1
2017-11-14Fix typos in configure.ac and dpdk/buffer.cDamjan Marion1-2/+2
2017-11-13dpdk: introduce AVX512 variants of node functionsDamjan Marion1-0/+36
2017-11-11Handle CPU flags from autotools projectDamjan Marion1-0/+11
2017-11-06Add --disable-vom config optionDave Barach1-0/+1
2017-11-01VPP Object Model (VOM)Neale Ranns1-1/+2
2017-10-18Plugin for IP-Address to Interface PuntingPierre Pfister1-0/+1
2017-09-27Update package versionFlorin Coras1-1/+1
2017-09-19Add C++ APIKlement Sekera1-0/+1
2017-09-19Add new C APIKlement Sekera1-1/+1
2017-08-25dpdk: required changes for 17.08Sergio Gonzalez Monroy1-10/+60
2017-08-23NAT: Rename snat plugin to nat (VPP-955)Matus Fabian1-1/+1
2017-08-09Add PPPoE PluginHongjun Ni1-0/+1
2017-07-14dpdk: update buildSergio Gonzalez Monroy1-3/+45
2017-06-22Update master revision to 17.10Neale Ranns1-1/+1
2017-05-30Flowprobe: Stateful flows and IPv6, L4 recordingOle Troan1-1/+1
2017-05-15Add GTP-U plugin. VPP-694Hongjun Ni1-0/+1
2017-03-29Bugfixing and documentation for SRv6Pablo Camarillo1-1/+0
2017-03-22Update master revision to 17.07v17.07-rc0Ole Troan1-1/+1
2017-03-22Add memif - packet memory interface for intra-host communicationDamjan Marion1-0/+1
2017-03-15Python API: Change from cPython to CFFI.Ole Troan1-0/+9
2017-03-10Retire vpp_liteDamjan Marion1-2/+2
2017-03-04Evolving SRv6 (Segment Routing for IPv6)Pablo Camarillo1-0/+1
2017-03-03Fixed PLUGIN_DISABLE bugPablo Camarillo1-1/+1
plate(""" /** * Network to host byte order conversion for ${c_name} type. * Generated based on $json_filename: $json_definition */ static inline ${jni_type} _net_to_host_${c_name}(vl_api_${c_name}_t _net) { return (${jni_type}) $type_swap }""") def _generate_scalar_host_to_net_swap(field): field_type = field.type if field_type.is_swap_needed: return field_type.get_host_to_net_function(field.java_name, "*_net") else: return "*_net = %s" % field.java_name def _generate_scalar_net_to_host_swap(field): field_type = field.type if field_type.is_swap_needed: return "%s((%s) _net);" % (field_type.net_to_host_function, field_type.name) else: return "_net" def _generate_union(model, t, type_handlers): type_handlers.append(_generate_union_host_to_net(model, t)) type_handlers.append(_generate_union_net_to_host(model, t)) def _generate_union_host_to_net(model, t): swap = [] for i, field in enumerate(t.fields): field_type = field.type swap.append(_UNION_FIELD_HOST_TO_NET_TEMPLATE.substitute( field_index=i, java_name=field.java_name, jni_signature=field_type.jni_signature, jni_type=field_type.jni_type, jni_accessor=field_type.jni_accessor, swap=generate_j2c_field_swap(field, struct_ref_name="_net") )) return _UNION_HOST_TO_NET_TEMPLATE.substitute( c_name=t.name, json_filename=model.json_api_files, json_definition=t.doc, class_FQN=t.jni_name, swap="".join(swap) ) _UNION_FIELD_HOST_TO_NET_TEMPLATE = Template(""" if (_activeMember == ${field_index}) { jfieldID fieldId = (*env)->GetFieldID(env, _class, "${java_name}", "${jni_signature}"); ${jni_type} ${java_name} = (*env)->Get${jni_accessor}Field(env, _host, fieldId); ${swap} }""") _UNION_HOST_TO_NET_TEMPLATE = Template(""" /** * Host to network byte order conversion for ${c_name} union. * Generated based on $json_filename: $json_definition */ static inline void _host_to_net_${c_name}(JNIEnv * env, jobject _host, vl_api_${c_name}_t * _net) { jclass _class = (*env)->FindClass(env, "${class_FQN}"); jfieldID _activeMemberFieldId = (*env)->GetFieldID(env, _class, "_activeMember", "I"); jint _activeMember = (*env)->GetIntField(env, _host, _activeMemberFieldId); $swap }""") def _generate_union_net_to_host(model, t): return _UNION_NET_TO_HOST_TEMPLATE.substitute( c_name=t.name, json_filename=model.json_api_files, json_definition=t.doc, type_reference_name=t.java_name_lower, class_FQN=t.jni_name, swap=generate_c2j_swap(t, object_ref_name="_host", struct_ref_name="_net") ) _UNION_NET_TO_HOST_TEMPLATE = Template(""" /** * Network to host byte order conversion for ${c_name} union. * Generated based on $json_filename: $json_definition */ static inline void _net_to_host_${c_name}(JNIEnv * env, vl_api_${c_name}_t * _net, jobject _host) { jclass ${type_reference_name}Class = (*env)->FindClass(env, "${class_FQN}"); $swap }""")