Showing
5 changed files
with
10 additions
and
29 deletions
| 1 | package org.onlab.onos.net; | 1 | package org.onlab.onos.net; |
| 2 | 2 | ||
| 3 | -import java.util.Objects; | ||
| 4 | - | ||
| 5 | /** | 3 | /** |
| 6 | * Representation of a network edge location where an end-station host is | 4 | * Representation of a network edge location where an end-station host is |
| 7 | * connected. | 5 | * connected. |
| 8 | */ | 6 | */ |
| 9 | public class HostLocation extends ConnectPoint { | 7 | public class HostLocation extends ConnectPoint { |
| 10 | 8 | ||
| 9 | + // Note that time is explicitly excluded from the notion of equality. | ||
| 11 | private final long time; | 10 | private final long time; |
| 12 | 11 | ||
| 13 | public HostLocation(DeviceId deviceId, PortNumber portNumber, long time) { | 12 | public HostLocation(DeviceId deviceId, PortNumber portNumber, long time) { |
| ... | @@ -25,18 +24,4 @@ public class HostLocation extends ConnectPoint { | ... | @@ -25,18 +24,4 @@ public class HostLocation extends ConnectPoint { |
| 25 | return time; | 24 | return time; |
| 26 | } | 25 | } |
| 27 | 26 | ||
| 28 | - @Override | ||
| 29 | - public int hashCode() { | ||
| 30 | - return 31 * super.hashCode() + Objects.hash(time); | ||
| 31 | - } | ||
| 32 | - | ||
| 33 | - @Override | ||
| 34 | - public boolean equals(Object obj) { | ||
| 35 | - if (obj instanceof HostLocation) { | ||
| 36 | - final HostLocation other = (HostLocation) obj; | ||
| 37 | - return super.equals(obj) && Objects.equals(this.time, other.time); | ||
| 38 | - } | ||
| 39 | - return false; | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | } | 27 | } | ... | ... |
| ... | @@ -43,7 +43,6 @@ public interface HostService { | ... | @@ -43,7 +43,6 @@ public interface HostService { |
| 43 | * @param vlanId vlan identifier | 43 | * @param vlanId vlan identifier |
| 44 | * @return set of hosts in the given vlan id | 44 | * @return set of hosts in the given vlan id |
| 45 | */ | 45 | */ |
| 46 | - // FIXME: change long to VLanId | ||
| 47 | Set<Host> getHostsByVlan(VlanId vlanId); | 46 | Set<Host> getHostsByVlan(VlanId vlanId); |
| 48 | 47 | ||
| 49 | /** | 48 | /** |
| ... | @@ -62,6 +61,8 @@ public interface HostService { | ... | @@ -62,6 +61,8 @@ public interface HostService { |
| 62 | */ | 61 | */ |
| 63 | Set<Host> getHostsByIp(IpAddress ip); | 62 | Set<Host> getHostsByIp(IpAddress ip); |
| 64 | 63 | ||
| 64 | + // TODO: consider adding Host getHostByIp(IpAddress ip, VlanId vlan); | ||
| 65 | + | ||
| 65 | /** | 66 | /** |
| 66 | * Returns the set of hosts whose most recent location is the specified | 67 | * Returns the set of hosts whose most recent location is the specified |
| 67 | * connection point. | 68 | * connection point. | ... | ... |
| ... | @@ -76,14 +76,14 @@ public class SimpleHostStore { | ... | @@ -76,14 +76,14 @@ public class SimpleHostStore { |
| 76 | HostDescription descr) { | 76 | HostDescription descr) { |
| 77 | DefaultHost updated; | 77 | DefaultHost updated; |
| 78 | HostEvent event; | 78 | HostEvent event; |
| 79 | - // Consider only actual location (not timestamp) change? | 79 | + if (!host.location().equals(descr.location())) { |
| 80 | - if (!(host.location().port().equals(descr.location().port()))) { | ||
| 81 | updated = new DefaultHost(providerId, host.id(), | 80 | updated = new DefaultHost(providerId, host.id(), |
| 82 | host.mac(), | 81 | host.mac(), |
| 83 | host.vlan(), | 82 | host.vlan(), |
| 84 | descr.location(), | 83 | descr.location(), |
| 85 | host.ipAddresses()); | 84 | host.ipAddresses()); |
| 86 | event = new HostEvent(HOST_MOVED, updated); | 85 | event = new HostEvent(HOST_MOVED, updated); |
| 86 | + | ||
| 87 | } else if (!(host.ipAddresses().equals(descr.ipAddresses()))) { | 87 | } else if (!(host.ipAddresses().equals(descr.ipAddresses()))) { |
| 88 | updated = new DefaultHost(providerId, host.id(), | 88 | updated = new DefaultHost(providerId, host.id(), |
| 89 | host.mac(), | 89 | host.mac(), |
| ... | @@ -134,7 +134,7 @@ public class SimpleHostStore { | ... | @@ -134,7 +134,7 @@ public class SimpleHostStore { |
| 134 | * @return iterable collection of all hosts | 134 | * @return iterable collection of all hosts |
| 135 | */ | 135 | */ |
| 136 | Iterable<Host> getHosts() { | 136 | Iterable<Host> getHosts() { |
| 137 | - return Collections.unmodifiableSet(new HashSet<Host>(hosts.values())); | 137 | + return Collections.unmodifiableSet(new HashSet<>(hosts.values())); |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | /** | 140 | /** |
| ... | @@ -154,7 +154,7 @@ public class SimpleHostStore { | ... | @@ -154,7 +154,7 @@ public class SimpleHostStore { |
| 154 | * @return set of hosts in the vlan | 154 | * @return set of hosts in the vlan |
| 155 | */ | 155 | */ |
| 156 | Set<Host> getHosts(VlanId vlanId) { | 156 | Set<Host> getHosts(VlanId vlanId) { |
| 157 | - Set<Host> vlanset = new HashSet<Host>(); | 157 | + Set<Host> vlanset = new HashSet<>(); |
| 158 | for (Host h : hosts.values()) { | 158 | for (Host h : hosts.values()) { |
| 159 | if (h.vlan().equals(vlanId)) { | 159 | if (h.vlan().equals(vlanId)) { |
| 160 | vlanset.add(h); | 160 | vlanset.add(h); | ... | ... |
| ... | @@ -12,7 +12,7 @@ export KARAF_LOG=$KARAF/data/log/karaf.log | ... | @@ -12,7 +12,7 @@ export KARAF_LOG=$KARAF/data/log/karaf.log |
| 12 | 12 | ||
| 13 | # Setup a path | 13 | # Setup a path |
| 14 | export PS=":" | 14 | export PS=":" |
| 15 | -export PATH="$PATH:$ONOS_ROOT/tools/dev;$ONOS_ROOT/tools/package" | 15 | +export PATH="$PATH:$ONOS_ROOT/tools/dev:$ONOS_ROOT/tools/package" |
| 16 | export PATH="$PATH:$MAVEN/bin:$KARAF/bin" | 16 | export PATH="$PATH:$MAVEN/bin:$KARAF/bin" |
| 17 | export PATH="$PATH:." | 17 | export PATH="$PATH:." |
| 18 | 18 | ... | ... |
| ... | @@ -29,18 +29,13 @@ cd $ONOS_STAGE | ... | @@ -29,18 +29,13 @@ cd $ONOS_STAGE |
| 29 | # Unroll the Apache Karaf bits and make the ONOS top-level directories. | 29 | # Unroll the Apache Karaf bits and make the ONOS top-level directories. |
| 30 | unzip $KARAF_ZIP | 30 | unzip $KARAF_ZIP |
| 31 | mkdir bin | 31 | mkdir bin |
| 32 | -mkdir lib | ||
| 33 | 32 | ||
| 34 | # Stage the ONOS admin scripts | 33 | # Stage the ONOS admin scripts |
| 35 | cp -r $ONOS_ROOT/tools/package/bin . | 34 | cp -r $ONOS_ROOT/tools/package/bin . |
| 36 | 35 | ||
| 37 | # Stage the ONOS bundles | 36 | # Stage the ONOS bundles |
| 38 | -mkdir -p lib/org/onlab | 37 | +mkdir -p system/org/onlab |
| 39 | -cp -r $M2_REPO/org/onlab lib/org | 38 | +cp -r $M2_REPO/org/onlab system/org/ |
| 40 | - | ||
| 41 | - | ||
| 42 | -# Patch the Apache Karaf distribution file to point to the lib as maven repo | ||
| 43 | -#perl -pi.old -e "s|^org.ops4j.pax.url.mvn.repositories= |org.ops4j.pax.url.mvn.repositories= \\\n file:../../lib, |" $ONOS_STAGE/$KARAF_DIST/etc/org.ops4j.pax.url.mvn.cfg | ||
| 44 | 39 | ||
| 45 | # Patch the Apache Karaf distribution file to add ONOS features repository | 40 | # Patch the Apache Karaf distribution file to add ONOS features repository |
| 46 | perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \ | 41 | perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \ | ... | ... |
-
Please register or login to post a comment