summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/main
AgeCommit message (Collapse)AuthorFilesLines
2017-12-11Clean Sonar warnings in JvppReplyConsumerMarek Gradzki1-13/+17
Change-Id: Ic664d0da1f3f253ee7d698c651354015792cc278 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-27Remove unnecessary boxing and unboxingMarek Gradzki1-14/+0
Change-Id: I9f7cf7d7ecb97d7da449dac679f2d15438ac4970 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-20Refactor IP translators to use IetfInetUtilMarek Gradzki2-49/+7
Use efficient factory methods for ietf-inet-types DTOs where possible. Also cleans up some duplicated and unused code. Change-Id: I58f4163edba0dcd30e5e044cf701788446d86a0f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-20Use InetAddresses.forString instead of InetAddress.getByNameMarek Gradzki1-22/+1
Unlike InetAddress.getByName(), Guava's InetAddresses.forString() never cause DNS services to be accessed. JDK equivalents whenever you are expecting to handle only IP address string literals, so there is no blocking DNS penalty for a malformed string. See: https://google.github.io/guava/releases/22.0/api/docs/com/google/common/net/InetAddresses.html#forString-java.lang.String- Change-Id: I7972c09f1f0a3a2688021302acbf6df112be7f72 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-07Fix operational read for interface's MAC addressMarek Gradzki1-2/+6
Hc2vpp supports 48-bit addresses. VPP returns 64-bits, so ignore extended part. This patch updates MAC address handling broken by https://gerrit.fd.io/r/#/c/9090/ Change-Id: I7cc8d75e19f1f56e1f1adc23848a4a9baef87206 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-10-31Adapt to mac address representation change in l2.apiMarek Gradzki1-6/+2
https://gerrit.fd.io/r/#/c/9090/ changes mac representation from u64 to u8[] Change-Id: Ia82d5652926f8bd10c1c8fc3ad0e147b35dbee4c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-09-28HC2VPP-232 - Secondary table lookup supportJan Srnicek1-0/+8
Ietf models now contains case table-lookup to be able to define lookup to secondary table. It must be separated to dedicated case as combining secondary-vrf and other next hop types(simple,multi,special) does not make sense, its either you define lookup to table, or you specify next hop of some kind. This patch works properly only for write, as read is affected by VPP-994/VPP-995. Read at this state can detect that route is using table lookup, but can't detect table that is used for that lookup. Also, HC2VPP-237 must be done in future Change-Id: Ia6976b35c6c1712d8add60beea7b0edbc4536974 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-09-07Ipv4AddressRange: remove unnecessary double->int convertionMarek Gradzki1-6/+2
Should fix https://sonar.fd.io/issues/search#issues=AViCMnel_ATy1iJVe-79 Change-Id: I798930dea057cac93ab95b6c1d6f660a21d84e74 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-09-07Fix error-handling issues found by SonarMarek Gradzki2-2/+2
Change-Id: Ic370f72c16beaf56003021a6a89f751de8b744b8 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-09-07Fix multiple checkstyle and Sonar warings in ByteDataTranslatorMarek Gradzki1-36/+18
Change-Id: Ie1503af359430c47ca71f4ed0230e79daf5f04d4 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-08-28Fix Ipv6Translator.arrayToIpv6Prefix to support single address blockMarek Gradzki1-7/+11
Change-Id: I91353a0c780ac2f61d15c677c25f647f826f71c3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-08-24NamingContext.getNameIfPresent should not fail if name is missingMarek Gradzki1-5/+15
Also makes InterfaceChangeNotificationProducer notification translation code more defensive. The issue was revealed by HC2VPP-216 and HC2VPP-220. Change-Id: I20792a51743ae621d86c1b9066d680bc2303ed82 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-08-01HC2VPP-187 - Naming context improvementsJan Srnicek1-0/+21
Adds option to throw specific exception on non existing mapping Change-Id: I1903ad8d0d660380680f99f0252e7ec6d9c8862d Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-06-23More specific exceptions in JvppReplyConsumerMarek Gradzki1-17/+17
Change-Id: I96bd342e84742f6c6ab7d4c6aa687bcb1baf9e7c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-06-19HC2VPP-168 - Gpe native entries support(operational read)Jan Srnicek1-0/+7
Change-Id: I50155013874a9e69d926a48a212d402e93945d9b Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-04-24HC2VPP-106 - jvpp timeout configurationJan Srnicek1-8/+33
Allows dynamic configuration of jvpp timeout Change-Id: Iab113ec33f1efd8d150f0e525ef548a64ebf1a0b Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-02-08HC2VPP-11/HC2VPP-12 - refactored ipv4/6 logic/testsJan Srnicek2-21/+17
- all dumping logic moved under common abstract classes - added tests Change-Id: Ifdee84795bd8cf6f0d29349dd2cfcf9b2bbec1c9 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-01-20HONEYCOMB-339: fix ip6 address string to byte conversionMarek Gradzki1-30/+20
Change-Id: I8c1d20b2be23bce27903b9d4149f59d3b83aacaa Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-01-12HONEYCOMB-296 - Reference checking in Locator setJan Srnicek1-0/+40
Reference must be checked while removing to prevent dead references Change-Id: I37cb426f73a3fa64d4e6795062d8d7affc0cbb2b Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-01-04HONEYCOMB-102/HONEYCOMB-103 - Ipv6 SupportJan Srnicek1-0/+5
Contains - Ipv6 read/write Support for Interfaces - Ipv6 read/write Support for Subi-Interfaces - Postman collection with relevant requests Todo - Test coverage - HC2VPP-11 - Refactoring - HC2VPP-12 - Could be related to - HONEYCOMB-328 Tested - read/write for both interfaces and sub-interfaces - passes ok - init with following scenarios - vpp clean/hc has data - passes ok - vpp has data/hc clean - passed with error for sub-interface described in HONEYCOMB-328. The actual ipv4/ipv6 part passes ok Change-Id: Ib18acb9b18d6374dc5847e30db4049696d512e72 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-01-04HONEYCOMB-310: readers&initializers for vpp and macip aclsMarek Gradzki1-0/+12
Change-Id: I8892479123091e43bf191c544b6628d6254be564 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-20HONEYCOMB-310: translation layer for acl pluginJan Srnicek1-1/+31
Not covered by this patch (moved to subsequent commits): - postman collection - distinguish ingress/egress ACLs while reading assigned acls - proper support for acl tag - unit tests improvements - read for acls (not necessarily assigned) - initializers Change-Id: I5a198ce1a6e20d0b1d95b4d2d83d0464fb86580c Signed-off-by: Jan Srnicek <jsrnicek@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-01HONEYCOMB-58 - Routing Plugin StructureJan Srnicek6-12/+255
Read/Write support for ipv4/6 static routes. Restriction due to vpp implementation described in readme. Change-Id: I328f406a9b7cb8781f8becf98eca293cebe66859 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-11-24HON-3 - Address logic refactoringJan Srnicek4-76/+14
Ipv4/6 address logic refactored to not use InetAddresses.fromLittleEndianArray to prevent unnecessary reverting of address arrays after fix introduced by VPP-132. Removed unused ***reverted variants of conversion logic. Tested with these plugins - Lisp - V3po - Nat Change-Id: I6a0728f8b3dffd04e2edd822ec61542216cca824 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-11-19Post split cleanupMaros Marsalek14-15/+15
- change groupIds - change packages - update poms Change-Id: I343c5a292a67de1dd50687870ca4ab5b7276e93e Signed-off-by: Maros Marsalek <mmarsale@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-28HONEYCOMB-274 Fix checkstyle license checksMaros Marsalek1-0/+16
Change-Id: I9a7783bf072b2e2396f0fa1a784bcb57adb689b4 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-17HONEYCOMB-249 Add External IP pool managementMaros Marsalek1-5/+12
Change-Id: I3e57b09733b8c7060445ed1af7a5edb3348dd4e1 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-14HONEYCOMB-249 Add Ipv4Range calulator utilityMaros Marsalek2-0/+117
Change-Id: If55fdafd6ed0a9c6acb9de74bf64154d3f26b2d5 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-14HONEYCOMB-229 Introduce NAT to HCMaros Marsalek2-2/+2
Reflects SNAT from VPP: - 1:1 Static IPv4 mapping - interface in/out NAT feature management Bonus: - Support presence containers in infra Change-Id: Ieb38526f83edbae5e605d5c7e39bb22bbafc50e5 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-13HONEYCOMB-233: add support for mixing L2/L3 rulesMarek Gradzki2-1/+3
In case of L2 interfaces, acls are translated into a chain of classify tables and assigned as L2 table. In case of L3 interfaces, acls are translated into ip4 and ip6 chains (eth only rules go to both chains, rest - depending on ip-version). Limitations: - it is not possible to define L3 rule without specifying ip-version (common header fields for IP4/IP6 have different offsets), - eth rules on L3 interfaces are applied only to IP traffic (vpp classfier limitation). Change-Id: I7ca2648cabad8c6e936cf71a51e06596a42891e8 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-06HONEYCOMB-236 - Unified read/write exceptionsJan Srnicek1-6/+105
Change-Id: Idde761d0c0c2c4d96555ef94dbdaa87fad889493 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-10-05HONEYCOMB-138 - Lisp L2 SupportJan Srnicek2-5/+18
Change-Id: Idff4776a64a88be2e0a45ab1927978e40876ea92 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-28VPP-378: update jvpp package namesMarek Gradzki3-4/+4
Depends on - vpp: https://gerrit.fd.io/r/#/c/3178 - NSH: https://gerrit.fd.io/r/#/c/3181 Change-Id: I1929947ccccc453aa32552fc42942a8b24ade157 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-27HONEYCOMB-206: change package name to match groupIdMarek Gradzki13-13/+13
Change-Id: I74f769c09e86f08b1753e685a134d20e801bd7da Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-23HONEYCOMB-145 - Utility Class RefactoringJan Srnicek11-545/+669
problematic mockito-all changed to mockito-core( https://github.com/mockito/mockito/issues/324) Translate Utils Splitted to multiple Trait Interfaces Ipv4Translator - Logic for translation of ipv4-based data Ipv6Translator - Logic for translation of ipv6-based data MacTranslator - Logic for translation of mac-based data AddressTranslator - Aggregation trait for Ipv4/Ipv6/Mac JvppReplyConsumer - Logic for extracting replies from jvpp calls ByteDataTranslator - any byte-based conversions Plus some existing utility classes changed to traits Change-Id: I342b625954223966802e65dca0fabf8456c89345 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-21Fixed reading of operational state of lisp Jan Srnicek1-29/+34
Rejecting of empty locator-sets Added revert of searched key to match vpp address order Ignoring helper data returned by dumps Change-Id: I5ec74f48dc373099b5fe516553d769c20e4a98f8 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-14Dump cache management moved to translate-utilsJan Srnicek10-426/+0
Removed all references to vpp to be usable in any plugin Change-Id: Id63b06d643f4004e67b2502fc02e58cf3d238b3b Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-13HONEYCOMB-210: decrease log level to DEBUG for empty dump msgMarek Gradzki1-2/+2
Empty dump message is normal state, LOG.warn unnecessarily pollutes HC logs. Change-Id: I9a7c3a0b2d4317d3bc04e91183afab341b779d15 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-13Remove unused logger form NamingContextMarek Gradzki1-5/+1
Change-Id: I612f1c67d2307a293deb4b75a9e373d3a6313dde Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-08HONEYCOMB-78: enable HC restartMarek Gradzki1-0/+46
Includes: - restart script for honeycomb - HONEYCOMBC-78 fix: jVPPRegistry.close() is not invoked in case of VPP restart. That prevents subsequent attempts to establish connection from failing (we cannot invoke vl_client_disconnect_from_vlib before connect_to_vpe on fresh vpp instance). Change-Id: Icf4d6a6a40605ed34d307a0f1405b8804ba5df53 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-07Cleanup TODOs and FIXMEsMaros Marsalek2-8/+5
- Fix minor ones - Report bigger and include issue number in comment - Pull common dependencies into dependency management of common/parents Change-Id: I06a6ac37c52b603fd73ed42023d6b2e7fa18010f Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-06HONEYCOMB-153: fix acls for sub-interfacesMarek Gradzki1-28/+0
Change-Id: Ia75c2ebd62fb371fd60f860fe12761926f443b98 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-31HONEYCOMB-75 - Lisp implemetationJan Srnicek2-0/+270
Rebased on final minimal distro Change-Id: Ib71fc59e62dda4633f4f79c5c7417a4aaf02a177 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-08-31HONEYCOMB-144 - Make dump cache manager thread-saveJan Srnicek5-31/+21
Modified to be thread save and generic to be usable in all plugins Change-Id: I26c90e8c8aa13c07fa389d86a9784e92e9532bcd Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-08-26HONEYCOMB-139: ietf-acl translation layer. IP4 L3 ACL supportMarek Gradzki1-1/+5
Change-Id: I5e5af0d7609aa594790b35a387ec8701f1f6b6df Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-19HONEYCOMB-117: add support for jvpp pluginsMarek Gradzki2-9/+9
Change-Id: I9f1dd5562b13a37392ce92b170a466c48d61bcc5 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-19HONEYCOMB-22: Remove karaf based distribution and wiringMaros Marsalek3-76/+0
Change-Id: I48aafb726de53b6ad3fb9b97c202f712dfa4a540 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-07-29HONEYCOMB-130: Rename infra packages(remove vpp/v3po)Maros Marsalek11-18/+18
Change-Id: Ic5b90e397e3743623d01b206bc60bc5c7df6b981 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-07-29HONEYCOMB-130: Separate v3po plugin from HC infraMaros Marsalek21-0/+1251
Creating folders: - common/ - infra/ - v3po/ - vpp-common/ Change-Id: I2c39e1b17e39e7c0f0628f44aa5fe08563fa06e4 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>