We can now enable features such as IPv6 via cfg command dynamically.
NOTE: We should remove unnecessary packet requests when app being deactivated
or modified once PacketService support the request revocation.
Change-Id: I7f239ce9db74456097675d03de99468db70a919f
NDP packets, especially NS/NA packets, are not resolved correctly in my previous commit #3377.
As a result, the IPv6 addresses of normal hosts are not recorded by HostLocationProvider.
Change-Id: Id44485902d9b593c2a8aa376e405f548774203d2
- Any files created in 2014 and modified in 2015 got a copyright of
2014-2015
- Used canonical form of 2014-2015 to be inclusive of extra years.
Some files had 2014,2015
Change-Id: If9a133618873e4000b8f10299bde7c870eb1fbd5
1. Link Discovery can be turned off completely via configuration
2. PacketService allows applications to hint at table_type when registering for packets
Change-Id: I89f0bbf84dce1b449db5af19868f83503c44f750
(IPv6 Neighbor Discovery related flow mods).
The default configuration is false (disabled).
This fixes ONOS-1146
The configurable parameters are:
tools/package/etc/org.onosproject.provider.host.impl.HostLocationProvider.cfg
- Enable host removal on port/device down events.
(NOTE: not IPv6 related, added for completeness)
hostRemovalEnabled = true
- Enable using IPv6 Neighbor Discovery by the Host Location Provider.
ipv6NeighborDiscovery = false
tools/package/etc/org.onosproject.proxyarp.ProxyArp.cfg
- Enable IPv6 Neighbor Discovery.
ipv6NeighborDiscovery = false
NOTE: The above IPv6-related configuration has drawbacks,
partially because of some PacketService-related side effects.
Currently, we don't support enabling ipv6NeighborDiscovery
in one of the configuration files, and disabling it in another.
Enabling ipv6NeighborDiscovery in one configuration file is
practically equivalent to enabling it in both places.
Change-Id: Ief558697d85c8dcffc8941c575d0bf7d1397d90d
by catching the appropriate exception.
Apparently, if a property is configured/enabled in file Foo.cfg, e.g.:
flowTimeout = 10
then the corresponding object/value in the Dictionary returned by
ComponentContext.getProperties()
has class type String.
However, if the property is commented-out, e.g.:
then the Dictionary still contains an entry for "flowTimeout", but
its class type is Integer.
Also, updated similar code elsewhere that was catching the generic
Exception with catching more specific exception(s).
Change-Id: I33ec348eb9efe3188e22cfc8cee2bb704948726d
This prevents us duplicating code in each of the apps and allows us to manage
packet requests better in the future.
Change-Id: I5656b2f0f3cecd3e42fe7b4a0a5ab7cb6582bb25
Catch BufferUnderflowExceptions that occur while trying to deserialzed
Ethernet packet, and account for the fact that packets may not have been
deserialized correctly when using InboundPackets.
Addresses ONOS-605.
Change-Id: Ia7191e62a339125c9c4d3fe0cf63f9c33eb74cb5
This fixes ONOS-540
NOTES:
* Currently, the flow rules are pushed by each module that needs to receive
the corresponding control packets:
- ARP: ProxyArpManager, HostLocationProvider
- LLDP and BDDP: LLDPLinkProvider
* Pushing the corresponding IPv6 rules for Neighbor Discovery is not done yet
* In the future, we might want to consider an explicit service to
subscribe for receiving particular control packets
Change-Id: I292ad11a2e48390624f381c278e55e5d0af93c6d
* Resolve ONOS-511
* Refactor: Move NDP-related classes into org.onlab.packet.ndp package
* Bugfix: payload is not properly set in testSerialize
Change-Id: Idb2dbfbd0297152c0e26ac2d5d5f8dba62824660
ONOS-511: Implement NeighborSolicitation
Change-Id: I9aaf35d499cfc7885c74f9c4bf281210ef9f3969
ONOS-507: Trace NeighborSolicitation/NeighborAdvertisement/IPv6 packets in HostLocationProvider
* Complete Javadoc of IPv6, ICMP6, NeighborAdvertisement and NeighborSolicitation
- The Javadoc for serialize() is removed since the one in its superclass just works fine.
* Change 'diffServ' in IPv6 to 'trafficClass' to meet the field name in RFC.
- The setter method, getter method and unit test are also updated accordingly.
* Add IpAddress.isZero() to determine if this address is zero.
- The unit test is also updated accordingly.
* Fix misuse of IpAddress.valueOf(int) in HostLocationProvider
Change-Id: Id0d873aeb1bc61bf26d4964e7aab4bb06ccd0a38
- For some of the methods, the IP Version needs to be specified by the
caller. This applies to the IpPrefix API as well.
- For now, everywhere IpAddress is used and the IP version has to be
explicitly specified by the caller, we assume/specify IPv4.
- Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
and cleanup related code:
- Host.ipAddresses()
- DefaultHost.ipAddresses()
- HostDescription.ipAddress()
- DefaultHostDescription.ipAddress()
- HostService.getHostsByIp()
- HostManager.getHostsByIp()
- HostStore.getHosts()
- GossipHostStore.getHosts()
- SimpleHostStore.getHosts()
- ProxyArpService.known()
- ProxyArpManager.known()
As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".
Also, the following REST calls might be affected as well with
the above format replacement:
- REST POST: config/topology
- REST GET: topology/graph