java.lang.NullPointerException: null
at org.onosproject.net.host.impl.HostManager$InternalHostProviderService.hostVanished(HostManager.java:573) ~[?:?]
at org.onosproject.provider.netcfghost.NetworkConfigHostProvider.removeHost(NetworkConfigHostProvider.java:189) ~[?:?]
at org.onosproject.provider.netcfghost.NetworkConfigHostProvider$InternalNetworkConfigListener.event(NetworkConfigHostProvider.java:274) ~[?:?]
at org.onosproject.provider.netcfghost.NetworkConfigHostProvider$InternalNetworkConfigListener.event(NetworkConfigHostProvider.java:222) ~[?:?]
at org.onosproject.event.ListenerRegistry.process(ListenerRegistry.java:66) [!/:?]
at org.onosproject.event.impl.CoreEventDispatcher$DispatchLoop.process(CoreEventDispatcher.java:198) [!/:?]
at org.onosproject.event.impl.CoreEventDispatcher$DispatchLoop.run(CoreEventDispatcher.java:180) [!/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Change-Id: If6e3978798d5fb11b3f5b1344b551b9f3cd3e51d
(cherry picked from commit 3a615560678cb83fa41f393fa59c346cdae659e2)
Additionally, fix similar issues in GUI2 and add initial
support for ports with name in GUI/GUI2.
This is also the first step towards supporting port with name widely in ONOS
Change-Id: Ib04f780bf0b7171e82a6beb69b39c0aaeb4be957
(cherry picked from commit 178046ba11ab21d94a1e818fb893931bb015734b)
This fixes also a potential leak of memory and thread
Change-Id: I266a37365cef3776463a1aca2c1e2717507b4f30
(cherry picked from commit 2c39deac5ae8ee150c8ed8d479470e3c7f31f7fc)
The submit() method of p4 WriteRequestImpl is returning an empty
response if there are no update messages. However, one of the reasons
for updates to be empty is the fact the catch block in
appendToRequestMsg is reached due to some invalid usage of the p4runtime
contract. In such situations, not only the user doesn't know why the
request is failing (absence of logging in ONOS) but the responseBuilder
which contains the failure is also not propagated. As a result, a future
call to P4RuntimeWriteClient.WriteResponse.isSuccess() will return
true (as if the request actually succeeded) and .all() will also not
contain the failedResponse appended during the CodecException. Added a
test to illustrate the issue.
Change-Id: I0acfd3b34b3ed1db2d91f91fed08f9d00800dda4
Currently ovsdb passive connections are broken. This happens because the
eventloop is never initialized. As a result, in connectRetry() (called
in connect()) the workerGroup is null and the connection to the switch
can't be established.
Change-Id: Ic20a3f699e49f119bd2ba6edb6eb8ad94ba09009
dp_desc represents the human readable description of a given datapath
and is provided by an OpenFlow switch when it connects to the controller
in the response to the OFPMP_DESC request. ONOS already has access to
this information when the OpenFlowSwitch object is constructed (accessed
via sw.datapathDescription()) but it does not save it or propagate it in
any way. dp_desc, unlike the dp_id which is "random", works like a switch
label. Accessing this information from the controller app layer is
important so that different business logic can be applied according to
the provided "marking". Thus, save the value into the Device Annotations
if available.
Change-Id: Ifaa715a0440e99ce31fdd8d4753c2e892385e33b
Changes in the GDP are done to make sure the default availability is always
updated through the two step process defined in the provider and to prevent
the disconnection of the devices when an instance rejoins the cluster
Finally, the patch improves logging inside the GossipDeviceStore and improve
the stability of PiPipeconfWatchdogManager by getting rid of the timer and
timer task and by executing the event listeners inside an executor.
Change-Id: Ibc6ce711e15e86bde05dbf3b1c37d2a93516fae3
ifacename is used as key when changing the admin state of
a port through GNMI. This patch guarantees that we use the
state contained in the device store to fill the gnmi blob.
This results to be necessary because the requests coming
from the north may be incomplete (without port name).
When this happens, PortNumber class fills the name with
the number which is wrong for the GNMI devices
Change-Id: I308538ae30cfe3fbf62d42c9a059114e8ff5b4b3
CircuitId deserialize use custom parsing instead of leveraging
the ConnectPoint class. Unfortunately, this custom parsing
does not parse correctly the portname.
Additionally, fix port number format for hostlocation and dhcprecords
and exclude Dhcp4HandlerImpl from file length checks
Change-Id: I360f26f8dd7de492cb65ad7af05fb85c8e940c33
(cherry picked from commit 61bd673eec2282aff175daff141059870db78c7d)
There is no guarantee that the HostProbingProvider is already
registered before setDelegate is called. This patch prevents
npe caused by events delivered before the provider is ready
Change-Id: I8612a3b156e342752d1ade9ee1d7d786ad53cc9e
(cherry picked from commit e84b2e8081ea40ff06eaa1b119c6e22cfcf9459d)
This is affecting also the gui which is not able to
recognize links as bidirectional
Change-Id: Ic93cd93efb82485daed4f1cdc6d9e2e6262e6d99
(cherry picked from commit e46c4acbdfd832f1f1c099086a49ae9d06a5411a)
In general an instance restart should not lead to the deactivate method. Unfortunately,
the bundle refresh is changing the cards on the table. Please note that destroy()
behavior is implementation dependent.
In this patch we have fixed bundles that can be potentially affected by the
bundle refresh issue. However, other fixes may be needed in future and the fixes
are use cases dependent: it depends when the bundle refresh issue is triggered
along the chain of the deps.
Change-Id: I7a45439f74b255d8d4b1cbdb89b6dec8adf00687
(cherry picked from commit 185cf87f0c37a1c187c1a115746b47607f4cd7aa)
Initialize the local cache before adding the map listener
to prevent npe which are caused by events delivered during
the bootstrap process of the EC map
Change-Id: I823c12ccaa633a11a10d5b5d5fa7250a078ff4c5
(cherry picked from commit ec0e942320ef27932b4173172055151015261d7c)
This patch updates fabric.p4 interpreter. Additionally, fixes also
the HostProbingProvider by adding a translation step also there.
Change-Id: I8d1f0f8b6827453e5bdc240ea902960f92ed7e14
- fixed long standing bug in DeviceDescription behaviour
- added a form of LinkDiscovery behaviour
- added PortAdmin and InternalConnectivity behaviours
- added a CLI command 'get-output-ports' to exploit the InternalConnectivity behaviour
- overloaded the loadXml method in drivers/utilities/XmlConfigParser class to allow suppression of comma delimitation within
XML tags
Change-Id: I042e5559cf358d969686a63da99e91371a085d83
- Code clean up (unused code, unuseful comments)
- Remove deprecated internal APIs
- Prevent the ejection of the meter pollers
- Prevent the ejection of the mf pollers
- Fix unproper filter of device events
- Fix delete on store which updated existing meters with dummy value
- Fix NPE in TofinoMeterProgrammable caused by default config
- Update unit tests
Change-Id: Ib2767e3ab3cf146693e61b7e1890419c9743d521
(cherry picked from commit a770879a950d1cc985db1a659da701551700e886)
If a component property as a multiline comment the app activation
will throw an exception and no property for that component would be initialized.
This patch address that in two ways:
- Make sure that if we cannot parse a line from cfgdef the other properties are enabled and logs a warn.
- Changes the onos-maven-plugin so that it removes new lines when generating the .cfgdef file
Bumping version as plugin is already published from onos-2.5 branch
Change-Id: I550c23624118782fe6d79c9abbaf75ae59ea0eab
This is achieved by implementing device specific methods to verify if
ONOS store meters and values read from the devices are similar
Change-Id: I95b6a2c728536f08b47ce9d0d30d1b8888a353d7
- Improve ONOS cli enabling CRUD of p4rt trtcm
- Improve ONOS rest enabling CRUD of p4rt trtcm
- Improve MeterService with scope defined reads and integrate in cli/rest
- Add support along the stack for BYTE_PER_SEC unit
- Add support along the stack for COMMITTED and PEAK bands
- Fix several bugs in ONOS cli/rest interfaces
- Improve REST codecs
- Fix NPE in MeterDriverProvider
- Improve PiMeterTransalation by enforcing trtcm config
- Implement explicit translation of the bands
- Fix ONOS reconciliation by removing from the mirror the wrong configs
- Remove unnecessary checks in MeterEntryCodec
- Update unit tests
It will follow a 2nd patch to complete SDFAB-527
Change-Id: I855235b17f60cb1d39f5b9a042c1015105a8a269
Support to inject controller IP address to API config.
Change-Id: Iece8a84b698ef0da9803f11d473257c84e5adc4d
(cherry picked from commit 6a08072a2c1c3094818268ebf22ffa82f9713125)
Additionally standardize the usage of the 64 bits carried in the metadata instruction.
Implements unit tests for different metadata configurations
Change-Id: I3382657c81876ec2eb0749f06f0fb9e96b2c0e6e
- Introduce a boolean to control the meter service modes
- User defined mode does not provide any coordination to the apps
- Only one mode can be active at time
- In addition some sanity checks are peformed by the meter service
- Update existing unit tests and add new ones to test the new behaviors
- Initial clean up of the meters subsystems
Change-Id: I61500b794f27e94abd11637c84bce0dbb2e073f3
According to fabric.p4, needs_qfi_push can only be present
when using load_pdr_qos, but not load_pdr.
Change-Id: I63b74762f56acc7e8a703a32ea368eb423ece41a
(cherry picked from commit 94015dee30b6d98e2658e6ff1ba557f5ad5010b5)