openflowplugin.git
3 years agoMigrate more setFoo(List) setters 07/94607/2
Robert Varga [Tue, 12 Jan 2021 01:10:26 +0000 (02:10 +0100)]
Migrate more setFoo(List) setters

Clean up more call sites, using BindingMap.ordered(). Also fixes
a few performance regressions introduced during original migration.

Change-Id: I8491695cb482c2b8e6fe7d53d41a5bede61b068f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix next round of OFP test warnings 06/94606/1
Robert Varga [Tue, 12 Jan 2021 01:04:16 +0000 (02:04 +0100)]
Fix next round of OFP test warnings

We are on home stretch now, update a few more tests.

Change-Id: Ibdf7ccac8d8d5b212ab9c7c2903f69098df2768b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMore OFP production code migration 05/94605/2
Robert Varga [Mon, 11 Jan 2021 21:45:16 +0000 (22:45 +0100)]
More OFP production code migration

Use BindingMap and similar construcs to switch from Lists to Maps.

Change-Id: I35c8e71ac03dbec10c32074e8caad1fd3c95d374
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMore OFP test conversions 04/94604/1
Robert Varga [Mon, 11 Jan 2021 21:44:34 +0000 (22:44 +0100)]
More OFP test conversions

Use various tricks to get rid of warnings, mostly BindingMap.

Change-Id: I6e3273567bc207ab0d265d68afbbdbed6a36987e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup warnings in openflowplugin-extension-eric 03/94603/1
Robert Varga [Mon, 11 Jan 2021 21:05:31 +0000 (22:05 +0100)]
Cleanup warnings in openflowplugin-extension-eric

Use BindingMap.of() instead of Collections.singletonList() and
move on.

Change-Id: Idd869836bac003fe3fda3c682837eb775c6745f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAnother round of ofp-impl warning fixes 01/94601/3
Robert Varga [Mon, 11 Jan 2021 18:00:02 +0000 (19:00 +0100)]
Another round of ofp-impl warning fixes

Use ByteBufUtils.readUint{8,16,32,64} and BindingMap's facilities
to migrate away from legacy components.

Change-Id: I21aafa5d09c0c9f6c46eba543c61755fd7f18723
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDrop locking from FlowGroupInfoHistoryImpl 02/94602/2
Robert Varga [Mon, 11 Jan 2021 19:17:31 +0000 (20:17 +0100)]
Drop locking from FlowGroupInfoHistoryImpl

Updates here are in the fast path and we are taking locks for
something that is used ... almost never.

Remove locking and perform time-bound retries to acquire entries
instead, explaining the situation in comments.

If this is not sufficient, a TODO is also added as to what needs
to happen to make the entry acquisition reliable.

Change-Id: I21d05e074bb5033942ef4f7d0bc210a2e9bbf359
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove FlowGroupCacheManager crud 91/94591/10
Robert Varga [Sun, 10 Jan 2021 22:07:22 +0000 (23:07 +0100)]
Remove FlowGroupCacheManager crud

Split out history tracking into Device{Flow,Group}Registry, so that
we do not perform NodeId-based lookups.

Integrate this history with Device{Context,Manager} and their
respective services instead, removing the need for most of the crud
introduced in f636f76930e43e34c2c2decd210ccd33e6e2c1fa.

Change-Id: Ic9bb8829a253dbe49b9bd285df2eb47788c1fbb0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFurther test migration 00/94600/1
Robert Varga [Mon, 11 Jan 2021 17:57:55 +0000 (18:57 +0100)]
Further test migration

Use BindingMap instead of lists for easy migration.

Change-Id: Ifb721a363009475717222b71ec4982e10a777618
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate MultipartReplyPortStatsDeserializer 98/94598/1
Robert Varga [Mon, 11 Jan 2021 14:24:05 +0000 (15:24 +0100)]
Migrate MultipartReplyPortStatsDeserializer

Use readUint{32,64} and BindingMap to eliminate warnings, and improve
both readability and performance.

Change-Id: Ib30396a7cc8deee9ad254e27730ed1361ef718d7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate more List-based map setters 90/94590/2
Robert Varga [Sun, 10 Jan 2021 20:05:26 +0000 (21:05 +0100)]
Migrate more List-based map setters

There are a number of cases where we can use BindingMap and its
Builder to create a ready-made map.

Change-Id: I5205681583849bb95c81c8dc95728436aa0701c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse BindingMap to migrate tests 89/94589/2
Robert Varga [Sun, 10 Jan 2021 20:04:50 +0000 (21:04 +0100)]
Use BindingMap to migrate tests

A number of tests are using Lists, where BindingMap can provide a
nice bridge.

Change-Id: Ib26a3b3a7587afb58f8abb02706dc693d566b920
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoProperly check for FlowRef before touching caches 86/94586/6
Robert Varga [Sun, 10 Jan 2021 12:26:34 +0000 (13:26 +0100)]
Properly check for FlowRef before touching caches

FlowRef is not necessarily present, hence we need to properly
isolate code that requires it.

This ends up being a larger-scale refactor, as there was a ton
of duplicate code. At the end of the day, this debugging facility's
footprint is reasonably reduced.

JIRA: OPNFLWPLUG-1106
Change-Id: I402cc302ab09e22bda7f731f7da4431f576c8bbb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCorrect OF10EnqueueActionDeserializer 16/94416/3
Robert Varga [Tue, 5 Jan 2021 17:04:12 +0000 (18:04 +0100)]
Correct OF10EnqueueActionDeserializer

We seem to have a mismatch in header deserialization, fix it up.

Change-Id: I1807b24e9fe2cd6ef9852009131ae251b46aea7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove EricMatchCodecs 20/94420/3
Robert Varga [Tue, 5 Jan 2021 22:43:07 +0000 (23:43 +0100)]
Remove EricMatchCodecs

This class hosts only two constants, move them to their respective
classes as singleton constants.

Change-Id: Iddac2dc01a7854f3461d5581d18b8530947179f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOFSerializer.serialize() takes NonNull arguments 19/94419/2
Robert Varga [Tue, 5 Jan 2021 22:35:31 +0000 (23:35 +0100)]
OFSerializer.serialize() takes NonNull arguments

Users can rely on these never being null, document that.

Change-Id: I7bc7a5775a87629c3d6c28aa5ed889508ddc72c4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump MRI upstreams 18/94518/2
Robert Varga [Fri, 8 Jan 2021 20:50:00 +0000 (21:50 +0100)]
Bump MRI upstreams

Adopt following versions:
- odlparent-8.0.3
- infrautils-1.9.4
- yangtools-6.0.3
- mdsal-7.0.4
- controller-3.0.4

Change-Id: Ie85de0e127d1c0ea57c9758efdbc2c6a21ae521d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix checkstyle 42/94542/1
Robert Varga [Sat, 9 Jan 2021 09:32:39 +0000 (10:32 +0100)]
Fix checkstyle

Upgraded checkstyle finds a number of formatting issues which were
previously undetected. Fix them up.

Change-Id: I63640aee38927bde9f22e73e21640b81cfb07d85
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnable modernizer in openflow-protocol-impl 15/94415/1
Robert Varga [Tue, 5 Jan 2021 17:09:18 +0000 (18:09 +0100)]
Enable modernizer in openflow-protocol-impl

Modernizer is only flagging a misuse of MoreObjects.firstNonNull(),
replace the call sites with Objects.requireNonNull() and flip
enforcement on.

Change-Id: I825538398ebff463e606a337353a5cc6565506ee
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd AbstractActionCaseDeserializer 11/94411/6
Robert Varga [Tue, 5 Jan 2021 13:01:37 +0000 (14:01 +0100)]
Add AbstractActionCaseDeserializer

Most implementations of AbstractActionDeserializer result in an
Action, which we can pull down into the abstract class, reducing
the amount of duplicate code.

This makes the dispatch a bit more friendly, as the there are
fewer implementations of the actual entry point.

Change-Id: I610a8412dedc15ee9a22e4d1d26c498c2d9f3ba3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up a few factories 14/94414/2
Robert Varga [Tue, 5 Jan 2021 16:46:40 +0000 (17:46 +0100)]
Clean up a few factories

Remove unneeded @SuppressFBWarnings and use builders fluently,
cutting down bytecode.

Change-Id: I28aaa83701bb401e057c45671de7968ac03d458c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOptimize ByteBufUtils.readIetfIpv4Address() 13/94413/3
Robert Varga [Tue, 5 Jan 2021 14:37:59 +0000 (15:37 +0100)]
Optimize ByteBufUtils.readIetfIpv4Address()

Use a simple readInt() and pass that down do IetInetUtil, so we
have a more efficient decode.

Change-Id: I9ee229ced8dccf59509c050b0559713d7fcbabde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup a few protocol deserializers 10/94410/1
Robert Varga [Tue, 5 Jan 2021 12:54:44 +0000 (13:54 +0100)]
Cleanup a few protocol deserializers

We can use a simple list and reorganize our builders for clarity.

Change-Id: I3660eab1e0ace31e900d6e31e0ada276624b8edc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MeterConvertorTest 08/94408/3
Robert Varga [Tue, 5 Jan 2021 11:26:15 +0000 (12:26 +0100)]
Cleanup MeterConvertorTest

Use BindingMap.ordered() and clean up some builder usage.

Change-Id: Ia56af4bade4fe7b958dcb35a6273c08a0a91c4ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up GroupConvertorTest 09/94409/2
Robert Varga [Tue, 5 Jan 2021 11:51:54 +0000 (12:51 +0100)]
Clean up GroupConvertorTest

Use BindingMap.ordered() instead of the various lists, fixing
related warnings.

Change-Id: Id59d83a345d7eb3dd378a9bf03868bb8982d1c63
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup PacketOutConvertorTest 07/94407/1
Robert Varga [Tue, 5 Jan 2021 10:36:53 +0000 (11:36 +0100)]
Cleanup PacketOutConvertorTest

Use BindingMap.of() to migrate the single use of list remaining,
also cleaning up builder usage a bit.

Change-Id: I52e675943c6375631601a95b5ee261968216d22e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup FlowConvertorTest 06/94406/1
Robert Varga [Tue, 5 Jan 2021 10:18:59 +0000 (11:18 +0100)]
Cleanup FlowConvertorTest

Use BindingMap.of() instead of lists to get rid of related
warnings. Also clean up builder use.

Change-Id: Icda5eb7e1460f1e6212085dc9d768f4b241af6bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup liblldp 04/94404/1
Robert Varga [Tue, 5 Jan 2021 08:44:58 +0000 (09:44 +0100)]
Cleanup liblldp

Remove use of Class.newInstance() in favor of Supplier<Packet>,
which takes reflection out of the picture.

Also cleanup various other warnings, improving efficiency in the
process.

Change-Id: Iaed142fd2ab4ce0fa4a765d8b3f4006fd8076b1f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup ofp nicira extension 89/94389/16
Robert Varga [Mon, 4 Jan 2021 00:40:14 +0000 (01:40 +0100)]
Cleanup ofp nicira extension

Fix warnings coming from uint type widening and clean up builder
usage.

Also optimize MatchUtil.ipv4ToLong() by using IetfInetUtil, since
which is the most efficient way of during that conversion. This
leads to a cleanup of MatchUtil, which is taught to operate on Uint32
instead.

Change-Id: I6219f47d4dc06b046b1fce5c7acd699edd96d3ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMerge "Cleanup MeterMessageSerializer"
Robert Varga [Tue, 5 Jan 2021 08:32:28 +0000 (08:32 +0000)]
Merge "Cleanup MeterMessageSerializer"

3 years agoFix warnings in test-provider 99/94399/10
Robert Varga [Mon, 4 Jan 2021 10:39:59 +0000 (11:39 +0100)]
Fix warnings in test-provider

Fix deprecation warnings by converting to use uint types/BindingMap
and apply @Deprecated as appropriate. There will be more rounds to
deal with the rest of the warnings.

Change-Id: Id144002ad80503fa3eeb3c0fbb73fe5490aea9e3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MeterStatsResponseConvertor 95/94395/3
Robert Varga [Mon, 4 Jan 2021 10:12:15 +0000 (11:12 +0100)]
Cleanup MeterStatsResponseConvertor

Remove use of deprecated methods and cleanup builder use.

Change-Id: Ie9e6d9cadc0728c0d16886debe65be76e123a6d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup PacketOutConvertor 94/94394/3
Robert Varga [Mon, 4 Jan 2021 10:03:51 +0000 (11:03 +0100)]
Cleanup PacketOutConvertor

Update structure to follow best practices.

Change-Id: I957525431927593532e9b79b2d532135beb5fd4b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnforce modernizer in openflowjava-extension-nicira 97/94397/2
Robert Varga [Mon, 4 Jan 2021 10:35:15 +0000 (11:35 +0100)]
Enforce modernizer in openflowjava-extension-nicira

We have just a few violations, fix them and flip enforcement on.

Change-Id: I3ee63fa565b6b5c8bfa0a63d2596947806433d7a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnforce modernizer in openflowplugin-extension-onf 96/94396/2
Robert Varga [Mon, 4 Jan 2021 10:25:22 +0000 (11:25 +0100)]
Enforce modernizer in openflowplugin-extension-onf

Fix the two violations we have and switch enforcement on.

Change-Id: I7b81271e6f4486072fa26fd62ad975c98b6e59ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnforce modernizer in openflowplugin 93/94393/1
Robert Varga [Mon, 4 Jan 2021 09:57:21 +0000 (10:57 +0100)]
Enforce modernizer in openflowplugin

Fix the two remaining issue and flip enforcement on.

Change-Id: I0b542fdb08bc61214d72fc5b87da295d1e2f9eb2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoPartial cleanup of convertors 90/94390/5
Robert Varga [Mon, 4 Jan 2021 02:12:51 +0000 (03:12 +0100)]
Partial cleanup of convertors

Migrate away from unit/lists and refactor the code for clarity and
speed.

Change-Id: I142b49de0908fef3c014a516058e9ffe13c998e0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDo not use sal-common-util 92/94392/1
Robert Varga [Mon, 4 Jan 2021 09:52:30 +0000 (10:52 +0100)]
Do not use sal-common-util

This simple helper has been deprecated, stop using it.

Change-Id: I30a1b2999751fddf12735d673791426a0779d620
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFinish OFJ nicira migration 88/94388/2
Robert Varga [Mon, 4 Jan 2021 00:13:10 +0000 (01:13 +0100)]
Finish OFJ nicira migration

Fixup final two places where we go through BigInteger.

Change-Id: I18ea8783071033a7f369e24cb5e2e90601dfc46a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up OVJ nicira action codecs 87/94387/3
Robert Varga [Sun, 3 Jan 2021 23:41:28 +0000 (00:41 +0100)]
Clean up OVJ nicira action codecs

Migrate to use unit types and cleanup builder usage.

Change-Id: Iaed5405bad9f287e8822362554e799e54e35fa90
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up OVJ nicira match codecs 86/94386/3
Robert Varga [Sun, 3 Jan 2021 23:27:47 +0000 (00:27 +0100)]
Clean up OVJ nicira match codecs

Migrate to use unit types and cleanup builder usage.

Change-Id: Id9e8199d7c1fcccfa653bd1ad4c3b740fd9566f0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup ConntrackCodec 85/94385/2
Robert Varga [Sun, 3 Jan 2021 23:04:54 +0000 (00:04 +0100)]
Cleanup ConntrackCodec

Use fluent builders where possible, making things less verbose.

Change-Id: Iba942161badab8484e5188ed041ca50e78424ca6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSpeed up ConntrackCodec's ipv4 handling 84/94384/3
Robert Varga [Sun, 3 Jan 2021 22:56:34 +0000 (23:56 +0100)]
Speed up ConntrackCodec's ipv4 handling

Add readIpv4Address(), which uses IetfInetUtil to efficiently
read an Ipv4Address from a ByteBuf. Also move the write path,
which already uses IetfInetUtil.

Change-Id: Ic5a64f06cf4349bfbb2f6a9347a05a81afb33a10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix ConntrackCodec warnings 83/94383/2
Robert Varga [Sun, 3 Jan 2021 22:48:36 +0000 (23:48 +0100)]
Fix ConntrackCodec warnings

Propagate Uint16 as appropriate, so that we do not get deprecation
warnings. Also perform some house cleaning.

Change-Id: I6e9b201a774dcffddd3170fc89a00e7b475b430a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup LearnCodec 82/94382/2
Robert Varga [Sun, 3 Jan 2021 22:36:23 +0000 (23:36 +0100)]
Cleanup LearnCodec

This is just some minor house keeping.

Change-Id: I35a176b847885cb7f96ea52ef0f06fe9ada48bea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDo not check src/dst twice 81/94381/1
Robert Varga [Sun, 3 Jan 2021 22:07:50 +0000 (23:07 +0100)]
Do not check src/dst twice

We have two if-else branches which cover two distinct states. Move
the logic into its utility method, which makes sit obvious what is
going on.

Change-Id: I699eeffb637cc78583923d871cc94e55b09bbd35
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse Uint16 for numBits 80/94380/1
Robert Varga [Sun, 3 Jan 2021 22:02:13 +0000 (23:02 +0100)]
Use Uint16 for numBits

Migrate legacy setter use by embracing Uint16 as a validated
holder.

Change-Id: I3de4cf98b223fad732efa676edddea5b4468af06
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUse readUint16(ByteBuf) 79/94379/1
Robert Varga [Sun, 3 Jan 2021 21:54:48 +0000 (22:54 +0100)]
Use readUint16(ByteBuf)

We have open-coded ByteBuf.readUnsignedShort(), ditch that in favor
of readUint16().

Change-Id: I0fcaa221c9a84323b39dae0a69cf712b98740c7b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix LearnCodecUtil scalability 78/94378/3
Robert Varga [Sun, 3 Jan 2021 21:32:45 +0000 (22:32 +0100)]
Fix LearnCodecUtil scalability

LearnCodecUtil.buildFlowModSpecs() is statically synchronized to
keep track of overflows. Encapsulate that state in an object,
disarming this particular landmine.

Change-Id: Iae68992ca72e71d2c11e6ef48b88c0227b087ae9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup LearnCodecUtil 77/94377/4
Robert Varga [Sun, 3 Jan 2021 20:39:56 +0000 (21:39 +0100)]
Cleanup LearnCodecUtil

Perform all-round verbosity cleanup. This makes it clear we have
a before-and-after stage.

Change-Id: I6e92826bf3a48fd66d58d632cdea39012cc0674b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRefactor MatchExtensionHelper 76/94376/2
Robert Varga [Sun, 3 Jan 2021 19:37:10 +0000 (20:37 +0100)]
Refactor MatchExtensionHelper

This is a rather simple utility class. Since we are cleaning up
deprecation warnings, we might as well completely refactor it.

This results in much more expressive code as well as performance
wins, as we propagate invariants as early as possible -- untangling
the Optional.ofNullable().map().orElse(new ...) mess.

Change-Id: Ia92d36626c6c449558a3cd91f4f52b708b0d9645
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix warnings in forwardingrules-sync 75/94375/2
Robert Varga [Sun, 3 Jan 2021 17:41:53 +0000 (18:41 +0100)]
Fix warnings in forwardingrules-sync

Perform a straight migration to BindingMap.orderedBuilder(), fixing
deprecation warnings and fixing some copy&paste sizing issues.

Change-Id: I6b5c7a2d5a5267358b223015f59c12089844db88
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix warnings in notification-supplier 74/94374/2
Robert Varga [Sun, 3 Jan 2021 17:26:30 +0000 (18:26 +0100)]
Fix warnings in notification-supplier

There are a few places using deprecated constructs, update them.

Change-Id: Iee4ddb62f37f2d548bb3b2b2b6f2e88e92dd738e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup table-miss-enforcer 73/94373/2
Robert Varga [Sun, 3 Jan 2021 17:15:21 +0000 (18:15 +0100)]
Cleanup table-miss-enforcer

We have a few warnings here, fix them up.

Change-Id: I71c435925bf1c5419eefc0691691e9bc7f112446
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix warnings in topology-manager 72/94372/2
Robert Varga [Sun, 3 Jan 2021 17:07:00 +0000 (18:07 +0100)]
Fix warnings in topology-manager

Use BindingMap.ordered() to perform minimal migration of tests,
also fixing obvious warnings reported by Eclipse.

Change-Id: Id8c804d6fa02da269c079993a8f4d9609e350ac3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup sample-consumer 71/94371/2
Robert Varga [Sun, 3 Jan 2021 17:01:06 +0000 (18:01 +0100)]
Cleanup sample-consumer

We have a few warnings, fix them up by refactoring to current
best practices.

Change-Id: I85acd2d7494b861f7d313af92b896f4d40bbb032
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup SampleFlowCapableNodeListener 70/94370/2
Robert Varga [Sun, 3 Jan 2021 16:54:02 +0000 (17:54 +0100)]
Cleanup SampleFlowCapableNodeListener

We have a few deprecation warnings here, refactor to remove them
and follow fluent builder best practices.

Change-Id: I7a2d2a2bcc9246ae90a3499eacaba5a1e36a62d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove unneded check 66/94366/3
Robert Varga [Sun, 3 Jan 2021 15:25:26 +0000 (16:25 +0100)]
Remove unneded check

Sonar is pointing out we are using boolean literals, which is not
needed as the check already is a boolean.

Change-Id: Ieeebe144a91d08dd55a6f7971baa03086e6ce13d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix code smell in HandshakeManagerImpl 65/94365/4
Robert Varga [Sun, 3 Jan 2021 15:21:25 +0000 (16:21 +0100)]
Fix code smell in HandshakeManagerImpl

Sonar is pointing out thrown Exception which just does not happen,
fix that.

Change-Id: I75c92f9c814d23545b22954f02747b6f211bb01b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MeterMessageSerializer 60/94360/2
Robert Varga [Sun, 3 Jan 2021 11:40:29 +0000 (12:40 +0100)]
Cleanup MeterMessageSerializer

Get rid of nullable logic, so that we have more direct and clean
logic. Also pre-encode the default flags, so we pick it up for zero
cost.

Change-Id: Ic6d773a9c2b11e0d848087f52279d044908eb247
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSpeed up DeviceGroupRegistry.isGroupPresent() 64/94364/2
Robert Varga [Sun, 3 Jan 2021 15:13:58 +0000 (16:13 +0100)]
Speed up DeviceGroupRegistry.isGroupPresent()

Sonar is complaining about an explicit 'false' here, fix that warning
by storing the result and having a proper expression. This ends up
being faster, as we perform only a single lookup.

Change-Id: I9c96a3c01be5e01fbb215bc0d86c78f06185fe30
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove use of Optional from DeviceInitializationUtil 63/94363/3
Robert Varga [Sun, 3 Jan 2021 14:00:25 +0000 (15:00 +0100)]
Remove use of Optional from DeviceInitializationUtil

The use here is completely unneeded -- we can serve the same thing
with checks for null.

Change-Id: Ic5958cd97f91676a2ab6b34c9f049a7f73eaa1d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoReduce use of Optional in ContextChainHolderImpl 62/94362/3
Robert Varga [Sun, 3 Jan 2021 13:52:08 +0000 (14:52 +0100)]
Reduce use of Optional in ContextChainHolderImpl

Optional.ofNullable().ifPresent() can easily be replaced with
a null check, making code clearer. We also end up rewrapping
ownership state -- just drop to using nullable, as that makes
the corresponding check easier.

Change-Id: I74efb538cdf3cf66350a8bcb23d0207070864dc2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MultipartReplyTranslatorUtil 61/94361/3
Robert Varga [Sun, 3 Jan 2021 13:39:57 +0000 (14:39 +0100)]
Cleanup MultipartReplyTranslatorUtil

Rather than using Optional.flatMap(), which seems to be an all-time
favorite switch to using null checks and explicit returns. While we
are here, also make sure we use Builders' fluent capacity.

Change-Id: Ib27cbc4e290620ddb53139349079f0349f84e0ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MatchUtil 58/94358/7
Robert Varga [Sun, 3 Jan 2021 10:41:41 +0000 (11:41 +0100)]
Cleanup MatchUtil

Switch MatchUtil.resolveExtensions() to return a map, removing
a source of needless copying.

Change-Id: I3343be5cb848774d7047ad27c2ec96a24e343aa8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup AbstractActionInstructionSerializer 55/94355/6
Robert Varga [Sun, 3 Jan 2021 10:16:44 +0000 (11:16 +0100)]
Cleanup AbstractActionInstructionSerializer

Do not use Optional.ofNullable() for null checks, leading to cleaner
and meaner code.

Change-Id: I302bccbadbaeb6633c8f12afdea6ffe3a751826c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup ConfigurationServiceFactoryOsgiImpl 57/94357/6
Robert Varga [Sun, 3 Jan 2021 10:36:26 +0000 (11:36 +0100)]
Cleanup ConfigurationServiceFactoryOsgiImpl

Do not use Optional.ofNullable() for null checks and also properly
unget service after use.

Change-Id: I0360904dcec7ee25d6702a943f2d6782540a79c0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup TableFeaturesMatchFieldDeserializer 56/94356/6
Robert Varga [Sun, 3 Jan 2021 10:25:06 +0000 (11:25 +0100)]
Cleanup TableFeaturesMatchFieldDeserializer

Remove overzealous use of optionals to make the logic cleaner
and more performant.

Change-Id: I8305b49877e309971222954f8a0a5e8cce9b8f59
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MatchSerializer 54/94354/4
Robert Varga [Sun, 3 Jan 2021 09:53:58 +0000 (10:53 +0100)]
Cleanup MatchSerializer

Remove use of Optional.ofNullable() as a null guard, improving
overall performance and readability.

Change-Id: I028537276720697b7109c92096719a55df53e6a8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup ExtensionSessionManagerImpl 53/94353/4
Robert Varga [Sun, 3 Jan 2021 09:58:19 +0000 (10:58 +0100)]
Cleanup ExtensionSessionManagerImpl

Use a properly-constant singleton and remove unused logger.

Change-Id: I0ed7bc521aaa121a13f07ad8f72b37e00d2b522a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MultipartRequestExperimenterSerializer 52/94352/5
Robert Varga [Sun, 3 Jan 2021 09:49:05 +0000 (10:49 +0100)]
Cleanup MultipartRequestExperimenterSerializer

Split fallback serialization into its own method and remove use
of Optional.ofNullable().ifPresent() in favor of null checks.

Change-Id: Ic4581efbc383de4b2c6028c6be654280fae0605d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMerge changes Ia53720b0,I9f54d265
Robert Varga [Sun, 3 Jan 2021 09:51:01 +0000 (09:51 +0000)]
Merge changes Ia53720b0,I9f54d265

* changes:
  Cleanup GroupMessageSerializer
  Cleanup MultipartRequestTableFeaturesSerializer

3 years agoCleanup GroupMessageSerializer 51/94351/1
Robert Varga [Sun, 3 Jan 2021 08:30:46 +0000 (09:30 +0100)]
Cleanup GroupMessageSerializer

Do not use Optional for logic decisions, making translation clearer
and more performant.

Change-Id: Ia53720b0b18753e77de5f74614bb5a7ea775fd42
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup MultipartRequestTableFeaturesSerializer 50/94350/1
Robert Varga [Sun, 3 Jan 2021 08:19:27 +0000 (09:19 +0100)]
Cleanup MultipartRequestTableFeaturesSerializer

Remove use of Optional for logic decisions. Also do not convert
string to bytes twice.

Change-Id: I9f54d2653fbbb86525c6dfd1cbbaf76d187d573e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up ListeningExecutorService usage 20/67420/10
Robert Varga [Fri, 19 Jan 2018 18:28:30 +0000 (19:28 +0100)]
Clean up ListeningExecutorService usage

It turns out we do not really need ListeningExecutorService at all,
but can live with a normal ExecutorService. Furthermore most contexts
where we used ExecutorService can completely get by through a simple
Executor, which makes lifecycle more predictable.

Change-Id: Ic1b2a3d49433557d0c5934445a79e06391d24fe8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup FlowMessageSerializer 34/94334/14
Robert Varga [Sat, 2 Jan 2021 10:49:07 +0000 (11:49 +0100)]
Cleanup FlowMessageSerializer

Further reduce use of Optional.ofNullable().map() crud and also
reduce Guava use as per modernizer warnings.

Change-Id: Ic060c95941b9ac0f1b40b1350dce50c004e0fd0e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOptimize SetAsyncInputMessageFactory 48/94348/2
Robert Varga [Sun, 3 Jan 2021 00:11:40 +0000 (01:11 +0100)]
Optimize SetAsyncInputMessageFactory

This class is very similar to GetAsyncReplyMessageFactory, apply
same optimizations.

Change-Id: Iaeacd426fb99aaf1ce527d53bcb935aaf0551fcd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOptimize AsyncConfigMessageSerializer 47/94347/2
Robert Varga [Sat, 2 Jan 2021 23:45:05 +0000 (00:45 +0100)]
Optimize AsyncConfigMessageSerializer

Do not use optionals to dispatch on nullable properties. Also do not
create a Map for bitmap conversion.

Change-Id: I4205d127c2e78e67671d8a599b065f9afe7c6f2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate a few convertors 44/94344/6
Robert Varga [Sat, 2 Jan 2021 16:49:14 +0000 (17:49 +0100)]
Migrate a few convertors

Be a bit smarter about dealing with units, fixing related warnings.

JIRA: OPNFLWPLUG-1099
Change-Id: I9ab33dc6634f37bb38735d948741424c9c2fa07f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOptimize GetAsyncReplyMessageFactory bitmasks 46/94346/3
Robert Varga [Sat, 2 Jan 2021 20:04:25 +0000 (21:04 +0100)]
Optimize GetAsyncReplyMessageFactory bitmasks

Do not instantiate a HashMap just to store offsets we have readily
available. Use direct bitmask construction instead, speedings things
up quite a bit.

Since we are doing the same thing for three difference enumerations,
introduce a common methods to do the heavy lifting.

Change-Id: I2999b00df64f596f3d025d9e83c5e3dcca376d90
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove a reference to org.mockito.Matchers 36/94336/7
Robert Varga [Sat, 2 Jan 2021 12:12:17 +0000 (13:12 +0100)]
Remove a reference to org.mockito.Matchers

These methods are deprecated, migrate to ArgumentMatchers. Also
remove a few unused constants.

Change-Id: Ida46bc436184374a851a5a4eee7ad034e80b02bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate .setXid() callers 39/94339/8
Robert Varga [Sat, 2 Jan 2021 12:29:44 +0000 (13:29 +0100)]
Migrate .setXid() callers

Use ByteBufUtils to readUint32() instead. While we are at it, apply
the same pattern to other methods as well.

JIRA: OPNFLWPLG-1099
Change-Id: Ifcd4beab39ed00e93db3b4b062a56a0d8bad6b35
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate EncodeConstants.OF13_VERSION_ID users 38/94338/5
Robert Varga [Sat, 2 Jan 2021 12:21:54 +0000 (13:21 +0100)]
Migrate EncodeConstants.OF13_VERSION_ID users

This is a search-and-replace for the correct constant.

JIRA: OPNFLWPLUG-1099
Change-Id: Ia912773d9fb299922fd1a68158e4f275b16682be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix ServiceException 37/94337/3
Robert Varga [Sat, 2 Jan 2021 12:19:33 +0000 (13:19 +0100)]
Fix ServiceException

We do not have an UUID here, fix that. Since this has been out there
for some time, start with a generated UUID.

Change-Id: I9322717e5cd1f845275aa56cb756139a7304d3fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup FlowMessageSerializer.isSetVlanIdActionCasePresent() 33/94333/2
Robert Varga [Sat, 2 Jan 2021 10:25:13 +0000 (11:25 +0100)]
Cleanup FlowMessageSerializer.isSetVlanIdActionCasePresent()

Rather than bouncing through Optional.ofNullable(), use an explicit
null check to significantly simplify this method.

Change-Id: I59237a4ccef3c407c033d3e1588b7958840d9c06
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCleanup FlowMessageSerializer.isVlanMatchPresent() 32/94332/2
Robert Varga [Sat, 2 Jan 2021 10:18:00 +0000 (11:18 +0100)]
Cleanup FlowMessageSerializer.isVlanMatchPresent()

Rather than doing silly ofNullable()/flatMap() things, just perform
two non-null checks -- making things much simpler to see.

Change-Id: I7be0f55e58427e29b9310c55989faf126b3bb7cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate OpenflowPluginBulkTransactionProvider 31/94331/3
Robert Varga [Sat, 2 Jan 2021 10:07:59 +0000 (11:07 +0100)]
Migrate OpenflowPluginBulkTransactionProvider

Use BindingMap to eliminate deprecation warnings and also clean up
builder use.

Change-Id: I3dc94c38c48eaeff9727da5048fe907acf522846
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFinal round of isFoo() migration 29/94329/7
Robert Varga [Fri, 1 Jan 2021 21:51:20 +0000 (22:51 +0100)]
Final round of isFoo() migration

Finish up remaining components, so that we do not use isFoo()
anywhere.

Change-Id: I4da07dd94b689176ecc07ffb64ecfc36890e73b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoOptimize LLDPUtil.colonize() 30/94330/3
Robert Varga [Fri, 1 Jan 2021 21:58:00 +0000 (22:58 +0100)]
Optimize LLDPUtil.colonize()

We are performing a regex-based replacement here, pre-compile the
Pattern so we get faster replacements.

Change-Id: Ib1b09e3fbb5975ad18dd6f41e45022661bb1e220
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFurther warning removal 24/94324/6
Robert Varga [Fri, 1 Jan 2021 13:29:20 +0000 (14:29 +0100)]
Further warning removal

Migrate further call sites of isFoo(), as well as various other
deprecated constructs.

Change-Id: If840e14f523eaafc596ef1a6ccd5354e19cb826f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUn-deprecate OpenflowVersion 25/94325/1
Robert Varga [Fri, 1 Jan 2021 14:53:45 +0000 (15:53 +0100)]
Un-deprecate OpenflowVersion

Our API vs. annotations do not agree on deprecation here. Let's
drop the JavaDoc and replace it with a FIXME.

A follow-up patch will address the enum's future and introduce
a proper @Deprecated once we have reigned-in our current warnings.

Change-Id: Iae325d1cf167890f299e0b31faef235b8ee4a3d4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate openflow-protocol-impl isFoo() users 15/94315/1
Robert Varga [Wed, 30 Dec 2020 20:11:05 +0000 (21:11 +0100)]
Migrate openflow-protocol-impl isFoo() users

Mass-migrate boolean getter users, which have changed from isFoo()
to getFoo().

Change-Id: I931fb7542a88870d017bb8ad8bc23568e73a9df0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump MRI upstreams 49/94149/3
Robert Varga [Thu, 10 Dec 2020 12:43:03 +0000 (13:43 +0100)]
Bump MRI upstreams

Adopt following versions:
- odlparent-8.0.2
- infrautils-1.9.3
- yangtools-6.0.2
- mdsal-7.0.3
- controller-3.0.3

Change-Id: I5731acb571b168f984e740441914c7867bd9b4ea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoUpdate active committers info 12/93412/1
Gobinath [Tue, 27 Oct 2020 10:25:54 +0000 (15:55 +0530)]
Update active committers info

Change-Id: I5e85ffdf12e629000901fca57eb4a38ca4582f76
Signed-off-by: Gobinath <gobinath@ericsson.com>
3 years agoBump infrautils to 1.9.1 06/93206/1
Robert Varga [Mon, 19 Oct 2020 23:32:43 +0000 (01:32 +0200)]
Bump infrautils to 1.9.1

Pick up mbean fixes from upstream.

Change-Id: I77f72e799f91e8214506d27ea4e02eb11986fb27
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump to mdsal-7.0.1/controller-3.0.1 95/93195/1
Robert Varga [Mon, 19 Oct 2020 19:32:35 +0000 (21:32 +0200)]
Bump to mdsal-7.0.1/controller-3.0.1

Pick up mdsal fixes and improvements.

Change-Id: I6a4797e108a63abf08a20cd63a0e56dfdc80380c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstreams for Silicon 44/92944/15
Robert Varga [Wed, 7 Oct 2020 15:39:58 +0000 (17:39 +0200)]
Bump upstreams for Silicon

Adopt the following upstream versions:
- odlparent-8.0.0
- yangtools-6.0.0
- mdsal-7.0.0
- controller-3.0.0
- infrautils-1.9.0

Since we are forced to migrate some of the code, perform related
migrations if they are trivial to do.

Quite a few tests are missing proper keys and properties, hence
these are added in the most obvious manner possible. If there is
a list/map warning in that vicinity, also use BindingMap.of() to get
rid of the warning.

Also a few obvious modernizer warnings are fixed, as it's easier
than add suppressions.

Change-Id: Ic4302fba6916dca8385633f1889e8e619fc281e4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove ByteBufUtils.readIpv4Address() 14/92714/5
Robert Varga [Fri, 25 Sep 2020 10:27:25 +0000 (12:27 +0200)]
Remove ByteBufUtils.readIpv4Address()

This method is not used anywhere and has a replacement in
readIetfIpv4Address(). Remove it.

Change-Id: Ia18f54b36e4974108cc65bf61207d320b4e7a134
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove ByteBufUtils.readIpv6Address() 13/92713/5
Robert Varga [Fri, 25 Sep 2020 10:22:33 +0000 (12:22 +0200)]
Remove ByteBufUtils.readIpv6Address()

This method is not used anywhere, with readIetfIpv6Address() being
its replacement. Remove it along with
EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES.

Change-Id: Icc33beb47c4212f3fc187a39fc84cea74931c2dd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove ByteBufUtil.macAddressToString() 12/92712/5
Robert Varga [Fri, 25 Sep 2020 10:19:00 +0000 (12:19 +0200)]
Remove ByteBufUtil.macAddressToString()

All users have been migrated, remove this method along with its
test.

Change-Id: Ic8f213320a3df34f2a28c456ac686a4b47e61901
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>