Merge changes Ic58ee772,Id447e440
authorDana Kutenicsova <dkutenic@cisco.com>
Tue, 21 Jan 2014 08:52:59 +0000 (08:52 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 21 Jan 2014 08:52:59 +0000 (08:52 +0000)
* changes:
  Add more info about state being processed
  Spell out termination points being created

bgp/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAdjRIBsIn.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractAdjRIBsIn.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java

index 9367998e1c6e1b1df5e0dc53e104f3a233a8bf94..8a6065a562a60c8a96e286aedf9df48751bbe3ce 100644 (file)
@@ -52,12 +52,13 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.base.Preconditions;
 
 final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination, LinkstateRoute> {
 
        private abstract static class LinkstateRIBEntryData<A extends LinkStateAttribute> extends
-                       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
+       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
                private final A lsattr;
 
                protected LinkstateRIBEntryData(final PathAttributes attributes, final A lsattr) {
@@ -82,6 +83,11 @@ final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination,
 
                        return builder.build();
                }
+
+               @Override
+               protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+                       return toStringHelper.add("lsattr", lsattr);
+               }
        }
 
        private static final Logger LOG = LoggerFactory.getLogger(LinkstateAdjRIBsIn.class);
@@ -110,6 +116,8 @@ final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination,
                LOG.debug("Iterating over route destinations {}", keys);
 
                for (final CLinkstateDestination key : keys.getCLinkstateDestination()) {
+                       LOG.debug("Processing route key {}", key);
+
                        LinkStateAttribute lsattr = null;
                        final PathAttributes1 pa = attributes.getAugmentation(PathAttributes1.class);
                        if (pa != null) {
index c44569297a576393f364d501adf75bd69880c649..700de8c2012352249057fe9f612b347aa62762ce 100644 (file)
@@ -33,6 +33,8 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Objects;
+import com.google.common.base.Objects.ToStringHelper;
 import com.google.common.base.Preconditions;
 
 @ThreadSafe
@@ -49,6 +51,15 @@ public abstract class AbstractAdjRIBsIn<I, D extends DataObject> implements AdjR
                }
 
                protected abstract D getDataObject(I key);
+
+               @Override
+               public final String toString() {
+                       return addToStringAttributes(Objects.toStringHelper(this)).toString();
+               }
+
+               protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+                       return toStringHelper.add("attributes", attributes);
+               }
        }
 
        /**
@@ -175,6 +186,8 @@ public abstract class AbstractAdjRIBsIn<I, D extends DataObject> implements AdjR
        protected abstract InstanceIdentifier<?> identifierForKey(final InstanceIdentifier<Tables> basePath, final I id);
 
        protected synchronized void add(final DataModificationTransaction trans, final Peer peer, final I id, final RIBEntryData<I, D> data) {
+               LOG.debug("Adding state {} for {} peer {}", data, id, peer);
+
                RIBEntry e = this.entries.get(Preconditions.checkNotNull(id));
                if (e == null) {
                        e = new RIBEntry(id);
index 73e6c978d4feff74b75708d711a68a2b90dce89f..9cd3fa0d16169e46074f3a62e6fb3a09e8c193ca 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.protocol.bgp.rib.RibReference;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.DomainName;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.Ipv4InterfaceIdentifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.Ipv6InterfaceIdentifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.NodeFlagBits;
@@ -322,8 +323,13 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
                lb.setSource(new SourceBuilder().setSourceNode(srcNode).setSourceTp(srcTp.getTpId()).build());
                lb.setDestination(new DestinationBuilder().setDestNode(dstNode).setDestTp(dstTp.getTpId()).build());
 
-               trans.putOperationalData(buildTpIdentifier(srcNode, srcTp.getKey()), srcTp);
-               trans.putOperationalData(buildTpIdentifier(dstNode, dstTp.getKey()), dstTp);
+               final InstanceIdentifier<TerminationPoint> stpId = buildTpIdentifier(srcNode, srcTp.getKey());
+               trans.putOperationalData(stpId, srcTp);
+               LOG.debug("Created TP {} at {} as link source", srcTp, stpId);
+
+               final InstanceIdentifier<TerminationPoint> dtpId = buildTpIdentifier(dstNode, dstTp.getKey());
+               trans.putOperationalData(dtpId, dstTp);
+               LOG.debug("Created TP {} at {} as link destination", dstTp, dtpId);
 
                final InstanceIdentifier<?> lid = buildLinkIdentifier(base, l);
                final Link link = lb.build();
@@ -502,7 +508,9 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
                                Attributes1.class).getAttributeType()).getPrefixAttributes();
 
                final PrefixBuilder pb = new PrefixBuilder();
-               pb.setPrefix(p.getIpReachabilityInformation());
+               final IpPrefix ippfx = p.getIpReachabilityInformation();
+               pb.setKey(new PrefixKey(ippfx));
+               pb.setPrefix(ippfx);
                if (pa != null) {
                        pb.setMetric(pa.getPrefixMetric().getValue());
                }