Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach in OpenDaylight. Will post more details in a blog entry at http://networkstatic.net as soon as time permits for those looking for more information.
Cheers,
-Brent
3. ### OpenFlowJava OXM/NXMs ###!
!
!
openflowjava/openflow-protocol-api/src/main/yang/openflow-extensible-
match.yang
identity foo_dest {
base match-field;
description "Field for Foo";
}
4. One Example of Extension Rational
!
ovs-ofctl add-flow -O OpenFlow13 br-int
"table=16,priority=16100,tcp,tp_dst=22,tun_id=0x5,in_port=10
actions=goto_table:20"
ovs-ofctl add-flow -O OpenFlow13 br-int
"table=16,priority=16200,tcp,tp_src=22,tun_id=0x5,in_port=10
actions=goto_table:20"
• The OpenFlow Spec still today favors reactive packet processing.
• OVS is the defacto OSS software model. Rough consensus and running code.
• Access-Lists with OFv1.3 Doesn't Scale N^2 and worse
• Reading TCP State Enables Basic Filtering
5. Other Extension Enablements
• ARP Responders. REG(n) - Copy headers from one
field to another.
• Tunnel IPv4/6 Endpoint Source/Destination.
• Recirc to avoid unnecessarily large flow tables.
• Functionality required if we want to come close to
OpenStack Neutron feature parity.
• Take advantage of OSS innovation, rather then
OpenFlow HW standards bodies.
6. OF OXM/NXM Constants
public abstract class OxmMatchConstants {
/** OXM Clazz */
/** Backward compatibility with NXM */
public static final int NXM_0_CLASS = 0x0000;
/** Backward compatibility with NXM */
public static final int NXM_1_CLASS = 0x0001;
/** Basic class for OpenFlow */
public static final int OPENFLOW_BASIC_CLASS = 0x8000;
/** Experimenter class */
public static final int EXPERIMENTER_CLASS = 0xFFFF;
!
/** OPENFLOW_BASIC_CLASS Constant Values */
public static final int ICMPV6_TYPE = 29;
/** ICMPv6 code. */
public static final int ICMPV6_CODE = 30;
/** Target address for ND. */
public static final int IPV6_ND_TARGET = 31;
/** Source link-layer for ND. */
public static final int IPV6_ND_SLL = 32;
!
/** NXM_1_CLASS Constant Values */
/** NXM IPv4 Tunnel Source */
public static final int NXM_NX_TUN_IPV4_SRC = 31;
/** NXM IPv4 Tunnel Destination */
public static final int NXM_NX_TUN_IPV4_DST = 32;
/** NXM TCP_Flag reads */
public static final int NXM_NX_TCP_FLAG = 34;
11. Define the Data Type in the Yang Model
// openflowjava - openflow-augments.yang
augment "/oxm:oxm-container/oxm:match-entries" {
ext:augment-identifier "tcp-flag-match-entry";
leaf tcp-flag {
type uint16;
}
}
// openflowjava - openflow-extensible-match.yang
identity tcp_flag {
base match-field;
description "NXM field for NXM_NX_TUN_IPV4_SRC";
}
12. Binding Inheritance
package org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
import org.opendaylight.yangtools.yang.common.QName;
/**
NXM field for NXM_NX_TUN_IPV4_SRC
**/
public abstract class TcpFlag extends MatchField
{
public static final QName QNAME = org.opendaylight.yangtools.yang.common.QName.create
("urn:opendaylight:openflow:oxm","2013-07-31","tcp_flag");
public TcpFlag() {
}
}
package org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731;
import org.opendaylight.yangtools.yang.binding.BaseIdentity;
import org.opendaylight.yangtools.yang.common.QName;
/**
Base identity for OXM Fields
**/
public abstract class MatchField extends BaseIdentity
{
public static final QName QNAME = org.opendaylight.yangtools.yang.common.QName.create
("urn:opendaylight:openflow:oxm","2013-07-31","match-field");
public MatchField() {
}
}
package org.opendaylight.yangtools.yang.binding;
!
public abstract class BaseIdentity {
public static final org.opendaylight.yangtools.yang.binding.BaseIdentity INSTANCE;
protected BaseIdentity() { /* compiled code */ }
}
13. Match Initializer
public static void registerMatchEntrySerializers(SerializerRegistry serializerRegistry) {
// register OF v1.3 OpenflowBasicClass match entry serializers
Class<OpenflowBasicClass> oxmClass = OpenflowBasicClass.class;
OF13MatchEntriesRegistryHelper<OpenflowBasicClass> registryHelper =
new OF13MatchEntriesRegistryHelper<>(EncodeConstants.OF13_VERSION_ID, oxmClass, serializerRegistry);
registryHelper.registerSerializer(InPort.class, new OxmInPortSerializer());
registryHelper.registerSerializer(InPhyPort.class, new OxmInPhyPortSerializer());
!
// register OF v1.3 NXM1Class match entry serializer
Class<Nxm1Class> nxm1Class = Nxm1Class.class;
OF13MatchEntriesRegistryHelper<Nxm1Class> nxm1RegistryHelper =
new OF13MatchEntriesRegistryHelper<>(EncodeConstants.OF13_VERSION_ID, nxm1Class, serializerRegistry);
nxm1RegistryHelper.registerSerializer(TcpFlag.class, new NxmTcpFlagSerializer());
}
14. OXM Serializer
public class NxmTcpFlagSerializer extends AbstractOxmMatchEntrySerializer {
@Override
public void serialize(MatchEntries entry, ByteBuf outBuffer) {
super.serialize(entry, outBuffer);
outBuffer.writeShort(entry.getAugmentation(TcpFlagMatchEntry.class).getTcpFlag().shortValue());
writeMask(entry, outBuffer, getValueLength());
}
@Override
protected int getOxmClassCode() {
return OxmMatchConstants.NXM_1_CLASS;
}
@Override
protected int getOxmFieldCode() {
return OxmMatchConstants.NXM_NX_TCP_FLAG;
}
@Override
protected int getValueLength() {
return EncodeConstants.SIZE_OF_SHORT_IN_BYTES;
}
}
15. Connecting Low-Level and High Level Models!
• Statically defined conversions do NOT get destroyed when a model deprecates fields.
• OpenflowPlugin Yang File Match_Types use hyphens ("-") while Table_Types use underscores ("_").
• When testing it might help to name things uniquely so it is obvious if you build the wrong directory and all of your classes and pojos have
now refactored themselves into something else. Being able to spot that is the difference between t-shooting for 15 minutes vs. 4 hours.
• Conversion is pretty easy to follow the patterns. Heavily typed in each project.
• Recommend unique naming between low/high level models to avoid human error.
• Lots of boiler plate code that could use some abstraction.
• TODO: Create generic interfaces for the user that has constructors for common values/routines.
• Augment to include JSON models which would is more native to developers then networking specific Yang.
• Higher order models should contain higher order constructs rather then primitives such as uint16, uint32 etc, or at least some enums.
• Logging needs to be sanitized. Current logging adds confusion if they are not proficient in the Yangtools implementation.
• Yangtools is YangCore. Add the ability to augment from a given project, as opposed to only upstream in the MD_SAL.
else if (currMatchType.equals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TcpFlag.class)) {!
setMatchEntry(matchEntryBuilder,
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpFlag.class, currMatch.isHasMask());!
}
else if (currMatchType!
.equals(TcpFlag.class)) {!
setMatchEntry(matchEntryBuilder, TcpFlag.class, currMatch.isHasMask());!
}
.equals
Openflowjava Openflowplugin Controller
20. Test-Provider-Service (openflowplugin)
• Start Here!!
• Following along if you have not used this service yet, it is likely the most
valuable component for the user for educating, testing and validation.
!
$ git clone https://git.opendaylight.org/gerrit/openflowplugin.git
$ cd openflowplugin/distribution/base/
$ mvn clean install -DskipTests
$ cd target/distributions-openflowplugin-base-0.0.3-SNAPSHOT-osgipackage/
opendaylight/
$ ./run.sh
21. MatchBuilder && ActionBuilder
private static MatchBuilder createVlanMatch() {
MatchBuilder match = new MatchBuilder();
VlanMatchBuilder vlanBuilder = new VlanMatchBuilder(); // vlan match
VlanIdBuilder vlanIdBuilder = new VlanIdBuilder();
VlanId vlanId = new VlanId(10);
VlanPcp vpcp = new VlanPcp((short) 3);
vlanBuilder.setVlanPcp(vpcp);
vlanIdBuilder.setVlanId(vlanId);
vlanIdBuilder.setVlanIdPresent(true);
vlanBuilder.setVlanId(vlanIdBuilder.build());
match.setVlanMatch(vlanBuilder.build());
return match;
}
!
!
private static InstructionsBuilder createGotoTableInstructions() {
!
GoToTableBuilder aab = new GoToTableBuilder();
aab.setTableId((short) 2);
!
InstructionBuilder ib = new InstructionBuilder();
ib.setInstruction(new GoToTableCaseBuilder().setGoToTable(aab.build()).build());
!
// Put our Instruction in a list of Instructions
InstructionsBuilder isb = new InstructionsBuilder();
List<Instruction> instructions = new ArrayList<Instruction>();
instructions.add(ib.build());
isb.setInstruction(instructions);
return isb;
}
22. OpenflowpluginTestCommandProvider
case "f48":
id += 48;
flow.setMatch(createTunnelIDMatch().build());
flow.setInstructions(createGotoTableInstructions().build());
break;
case "f49":
id += 49;
flow.setMatch(createVlanMatch().build());
flow.setInstructions(createMeterInstructions().build());
break;
Run the above block of code from the OSGI console:
osgi> addMDFlow foo:node:1 f49
Or attach an OVS node and use its DPID (printNodes for DPID):
osgi> addMDFlow openflow:213570950745421 f13
25. Can be run against a real datapath also
vi /usr/share/openvswitch/scripts/ovs-ctl!
!
# Start ovs-vswitchd.
set ovs-vswitchd unix:"$DB_SOCK"
set "$@" -vconsole:emer -vsyslog:dbg -vfile:dbg
if test X"$MLOCKALL" != Xno; then
set "$@" --mlockall
2014-05-15T23:27:21.927Z|08067|poll_loop|DBG|wakeup due to 0-ms timeout at ofproto/ofproto-dpif.c:1595 (0% CPU usage)
2014-05-15T23:27:21.934Z|08068|poll_loop|DBG|wakeup due to [POLLIN] on fd 34 (192.168.1.49:60967<->192.168.1.47:6633) at lib/stream-fd.c:124 (0% CPU usage)
2014-05-15T23:27:21.934Z|08069|vconn|DBG|tcp:192.168.1.47:6633: received: OFPT_BARRIER_REQUEST (OF1.3) (xid=0x175):
2014-05-15T23:27:21.934Z|08070|vconn|DBG|tcp:192.168.1.47:6633: sent (Success): OFPT_BARRIER_REPLY (OF1.3) (xid=0x175):
2014-05-15T23:27:21.936Z|08071|poll_loop|DBG|wakeup due to [POLLIN] on fd 34 (192.168.1.49:60967<->192.168.1.47:6633) at lib/stream-fd.c:124 (0% CPU usage)
2014-05-15T23:27:21.936Z|08072|vconn|DBG|tcp:192.168.1.47:6633: received: OFPST_FLOW request (OF1.3) (xid=0x174): table=10
tun_id=0x582,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00!
2014-05-15T23:27:21.936Z|08073|vconn|DBG|tcp:192.168.1.47:6633: sent (Success): OFPST_FLOW reply (OF1.3) (xid=0x174):
2014-05-15T23:27:21.937Z|08074|poll_loop|DBG|wakeup due to [POLLIN] on fd 34 (192.168.1.49:60967<->192.168.1.47:6633) at lib/stream-fd.c:124 (0% CPU usage)
2014-05-15T23:27:21.937Z|08075|vconn|DBG|tcp:192.168.1.47:6633: received: OFPT_FLOW_MOD (OF1.3) (xid=0x176): ADD table:10
priority=16384,tun_id=0x582,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 send_flow_rem actions=output:2,goto_table:20
26. When TestOpenFlowProvider Breaks
osgi> printNodes
Nodes connected to this controller :
[MD_SAL|openflow:112583260431181]
osgi> addMDFlow openflow:112583260431181 f45
$ addMDFlow openflow:12345678910 f86
osgi> gogo: InvocationTargetException: null
===========================================
Rebuild Controller! not just opendaylight/md-sal/model/
$ cd controller/
$ mvn clean install
!
### For Netty ByteBuff Debugging ###
setLogLevel org.opendaylight.openflowjava.protocol.impl.core DEBUG
!
!
!
27. Debugging FlowMods in OVS
$ vi /usr/share/openvswitch/scripts/ovs-ctl!
!
# Start ovs-vswitchd.
set ovs-vswitchd unix:"$DB_SOCK"
set "$@" -vconsole:emer -vsyslog:dbg -vfile:dbg
if test X"$MLOCKALL" != Xno; then
set "$@" --mlockall
!
alias ologs="tail -n 300 /var/log/openvswitch/ovs-vswitchd.log"
alias ologs="tail -n 300 /var/log/openvswitch/ovs-vswitchd.log"
alias ologf="tail -f /var/log/openvswitch/ovs-vswitchd.log"
alias ologd='echo > /var/log/openvswitch/ovs-vswitchd.log'
alias ologm='grep -A 20 -B 20 OFPT_FLOW_MOD /var/log/openvswitch/ovs-
vswitchd.log'
alias ologd='echo > /var/log/openvswitch/ovs-vswitchd.log'
alias ologm='grep -A 20 -B 20 OFPT_FLOW_MOD /var/log/openvswitch/ovs-
vswitchd.log'
alias ologd='echo > /var/log/openvswitch/ovs-vswitchd.log'
setLogLevel org.opendaylight.openflowjava.protocol.impl.core DEBUG
However, best bet is to use OVS debugging logs.
28. When You Cant Get Anything to Work Anymore
$ rm -r ~/.m2/repository/org/opendaylight/openflowplugin/
$ rm -r ~/.m2/repository/org/opendaylight/openflowjava/
$ rm -r ~/.m2/repository/org/opendaylight/controller/model/
$ rm -r ~/.m2/repository/org/opendaylight/controller/md/
29. If a binding is missing.!
• If an auto-generated class/POJO is missing, all projects (ofjava/ofplug/controller)
will compile but fail on Bind attempts.
• More compile time tests and updated aliases to remove -Dskiptests
30. OSGI Logging
• If we truly want community adoption, then prior to Helium,
please lets focus on OSGI logs generated by MD_SAL.
• As a consumer of the MD_SAL it is easily the most frustrating
aspect and the most time consuming aspect.
31. How Does Inventory Work?
java.lang.NullPointerException: List node (urn:opendaylight:flow:inventory?revision=2013-08-19)action MUST contain leaf (urn:opendaylight:flow:inventory?revision=2013-08-19)order with value.
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:235) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$ListItemNormalization.createBuilder(DataNormalizationOperation.java:280) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:167) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:196) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:193) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:196) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:193) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:196) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:193) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizationOperation$CompositeNodeNormalizationOperation.normalize(DataNormalizationOperation.java:196) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toNormalized(DataNormalizer.java:115) ~[na:na]
at org.opendaylight.controller.md.sal.common.impl.util.compat.DataNormalizer.toNormalized(DataNormalizer.java:76) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:86) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:78) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedTransaction.doMergeWithEnsureParents(AbstractForwardedTransaction.java:123) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker
$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:226) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker
$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:195) ~[na:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.writeFlow(OF13ProviderManager.java:1551) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.handleLocalInPort(OF13ProviderManager.java:1039) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.programLocalBridgeRules(OF13ProviderManager.java:309) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.programLocalRules(OF13ProviderManager.java:551) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.handleInterfaceUpdate(OF13ProviderManager.java:756) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.triggerInterfaceUpdates(OF13ProviderManager.java:784) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.provider.OF13ProviderManager.initializeOFFlowRules(OF13ProviderManager.java:2502) [bundlefile:na]
at org.opendaylight.ovsdb.neutron.SouthboundHandler.notifyNode(SouthboundHandler.java:313) [bundlefile:na]
at org.opendaylight.controller.switchmanager.internal.SwitchManager.notifyNode(SwitchManager.java:1814) [bundlefile:na]
at org.opendaylight.controller.switchmanager.internal.SwitchManager.addNode(SwitchManager.java:1036) [bundlefile:na]
at org.opendaylight.controller.switchmanager.internal.SwitchManager.updateNode(SwitchManager.java:1137) [bundlefile:na]
at org.opendaylight.controller.sal.implementation.internal.Inventory.updateNode(Inventory.java:115) [bundlefile:na]
at org.opendaylight.controller.sal.compatibility.InventoryAndReadAdapter.publishNodeUpdate(InventoryAndReadAdapter.java:1039) [bundlefile:na]
at org.opendaylight.controller.sal.compatibility.InventoryAndReadAdapter.onNodeUpdated(InventoryAndReadAdapter.java:635) [bundlefile:na]
at org.opendaylight.controller.sal.compatibility.InventoryAndReadAdapter$$Broker$ListenerInvoker.onNotification(InventoryAndReadAdapter$$Broker
!2014-05-18 03:23:35.683 EDT [nioEventLoopGroup-11-5] INFO o.o.o.p.i.c.PublishingChannelInitializer - Incoming connection accepted - building pipeline
2014-05-18 03:23:35.771 EDT [nioEventLoopGroup-11-5] INFO o.o.o.p.i.c.ConnectionAdapterImpl - Hello received / branch
2014-05-18 03:23:35.910 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/
(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:231835414490694}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)description
2014-05-18 03:23:35.913 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/
(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:231835414490694}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware
2014-05-18 03:23:35.914 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/
(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:231835414490694}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer
2014-05-18 03:23:35.914 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/
(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:231835414490694}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number
2014-05-18 03:23:35.914 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/
(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:231835414490694}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)software
32. Ports and Topology
Pys vs. vPort?
[_value=openflow:187231598612550:2]
[_value=openflow:DPID:Port]
33. Mapping Errors to Models
java.lang.NullPointerException: List node
(urn:opendaylight:flow:inventory?revision=2013-08-19)action MUST contain leaf
(urn:opendaylight:flow:inventory?revision=2013-08-19)order with value.
35. And Warcraft?? Seriously.. Wtf..
The only Yang related tool I found was for Sublime
Yang !
Modeling
Tools
36. !!2014-05-18 23:13:03.850 EDT [nioEventLoopGroup-10-3] INFO o.o.o.p.i.c.PublishingChannelInitializer - Incoming connection from (remote address): /172.16.86.128:54226 --> :6633
2014-05-18 23:13:03.852 EDT [nioEventLoopGroup-10-3] INFO o.o.o.p.i.c.PublishingChannelInitializer - Incoming connection accepted - building pipeline
2014-05-18 23:13:03.860 EDT [nioEventLoopGroup-10-3] INFO o.o.o.p.i.c.ConnectionAdapterImpl - Hello received / branch
2014-05-18 23:13:03.886 EDT [md-sal-binding-notification-99] INFO o.o.o.n.provider.OF13ProviderManager - Compare openflowNode to OVS br-int node openflow:249065639468610 vs 249065639468610
2014-05-18 23:13:03.890 EDT [md-sal-binding-notification-101] INFO o.o.c.m.s.manager.StatisticsProvider - Attempted to get non-existing handler for Uri [_value=openflow:249065639468610]
2014-05-18 23:13:03.895 EDT [pool-14-thread-2] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)description
2014-05-18 23:13:03.896 EDT [pool-14-thread-2] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)hardware
2014-05-18 23:13:03.896 EDT [pool-14-thread-2] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer
2014-05-18 23:13:03.896 EDT [pool-14-thread-2] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number
2014-05-18 23:13:03.896 EDT [pool-14-thread-2] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)software
2014-05-18 23:13:03.898 EDT [md-sal-binding-notification-99] INFO o.o.o.n.provider.OF13ProviderManager - Transaction Status COMMITED for Flow LLDP
2014-05-18 23:13:03.898 EDT [md-sal-binding-notification-99] INFO o.o.o.n.provider.OF13ProviderManager - Trigger Interface update for Interface [name=br-int, options={}, type=, ofport=[65534], mac=[], statistics={tx_errors=0, collisions=0, tx_bytes=0, rx_crc_err=0, rx_dropped=0, tx_packets=0, rx_packets=0, rx_over_err=0, tx_dropped=0, rx_frame_err=0, rx_errors=0, rx_bytes=0}, status={driver_name=openvswitch}, other_config={}, external_ids={}]
2014-05-18 23:13:03.898 EDT [md-sal-binding-notification-99] INFO o.o.o.n.provider.OF13ProviderManager - Compare openflowNode to OVS br-int node openflow:249065639468610 vs 279770740358729
2014-05-18 23:13:03.907 EDT [pool-18-thread-1] INFO o.o.o.n.provider.OF13ProviderManager - Transaction Status COMMITED for Flow LLDP
2014-05-18 23:13:03.907 EDT [pool-18-thread-1] INFO o.o.o.n.provider.OF13ProviderManager - Trigger Interface update for Interface [name=br-int, options={}, type=, ofport=[65534], mac=[], statistics={tx_errors=0, collisions=0, tx_bytes=0, rx_crc_err=0, rx_dropped=0, tx_packets=0, rx_packets=0, rx_over_err=0, tx_dropped=0, rx_frame_err=0, rx_errors=0, rx_bytes=0}, status={driver_name=openvswitch}, other_config={}, external_ids={}]
2014-05-18 23:13:05.010 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics
2014-05-18 23:13:05.011 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.BindingToNormalizedNodeCodec - Failed to deserialize (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}=ImmutableAugmentationNode{nodeIdentifier=AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)flags,
value=[SEND_FLOW_REM], attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)idle-timeout, value=0, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)byte-count, value=0, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)cookie, value=0, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)hard-timeout, value=0, attributes={}}, ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)match,
value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)type, value=35020, attributes={}}], attributes={}}], attributes={}}], attributes={}}, ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)duration, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)nanosecond, value=989000000, attributes={}},
ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)second, value=0, attributes={}}], attributes={}}, ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instructions, value=[ImmutableMapNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction, value=[ImmutableMapEntryNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}], value=[ImmutableChoiceNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction,
value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)apply-actions, value=[ImmutableMapNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action, value=[ImmutableMapEntryNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}], value=[ImmutableChoiceNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)output-action, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?
revision=2013-08-19)output-node-connector, value=4294967293, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)max-length, value=0, attributes={}}], attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)order, value=0, attributes={}}], attributes={}}]}], attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)order, value=0, attributes={}}], attributes={}}]}], attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)packet-count, value=0, attributes={}},
ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)priority, value=32768, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)table_id, value=0, attributes={}}], attributes={}}]} to Binding format. Binding path is: KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:249065639468610]]],
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=0]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri [_value=LLDP]]]]}
2014-05-18 23:13:05.012 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?
revision=2013-08-19)match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type
2014-05-18 23:13:05.013 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type,
value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)type, value=35020, attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Entry deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:147) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:183) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:132) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:233) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:183) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getCreatedOperationalData(LegacyDataChangeEvent.java:108) [bundlefile:na]
at org.opendaylight.controller.md.statistics.manager.FlowCapableTracker.onDataChanged(FlowCapableTracker.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Caused by: java.lang.IllegalStateException: Failed to lookup instantiated type for path SchemaPath [path=[(urn:opendaylight:inventory?revision=2013-08-19)nodes, (urn:opendaylight:inventory?revision=2013-08-19)node, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)flow, (urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics], absolute=true]
at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:208) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
... 16 common frames omitted
2014-05-18 23:13:05.014 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?
revision=2013-08-19)instructions/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)apply-actions/(urn:opendaylight:flow:statistics?revision=2013-08-19)action[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)output-action
2014-05-18 23:13:05.014 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)instructions/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}]/(urn:opendaylight:flow:statistics?
revision=2013-08-19)instruction/(urn:opendaylight:flow:statistics?revision=2013-08-19)apply-actions/(urn:opendaylight:flow:statistics?revision=2013-08-19)action/(urn:opendaylight:flow:statistics?revision=2013-08-19)action[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)action/(urn:opendaylight:flow:statistics?revision=2013-08-19)output-action=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)output-action, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)output-node-connector, value=4294967293, attributes={}},
ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)max-length, value=0, attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Entry deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:147) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:183) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:132) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:233) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:183) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getCreatedOperationalData(LegacyDataChangeEvent.java:108) [bundlefile:na]
at org.opendaylight.controller.md.statistics.manager.FlowCapableTracker.onDataChanged(FlowCapableTracker.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Caused by: java.lang.IllegalStateException: Failed to lookup instantiated type for path SchemaPath [path=[(urn:opendaylight:inventory?revision=2013-08-19)nodes, (urn:opendaylight:inventory?revision=2013-08-19)node, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)flow, (urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics], absolute=true]
at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:208) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
... 16 common frames omitted
2014-05-18 23:13:05.015 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?
revision=2013-08-19)instructions/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}]
2014-05-18 23:13:05.016 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)instructions/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction/(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?
revision=2013-08-19)order=0}]=ImmutableMapEntryNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction[{(urn:opendaylight:flow:statistics?revision=2013-08-19)order=0}], value=[ImmutableChoiceNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)instruction, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)apply-actions, value=[ImmutableMapNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action, value=[ImmutableMapEntryNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action[{(urn:opendaylight:flow:statistics?
revision=2013-08-19)order=0}], value=[ImmutableChoiceNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)action, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)output-action, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)output-node-connector, value=4294967293, attributes={}}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)max-length, value=0, attributes={}}], attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)order, value=0, attributes={}}], attributes={}}]}],
attributes={}}]}, ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)order, value=0, attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Entry deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:147) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:183) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:132) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:233) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:183) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getCreatedOperationalData(LegacyDataChangeEvent.java:108) [bundlefile:na]
at org.opendaylight.controller.md.statistics.manager.FlowCapableTracker.onDataChanged(FlowCapableTracker.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Caused by: java.lang.IllegalStateException: Failed to lookup instantiated type for path SchemaPath [path=[(urn:opendaylight:inventory?revision=2013-08-19)nodes, (urn:opendaylight:inventory?revision=2013-08-19)node, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)flow, (urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics], absolute=true]
at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:208) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
... 16 common frames omitted
2014-05-18 23:13:05.016 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?
revision=2013-08-19)match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match
2014-05-18 23:13:05.017 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)match/(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match,
value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)type, value=35020, attributes={}}], attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Entry deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:147) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:183) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:132) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:233) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:183) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getCreatedOperationalData(LegacyDataChangeEvent.java:108) [bundlefile:na]
at org.opendaylight.controller.md.statistics.manager.FlowCapableTracker.onDataChanged(FlowCapableTracker.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Caused by: java.lang.IllegalStateException: Failed to lookup instantiated type for path SchemaPath [path=[(urn:opendaylight:inventory?revision=2013-08-19)nodes, (urn:opendaylight:inventory?revision=2013-08-19)node, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)flow, (urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics], absolute=true]
at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:208) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
... 16 common frames omitted
2014-05-18 23:13:05.018 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)match
2014-05-18 23:13:05.019 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)match=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)match, value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-match,
value=[ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)ethernet-type, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)type, value=35020, attributes={}}], attributes={}}], attributes={}}], attributes={}}, omitting it
org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException: Entry deserialization failed
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:332) ~[bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.binding.impl.RuntimeMappingModule$RuntimeGeneratedMappingServiceProxy.fromDataDom(RuntimeMappingModule.java:147) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBindingImpl(BindingToNormalizedNodeCodec.java:183) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:132) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:233) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:99) ~[bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:183) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.LegacyDataChangeEvent$OperationalChangeEvent.getCreatedOperationalData(LegacyDataChangeEvent.java:108) [bundlefile:na]
at org.opendaylight.controller.md.statistics.manager.FlowCapableTracker.onDataChanged(FlowCapableTracker.java:93) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$BackwardsCompatibleOperationalDataChangeInvoker.onDataChanged(ForwardedBackwardsCompatibleDataBroker.java:434) [bundlefile:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:158) [bundlefile:na]
at org.opendaylight.controller.md.sal.dom.store.impl.ChangeListenerNotifyTask.run(ChangeListenerNotifyTask.java:33) [bundlefile:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
Caused by: java.lang.IllegalStateException: Failed to lookup instantiated type for path SchemaPath [path=[(urn:opendaylight:inventory?revision=2013-08-19)nodes, (urn:opendaylight:inventory?revision=2013-08-19)node, (urn:opendaylight:flow:inventory?revision=2013-08-19)table, (urn:opendaylight:flow:inventory?revision=2013-08-19)flow, (urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics], absolute=true]
at com.google.common.base.Preconditions.checkState(Preconditions.java:176) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.LazyGeneratedCodecRegistry.getClassForPath(LazyGeneratedCodecRegistry.java:208) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl._deserializePathArgument(InstanceIdentifierCodecImpl.java:94) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserializePathArgument(InstanceIdentifierCodecImpl.java:193) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.InstanceIdentifierCodecImpl.deserialize(InstanceIdentifierCodecImpl.java:66) ~[bundlefile:na]
at org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl.fromDataDom(RuntimeGeneratedMappingServiceImpl.java:329) ~[bundlefile:na]
... 16 common frames omitted
2014-05-18 23:13:05.020 EDT [pool-14-thread-1] WARN o.o.y.s.b.g.i.RuntimeGeneratedMappingServiceImpl - Failed to deserialize entry (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?
revision=2013-08-19)duration
2014-05-18 23:13:05.021 EDT [pool-14-thread-1] WARN o.o.c.m.s.b.i.AbstractForwardedDataBroker - Failed to transform (urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node/(urn:opendaylight:inventory?revision=2013-08-19)node[{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:249065639468610}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:inventory?revision=2013-08-19)description, (urn:opendaylight:flow:inventory?revision=2013-08-19)group, (urn:opendaylight:flow:inventory?revision=2013-08-19)hardware, (urn:opendaylight:flow:inventory?revision=2013-08-19)manufacturer, (urn:opendaylight:flow:inventory?
revision=2013-08-19)meter, (urn:opendaylight:flow:inventory?revision=2013-08-19)serial-number, (urn:opendaylight:flow:inventory?revision=2013-08-19)software, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-actions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-instructions, (urn:opendaylight:flow:inventory?revision=2013-08-19)supported-match-types, (urn:opendaylight:flow:inventory?revision=2013-08-19)switch-features, (urn:opendaylight:flow:inventory?revision=2013-08-19)table]}/(urn:opendaylight:flow:inventory?revision=2013-08-19)table/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[{(urn:opendaylight:flow:inventory?
revision=2013-08-19)id=0}]/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow/(urn:opendaylight:flow:inventory?revision=2013-08-19)flow[{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=LLDP}]/AugmentationIdentifier{childNames=[(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics]}/(urn:opendaylight:flow:statistics?revision=2013-08-19)flow-statistics/(urn:opendaylight:flow:statistics?revision=2013-08-19)duration=ImmutableContainerNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)duration, value=[ImmutableLeafNode{nodeIdentifier=(urn:opendaylight:flow:statistics?revision=2013-08-19)nanosecond
My Case for Turning off Flow Statistics Logging!
Until Thoroughly Debugged and Operational
37. Things I think would be Helpful
• We need to engage the community to contribute, not feature requests
to the project to scale.
✦ Examples, Examples, Examples.
✦ OFTestCommandProvider is the Holy Grail and needs to be treated as such. It is the
reference implementation, if its wrong, so will the rest be.
✦ NodeConnectors need clarity. Most think in ports, not topology. We are missing an
abstraction to say otherwise.
✦ Understand where MD_SAL stops and OFPlugin Starts.
✦ Is MD_SAL + OFPlugin and AD_SAL + OpenflowJ two separate controllers? <-Not trying
to stir it up here, I just don’t see the connections short of modules running in OSGI.
✦ OVS specific system integration tests. TestCommandProvider tests the kitchen sink. No
datapath can pass all of those so we wind up with expected failures that we will ignore
until we shouldn't ignore and it breaks a project.
✦ Turn off FlowStatistics Exception Logs until they are less verbose.
✦ Add debug and trace logging statements to help the consumer not just core MD_SAL
devs. Two different needs and levels of understand.
✦ More IT/UT/CI tests. Need examples and tests for all flowmod CRUD operations.
40. ### OpenFlowPlugin Translates Between Controller (HighLevel) and OpenflowJava (LowLevel) !
### BUT Controller is not required for OF13 except for class generations from its Yang Models for TestCommandProvider. ###!
!
SetFieldMatchBuilder Converts High order Controller to Low order Yang OXM Fields!
-----------------------------------------------------------------!
~/controller/opendaylight/md-sal/model/model-flow-base/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/urn/opendaylight/table/types/rev131026/!
~/controller/opendaylight/md-sal/model/model-flow-base/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/urn/opendaylight/table/types/rev131026/set/field/
match!
~/controller/opendaylight/md-sal/model/model-flow-base/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/urn/opendaylight/table/types/rev131026/set/field/
match/SetFieldMatch.java!
~/controller/opendaylight/md-sal/model/model-flow-base/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/urn/opendaylight/table/types/rev131026/set/field/
match/SetFieldMatchBuilder.java!
~/controller/opendaylight/md-sal/model/model-flow-base/src/main/yang-gen-sal/org/opendaylight/yang/gen/v1/urn/opendaylight/table/types/rev131026/set/field/
match/SetFieldMatchKey.java!
!
Actions!
-------!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwDstConvertorImpl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwDstConvertorV10Impl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwDstReactor.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/
ActionSetNwDstReactorMappingFactory.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwSrcConvertorImpl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwSrcConvertorV10Impl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionSetNwSrcReactor.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/
ActionSetNwSrcReactorMappingFactory.java!
!
Match!
-----!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertor.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorImpl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10Impl.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchReactor.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchReactorMappingFactory.java!
!
Convertors!
---------!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/ActionConvertor.java!
~/openflowplugin/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/TableFeaturesConvertor.java