--- /dev/null
+package org.opendaylight.controller.config.yang.config.ofoverlay_provider.impl;
+
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.OFOverlayRenderer;
+
+public class OFOverlayProviderModule extends org.opendaylight.controller.config.yang.config.ofoverlay_provider.impl.AbstractOFOverlayProviderModule {
+ public OFOverlayProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+ super(identifier, dependencyResolver);
+ }
+
+ public OFOverlayProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.ofoverlay_provider.impl.OFOverlayProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
+ super(identifier, dependencyResolver, oldModule, oldInstance);
+ }
+
+ @Override
+ public void customValidation() {
+ // add custom validation form module attributes here.
+ }
+
+ @Override
+ public java.lang.AutoCloseable createInstance() {
+ return new OFOverlayRenderer();
+ }
+
+}
--- /dev/null
+/*
+* Generated file
+*
+* Generated from: yang module name: ofoverlay-provider-impl yang module local name: ofoverlay-provider-impl
+* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
+* Generated at: Tue Jun 24 15:06:29 PDT 2014
+*
+* Do not modify this file unless it is present under src/main directory
+*/
+package org.opendaylight.controller.config.yang.config.ofoverlay_provider.impl;
+public class OFOverlayProviderModuleFactory extends org.opendaylight.controller.config.yang.config.ofoverlay_provider.impl.AbstractOFOverlayProviderModuleFactory {
+
+}
package org.opendaylight.controller.config.yang.config.opflex_provider.impl;
-import org.opendaylight.groupbasedpolicy.renderer.OpflexConnectionService;
+import org.opendaylight.groupbasedpolicy.renderer.opflex.OpflexConnectionService;
public class OpflexProviderModule extends org.opendaylight.controller.config.yang.config.opflex_provider.impl.AbstractOpflexProviderModule {
public OpflexProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
*
* Authors : Ashwin Raveendran
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext;
*
* Authors : Ashwin Raveendran, Madhu Venugopal
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
public class InvalidEncodingException extends RuntimeException {
*
* Authors : Ashwin Raveendran, Madhu Venugopal
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
*
* Authors : Ashwin Raveendran, Madhu Venugopal
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import java.util.List;
*
* Authors : Ashwin Raveendran, Madhu Venugopal, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import io.netty.buffer.ByteBuf;
*
* Authors : Ashwin Raveendran, Madhu Venugopal, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToMessageEncoder;
*
* Authors : Ashwin Raveendran, Madhu Venugopal, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import io.netty.channel.Channel;
*
* Authors : Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
public abstract class JsonRpcMessage {
*
* Authors : Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import java.util.Map;
*
* Authors : Ashwin Raveendran, Madhu Venugopal, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.base.Strings;
*
* Authors : Ashwin Raveendran
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import java.util.List;
--- /dev/null
+package org.opendaylight.groupbasedpolicy.renderer.ofoverlay;
+
+/**
+ * Renderer that uses OpenFlow and OVSDB to implement an overlay network
+ * using Open vSwitch.
+ * @author readams
+ */
+public class OFOverlayRenderer implements AutoCloseable {
+
+ @Override
+ public void close() throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+}
*
* Authors : Madhu Venugopal, Brent Salisbury, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer;
+package org.opendaylight.groupbasedpolicy.renderer.opflex;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelFutureListener;
*
* Authors : Madhu Venugopal, Brent Salisbury, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer;
+package org.opendaylight.groupbasedpolicy.renderer.opflex;
import io.netty.channel.Channel;
-import org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc.JsonRpcEndpoint;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcEndpoint;
public class Connection {
private String identifier;
*
* Authors : Madhu Venugopal, Brent Salisbury, Evan Zeller, Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer;
+package org.opendaylight.groupbasedpolicy.renderer.opflex;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.AdaptiveRecvByteBufAllocator;
import java.util.concurrent.ExecutionException;
import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
-import org.opendaylight.groupbasedpolicy.renderer.ChannelConnectionHandler;
-import org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc.JsonRpcDecoder;
-import org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc.JsonRpcMessageMap;
-import org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc.JsonRpcEndpoint;
-import org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc.JsonRpcServiceBinderHandler;
-
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcDecoder;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcEndpoint;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcMessageMap;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcServiceBinderHandler;
+import org.opendaylight.groupbasedpolicy.renderer.opflex.ChannelConnectionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
--- /dev/null
+module ofoverlay {
+ yang-version 1;
+
+ namespace "urn:opendaylight:groupbasedpolicy:ofoverlay";
+ prefix "ofoverlay";
+
+ import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; }
+
+ import gbp-common {prefix gbp-common;}
+
+ description
+ "This module defines the group-based policy ofoverlay renderer model.";
+
+ revision "2014-05-28" {
+ description
+ "Initial revision.";
+ }
+
+ // ******************
+ // Configuration Data
+ // ******************
+ container ofoverlay {
+ description
+ "Configuration for the OpenFlow overlay renderer";
+
+ config true;
+
+ leaf encapsulation-format {
+ description "The encapsulation format to use for tunnels";
+ type enumeration {
+ enum vxlan {
+ description "Use VXLAN encapsulation";
+ }
+ }
+ }
+ }
+}
--- /dev/null
+module ofoverlay-provider-impl {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:controller:config:ofoverlay-provider:impl";
+ prefix "ofoverlay-provider-impl";
+
+ import config { prefix config; revision-date 2013-04-05; }
+ import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
+
+
+ description
+ "This module contains the base YANG definitions for
+ ofoverlay-provider impl implementation.";
+
+ revision "2014-06-11" {
+ description
+ "Initial revision.";
+ }
+
+ identity ofoverlay-provider-impl {
+ base "config:module-type";
+
+ config:java-name-prefix OFOverlayProvider;
+ }
+
+ // Augments the 'configuration' choice node under modules/module.
+ augment "/config:modules/config:module/config:configuration" {
+ case ofoverlay-provider-impl {
+ when "/config:modules/config:module/config:type = 'ofoverlay-provider-impl'";
+
+ //wires in the data-broker service
+ container data-broker {
+ uses config:service-ref {
+ refine type {
+ mandatory false;
+ config:required-identity mdsal:binding-data-broker;
+ }
+ }
+ }
+ }
+ }
+}
* Authors : Dave Tucker
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import static io.netty.buffer.Unpooled.copiedBuffer;
+
import static org.junit.Assert.assertEquals;
import com.google.common.base.Charsets;
import com.google.common.io.Resources;
+
import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.handler.codec.DecoderException;
import io.netty.handler.codec.TooLongFrameException;
import io.netty.util.CharsetUtil;
+
import java.net.URL;
+
import org.junit.Before;
import org.junit.Test;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcDecoder;
public class JsonRpcDecoderTest {
static int testJson_BYTES = 179;
* Authors : Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import static io.netty.buffer.Unpooled.copiedBuffer;
+
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
import io.netty.channel.embedded.EmbeddedChannel;
+
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.JsonNode;
-
import io.netty.util.CharsetUtil;
+
import org.junit.Before;
import org.junit.Test;
-
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcDecoder;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcEndpoint;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcMessage;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcMessageMap;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcServiceBinderHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* Authors : Thomas Bachman
*/
-package org.opendaylight.groupbasedpolicy.renderer.lib.jsonrpc;
+package org.opendaylight.groupbasedpolicy.jsonrpc;
import static io.netty.buffer.Unpooled.copiedBuffer;
import io.netty.channel.embedded.EmbeddedChannel;
-import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.JsonNode;
import io.netty.util.CharsetUtil;
+
import org.junit.Before;
import org.junit.Test;
+
import static org.mockito.Mockito.*;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcDecoder;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcEndpoint;
+import org.opendaylight.groupbasedpolicy.jsonrpc.JsonRpcServiceBinderHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;