summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils
AgeCommit message (Collapse)AuthorFilesLines
2017-12-13(Multi)NamingContext: increment after computing maxMarek Gradzki3-23/+39
Instead of incrementing all elements of stream and applying max, first compute max and then increment. Change-Id: I4e45ffa74d9b8685abd7bafaddc77d1d9850abdb Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
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 Gradzki3-58/+16
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-10-04Bump hc2vpp version to 1.18.01-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: Id2b6e7c5259190808b7093dc18538427e4034fc0 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 Gradzki2-11/+22
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 Gradzki2-6/+47
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-04Adapt hc2vpp to ODL Carbon bump in honeycombMarek Gradzki2-2/+2
Depends on https://gerrit.fd.io/r/#/c/6924/ Change-Id: I80597cb2846d174a548a5abf1e4add0ba0e17186 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-08-01HC2VPP-187 - Naming context improvementsJan Srnicek2-0/+29
Adds option to throw specific exception on non existing mapping Change-Id: I1903ad8d0d660380680f99f0252e7ec6d9c8862d Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-07-06Bump hc2vpp version to 1.17.10-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: I744c3bc4962295b307b718764adb14035ee13d1d Signed-off-by: Marek Gradzki <mgradzki@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-04-04Bump hc2vpp version to 1.17.07-SNAPSHOTMarek Gradzki1-2/+2
Also bumps honeycomb and vpp dependencies Change-Id: Ice9863b8afc1895d43b97953ed6d93e739730f5e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-03-24Add hc2vpp common parentsMarek Gradzki1-1/+1
- provides single root (hc2vpp-parent) for all projects to make site plugin work - fixes relative links in child poms - adds missing project names Partially based on https://gerrit.fd.io/r/#/c/4720 To test: - mvn clean install && mvn site site:stage - open hc2vpp/target/staging/hc2vpp-parent/hc2vpp-aggregator/index.html Change-Id: Ife5a8555748221cd8bcc8ad2fa48f1d0e98fff1d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-02-08HC2VPP-11/HC2VPP-12 - refactored ipv4/6 logic/testsJan Srnicek3-23/+80
- 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 Gradzki2-31/+31
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-05Bump hc2vpp versoin to 17.04Marek Gradzki1-2/+2
Also updates version of honeycomb dependencies. Vpp API version bump moved to separate commit due to issues with jvpp jars. Change-Id: Id336393b00fe05e8ecee9b547dcfc6a49e1a98ec Signed-off-by: Marek Gradzki <mgradzki@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-07Set hc2vpp version to 17.01 to align with vpp releaseMarek Gradzki1-2/+2
Depends on https://gerrit.fd.io/r/#/c/4137 Change-Id: I11cc690bf5d12db5c7223f46a19c3f555213aead Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-01HONEYCOMB-58 - Routing Plugin StructureJan Srnicek14-14/+651
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 Srnicek7-121/+17
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 Marsalek24-176/+33
- 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-11-09HONEYCOMB-254 - Adjacencies dump supportJan Srnicek1-3/+0
Added mapping context between adjacency id(HC side) and combination of remote and local eids(vpp side) Change-Id: Icbba9130a82b7af51b23e6d6d68fcfbf49e66c99 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-11-03HONEYCOMB-259 - CacheKeyFactoryJan Srnicek1-13/+23
Provides logic for creating scoped keys Change-Id: I126bcb9255b4f8a3f2585f50e6e718948581e7f0 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-10-28HONEYCOMB-274 Fix checkstyle license checksMaros Marsalek8-13/+126
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 Marsalek3-0/+174
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 Srnicek2-19/+123
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 Gradzki5-7/+7
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-28HONEYCOMB-210 - DumpEmptyCheck removedJan Srnicek1-26/+16
Change-Id: I95ea94c3a1a581753f7eb667af7aacde832c21fd Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-27HONEYCOMB-206: change package name to match groupIdMarek Gradzki21-21/+21
Change-Id: I74f769c09e86f08b1753e685a134d20e801bd7da Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-26HONEYCOMB-209 Configure maven siteMaros Marsalek2-1/+1
To produce site for Honeycomb + javadoc asciidoc To build the site: mvn clean install site:attach-descriptor site mvn site:stage -DstagingDirectory=/home/mmarsale/tmp/stage Change-Id: I4246bb09ba02b74a2a9c84ee73f8dba02384fffa Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-23HONEYCOMB-145 - Utility Class RefactoringJan Srnicek19-757/+935
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 Srnicek2-39/+57
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 Srnicek11-428/+6
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>