summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-07-02HC2VPP-349: use fib-table-list-ref in the proxy-arp modelMarek Gradzki8-22/+78
User is now required to explicitly configure FIB tables using vpp-fib-management module. The patch also adds non-default vrf configuration example to the proxy-arp postman collection. Change-Id: I8cbdf0add8992bfb0a6a8fe0a38d6a466d5951f0 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-07-02Add initializer for FIB tablesMarek Gradzki3-7/+22
Default FIB tables (ID=0) are created in VPP during startup for both ipv4 and ipv6. In order to prevent oper and cfg mismatch, HC needs to update its cfg during startup. This patch adds initializer for FIB tables which handles that task. Change-Id: Iadae8d545985a07fdb32000d3ca498cf3f9b40ed Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-07-02Move Proxy Arp RESTCONF examples to separate POSTMAN collectionMarek Gradzki2-240/+243
Proxy Arp implementation is part of l3 plugin, so move configuration examples there as well. Change-Id: If3eb22dd295901529035e1ea231e9133d6e86bc7 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-29jvpp-benchmark: improve exception handlingMarek Gradzki3-9/+6
Fixes several issues found by Sonar. Change-Id: I7ab017f9d89221e8eff4b2438b7669df608b5587 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-28fix Cast one of the operands to a long bugMichal Cmarada1-2/+2
both of operands are int type which can cause loss of data. This changes the types of operands to long Change-Id: Ie162d52b1f853c0d83d51c8871af42a597b93386 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-28srv6: simplify if condition in SidCustomizer.extractLocPrefixMarek Gradzki1-2/+1
Do not check loc.getPrefix() == null twice. Change-Id: I04a9dae25e14761d7f287aedd636dda8169f2dc9 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-28srv6: do not check if SidCustomizer.bindRequest() returns nullMarek Gradzki1-9/+0
Such comparison is allways false. Change-Id: I39d4caac4146d48c04ecf28b3c9ecf7ae0127949 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27bgp: mark parameters of hc2vpp RouteWriters as @NonNullMarek Gradzki3-16/+13
Requires https://gerrit.fd.io/r/#/c/13254/ Change-Id: Icacf161f1c47f9471f19b0d89e5f2396942537ec Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27BD: remove redundant null check in BridgeDomainCustomizerMarek Gradzki1-10/+8
Details objects cannot be null. Change-Id: I2a1c0991ec2ccfee4c6d35c77321c6cb67f4bb7f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27lisp: fix sonar issues in SubtableDumpParamsMarek Gradzki1-5/+4
Change-Id: Ic53723df24e8c373fab3f2a63d21de39c1fac156 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27examples/ncclient: fix repo linkMarek Gradzki1-1/+1
Change-Id: If9b2f1d8fd22b7e9df3069dd65e7db2900027a92 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27examples/ncclient: use ncclient repo instead of forkMarek Gradzki1-1/+1
There is no need for using fork after support for <config> was merged: https://github.com/ncclient/ncclient/pull/232 Change-Id: I0bd4a1ce6c4263228771ae3a74e298640a0c2a40 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-22HC2VPP-317: remove FibTableServiceMichal Cmarada5-326/+0
After implementing FIB table management in SRv6 and routing FibTableService is no longer necessary and can be removed. Change-Id: I797ac52d5ed8ee1c6bf901895080aa06e5ac9016 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-22hide Srv6Util constructor in SRv6 moduleMichal Cmarada1-0/+3
Hide default constructor to prevent creating instance of Srv6Util class. Change-Id: I805ce1971883426d8df3d9ce6eac2e5bd6ce201a Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-22HC2VPP-344: Add FIB table management for routingMichal Cmarada20-468/+555
- update models with FIB table management - fixes implementation for FIB table management Change-Id: I5cf397d6e827cb14df970e14ee268ef870931bd4 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-22HC2VPP-88: translation layer for af_packet interface managementMarek Gradzki10-102/+736
Includes postman collection with RESTCONF examples. Change-Id: If6f7ba1e2e7ab37433ebc5215e4731f1193c62a2 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-21HC2VPP-88: yang model for af_packet interface managementMarek Gradzki1-0/+31
Change-Id: Iaa21ad832d03f36d7d8a6f63a68a6a7ece7c9b8d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-21Fix NPE in InterfaceDataTranslator.isInterfaceOfTypeMarek Gradzki2-6/+55
SwInterfaceDetails returned by dump manager are nullable. In that case isInterfaceOfType should return false. Change-Id: Iaf3d1f6c6923ed6863357fe2470716f135b6164f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-20Add SRv6 5 node docker demoMichal Cmarada16-15/+1089
This demo is intended to test SRv6 implementation. There are two options how to run the demo. First one is to use VPP only configuration and the second one uses honeycomb to configure SRv6 on nodes. For detailed information about the demo read documentation in ./asciidoc/Readme.adoc file. Follow the instructions to run the demo and use provided commands to verify the operation of VPP nodes. Change-Id: I7d17db0096cc48b06e9148e7c78faaf9d7b8a97d Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-19HC2VPP-304 - add SRv6 policy moduleMichal Cmarada56-10/+6395
new models: - hc2vpp-oc-srte-policy@2017-09-18.yang (ietf draft for srte-policies) - vpp-oc-srte-policy@2018-05-14.yang (augments oc-srte-policy model with VPP specific configuration) - policy-context@2018-06-07.yang defines policy contexts for policies and candidate paths new features: - adds support for writing/reading SRv6 policies - adds support for writing/reading L2 steering - adds support for writing/reading L3 steering - implements support for FIB table management (HC2VPP-345) Change-Id: Ie83ac8ecdcc0e46086e1ecdaecbb811746151c2f Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-19HC2VPP-288 - add readers for SRv6 moduleMichal Cmarada39-100/+2101
Changes: - add locator context to map locator name to locator IPv6Prefix - add readers for SRv6 module - implements reading of local sids and their end functions. - implements support for FIB table management (HC2VPP-345) Change-Id: Ib04402539a0b6666c5a1d0b4e1b5b5e08ccbf67b Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-19HC2VPP-288 - add SRv6 module (writers only)Michal Cmarada58-1/+7768
Changes: - add new module for SRv6 - add models for SRv6 configuration: from https://datatracker.ietf.org/doc/draft-raza-spring-srv6-yang/ - hc2vpp-ietf-srv6-base@2018-03-01.yang - hc2vpp-ietf-srv6-static@2018-03-01.yang - ietf-srv6-types@2018-03-01.yang - implements Configuration of local sids and their end functions. - implements support for FIB table management (HC2VPP-345) Models hc2vpp-ietf-srv6-base and hc2vpp-ietf-srv6-static are changed (HC2VPP-332): - imports for routing models (HC2VPP-298) - presence in end function containers was added to fix mandatory child verification if parent container is not present Change-Id: Ib74e48023b671383f076b84773e26ce7c5ae282a Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech> Signed-off-by: Jan Srnicek <jan.srnicek@pantheon.tech>
2018-06-18HC2VPP-317: Update FIB management moduleMichal Cmarada1-5/+24
- added type definitions for referencing FIB tables from different data modules Change-Id: I92a25107db6937dc94b4e719f2da2b8c77ebdac4 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-15Add configuration for mtu in docker examplesMichal Cmarada1-0/+4
VPP is using mtu=9000 for interfaces that it creates. This fixes the mtu value for veth interfaces on linux side so they match the value configured in VPP for all veth interfaces in docker examples. Originally veth interfaces use smaller value since Linux automatically sets their MTU to be the smallest MTU of their slave ports. For VPP this means if a bigger frame is sent outside to the veth interface it will be dropped. Change-Id: I41117490ec80a0b2d2d2897493c2690f92766734 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-14l3: remove redundant stubbing for WriteContext.readBeforeMarek Gradzki3-53/+0
Change-Id: I8c4cc2564ad0f4c6452984234d4c9466677db052 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-13api-coverage: include JVppGtpu and JVppPppoeMarek Gradzki2-9/+23
Change-Id: I44151a33aba3fb9ad877f9d4eb6c424673a4632a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-11HC2VPP-354: use hw_interface_set_mtu for Ethernet interfacesMarek Gradzki4-12/+25
The API was renamed by https://gerrit.fd.io/r/#/c/12930/ The VPP change spearates setting of hardware interface and software interface MTU. More details: https://git.fd.io/vpp/tree/src/vnet/MTU.md HC supports only hardware interface MTU configuration for Ethernet interfaces. MTU for software interfaces (per protocol MTU) is not supported (HC2VPP-355). Change-Id: I7eb1cb035a7b0f428a7bc7a9bb1c73819b52f0fa Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-08HC2VPP-317 - Implement FIB table management supportMichal Cmarada33-81/+1534
changes: - Added new custom model vpp-fib-table-management - allows management of IPv4 and IPv6 Fib tables for VPP Change-Id: I3647dd659dbefabab233eacef666c3835e69320d Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-06-07HONEYCOMB-432: adapt hc2vpp to ODL Oxygen SR1 bumpMarek Gradzki3-6/+10
Requires https://gerrit.fd.io/r/#/c/12239/ Change-Id: Ideb4c0503b31b33aefa35a7840ee0d73d2912509 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-05HC2VPP-336: reenable NSH pluginMarek Gradzki8-10/+71
This patch reverts https://gerrit.fd.io/r/#/c/12822/ and bumps jvpp nsh_sfc dependency to 18.07-SNAPSHOT. Change-Id: Idce70d39c9c273b7db3c771430ef5af58417b43b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-01HC2VPP-342: fix when condition in l2-fib-entry definitionMarek Gradzki1-1/+1
ODL Yangtools does not enforce when statements, so model revision was not changed. Change-Id: If46fd3bfa7932a056e0a8064837d4c42de5cfdb5 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-01HC2VPP-339: convert postman collections to v2.1.0 formatMarek Gradzki40-7746/+25872
Mantaining postman collections in v1 format is difficult due to UID strings. Postman collection v2 fixes the issue and many others, see http://blog.getpostman.com/2015/06/05/travelogue-of-postman-collection-format-v2/ Collections in v1 format, were converted using postman-collection-transformer. Output was transformed using JSON.stringify with space='\t', to be compliant with Postman application which does not support spaces for indentation. Coverted collections were tested using Postman v6.1.3. Previous version of postman collections were renamed to *_v1.0.0.json or *_v2.0.0.json. Removal is planned in 18.10 (HC2VPP-338). Change-Id: I6caf496293fccc1f9aadcdece668b5200fe07122 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-31nat: postman collection cleanupMarek Gradzki1-13/+13
Change-Id: I25a7742289753bd0bb2ef49d4a1e609cf8570a9d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-31Convert NAT postman collection to v2.1.0Marek Gradzki2-807/+2162
Old collection was renamed to nat_postman_collection_v1.0.0.json Change-Id: I34994f4e3bfaa8e6937b318d2a4c059a1523dbfc Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-31HC2VPP-325: use ip-prefix instead of ip-address in ietf-nat@2018-02-23.yangMarek Gradzki14-84/+87
Only /32 prefix for IPv4 and /128 for IPv6 are supported. Change-Id: I875b1eb6c2cb43da54de0a731aeeb9757b39c39c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-31Update AddressTranslatorMichal Cmarada2-1/+94
- added handling of IpPrefixe - added UnitTests for the whole class Change-Id: I9fbdcce1ca8734b7415c55559ef65e553e737e44 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-05-31HC2VPP-336: disable NSH pluginMarek Gradzki7-70/+3
nsh_sfc 18.07-SNAPSHOT artifacts are missing in the https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/nsh_sfc/nsh-sfc/ repo, which causes hc2vpp build failures. As a workaround nsh plugin was disabled. Change-Id: If65f783f85f9b491f7caea63a51c70e4b4ad39c6 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-29jvpp-benchmark: introduce abstract JVppBenchmarkMarek Gradzki4-161/+170
Change-Id: I957edd6813b1be43232845d9bf6a4f13ed01ecfb Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-29jvpp-benchmark: include project version in the shaded artifact nameMarek Gradzki3-16/+15
Renames shaded jar name from jvpp-benchmark-exec.jar to jvpp-benchmark-1.18.07-SNAPSHOT-executable.jar Change-Id: I593946dde3a6fc1717644e7315110aa94553d91d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-29jvpp-benchmark: measure classifyAddDelTableMarek Gradzki9-22/+308
Synchronously creates classify tables. By default 20x2s warmup and 100x2s measurement iterations are performed. VPP is restarted after each iteration. Each invocation of classifyAddDelTable uses tables from precomputed set of size tableSetSize. Tables from the set are used in round-robin fashion. Run with: sudo java -jar ./target/jvpp-benchmark-exec.jar \ ClassifyTableCreateBenchmark To specify aclSetSize (default=100), use: sudo java -jar ./target/jvpp-benchmark-exec.jar \ ClassifyTableCreateBenchmark -p tableSetSize=1000 To see more options, use java -jar ./target/jvpp-benchmark-exec.jar -h Change-Id: I387d879bc99dce45f93d66e8a99f7206f067b443 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-26jvpp-benchmark: add option to select interface modeMarek Gradzki4-11/+82
Changes: - use loopback interface instead of local0, - if L3 (default) mode is selected, assing IP to the loop0 interface, - if L2 mode is selected, create bridge domain and assing loop0 the BD. To test interface in L2 mode, use: sudo java -jar ./target/jvpp-benchmark-exec.jar -p mode=L2 Change-Id: I8450d42fe0d164c6dbedf1dacf1444a25d9932b8 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> (cherry picked from commit 6e5446c9d64df7f2cbde857d276e8685c9175089)
2018-05-25ProxyRangeCustomizer: use ProxyArp typeMarek Gradzki2-6/+10
Fixes compilation issues caused by recent VPP ip.api change: https://gerrit.fd.io/r/#/c/12693/ Change-Id: Ibbf2b9ceaf6b214f2cbe80e57bc21f6541680739 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-24jvpp-benchmark: add script for running various test casesMarek Gradzki1-0/+35
Change-Id: I689adb9e139ff22a48cf82e27e8501d542edef72 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-24jvpp-benchmark: fix IP generationMarek Gradzki4-15/+86
Change-Id: I5ab4465f25c13e0f3b89e2757bde9dd47c660732 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-24JVpp JMH benchmarkMarek Gradzki6-0/+432
Creates ACL of size aclSize using acl_add_replace, then assigns it to local0 using acl_interface_set_acl_list. Then ACL is updated synchronously using acl_add_replace. By default 20x2s warmup and 100x2s measurment iterations are performed. VPP is restarted after each iteration. Each invocation of acl_add_replace uses ACL from precomputed set of ACLs of size aclSetSize. ACLs from the set are used in round-robin fashion. Compile: cd $HC2VPP_ROOT/it/jvpp-benchmark mvn clean install Run with: sudo java -jar ./target/jvpp-benchmark-exec.jar To specify aclSize (default=100), use: sudo java -jar ./target/jvpp-benchmark-exec.jar -p aclSize=1000 To specify aclSetSize (default=100), use: sudo java -jar ./target/jvpp-benchmark-exec.jar -p aclSetSize=1000 To see more options, use java -jar ./target/jvpp-benchmark-exec.jar -h Change-Id: I43691ba891940a1c341f8e9893c8598c811bc077 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-18Fix copyright for PantheonMichal Cmarada11-11/+11
- add full name for Pantheon Technologies in copyright. Change-Id: I653425ab952c09d4b8f9cedf4367bc8f56642ee3 Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-05-17HC2VPP-320: ensure at most one policy is configured per NAT instanceMarek Gradzki3-2/+152
ReflexiveListReaderCustomizer is not used due to HONEYCOMB-437 Change-Id: I62755aaedd6e179b349ec47e4a304399c4fa18cd Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-17HC2VPP-322: ensure at most one nat64-prefix is configured per NAT instanceMarek Gradzki3-2/+84
Change-Id: Ic52b386475836e8f1a749cccaafe3bb4e192d0b7 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-17HC2VPP-323: update postman collection after NAT model updateMarek Gradzki1-17/+17
Change-Id: I2c767664f0178318a54ab1b4e14a7f7c92bf9c6e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-05-17HC2VPP-321: bump nat model to ietf-nat@2018-02-23.yangMarek Gradzki29-1525/+2838
Uses ietf-nat module as defined in https://tools.ietf.org/html/draft-ietf-opsawg-nat-yang-14 Modifications to original model: - ip-address is used instead of ip-prefix (draft is not clear, see HC2VPP-325). API changes relevant to HC/VPP: - nat-config and nat-state merged into nat container - nat-instances and nat-instace renamed to instances and instance respectively - external-ip-address-pool has new parent - policy list - port-type choice was removed, port is now defined using start-port-number and end-port-number leaves. Missing end is equivalent to single-port-number case from the older version. TODOs: - HC2VPP-322: single nat64Prefix per NAT instance - HC2VPP-323: update postman collection - HC2VPP-324: update CSIT tests. Out of the scope of NAT model update: - HC2VPP-326: support for nat-type handling (vpp-nat model might become obsolete) - HC2VPP-327: support external-realm container (requires adding augmentations that are alredy present in the interface-nat model). Change-Id: Ie229a55b0a3f6ee3f8c97f4fd13c54a797a62438 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>