Added Template classes for all the static services. 54/10554/2
authorMadhu Venugopal <mavenugo@gmail.com>
Sun, 31 Aug 2014 19:30:54 +0000 (12:30 -0700)
committerMadhu Venugopal <mavenugo@gmail.com>
Sun, 31 Aug 2014 19:35:09 +0000 (12:35 -0700)
commitf82c1f8a651398a83ffeef398876b599d474ab5a
treed487c112d69d157257e1c52588ded3f49b40d096
parentd6ea281e5767ad575ac6ed7b39cea04f5185f588
Added Template classes for all the static services.

Though these are just Template classes, Since it inherits from AbstractServiceInstance parent, the default catch-all flow-rules
(that is required for an operational pipeline) are automatically installed. All the service specific code can be written in these
classes with the guarantee that the parent AbstractServiceInstance took care of the flows to keep the pipeline happy.

Also, please note that, all of these services must use the getMutablePipelineInstructionBuilder() method for all the non-drop
matched flows to make sure the pipeline is not messed up for the cases where a service performs some operations.

Sample output of the pipeline when none of the services are operational :

[mininet@opendaylight ~]\>sudo ovs-ofctl dump-flows -O OpenFlow13 br-int
OFPST_FLOW reply (OF1.3) (xid=0x2):
 cookie=0x0, duration=136.403s, table=0, n_packets=0, n_bytes=0, send_flow_rem dl_type=0x88cc actions=CONTROLLER:65535
 cookie=0x0, duration=136.418s, table=0, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:20
 cookie=0x0, duration=136.436s, table=20, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:30
 cookie=0x0, duration=136.427s, table=30, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:40
 cookie=0x0, duration=136.429s, table=40, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:50
 cookie=0x0, duration=136.421s, table=50, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:60
 cookie=0x0, duration=136.424s, table=60, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:70
 cookie=0x0, duration=138.24s, table=70, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:80
 cookie=0x0, duration=136.4s, table=80, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:90
 cookie=0x0, duration=136.433s, table=90, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=goto_table:100
 cookie=0x0, duration=136.441s, table=100, n_packets=3, n_bytes=230, send_flow_rem priority=0 actions=drop

Please note that, since we have moved to a static pipeline approach, there is no need for metadata, nor there is a
need to have a dedicated Director table. The AbstractServiceInstance takes care of cooking the pipeline based on the
static pipeline requirements.

Change-Id: Icf712991df3c7fbedf81872c04fdad168619b910
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/Activator.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/ArpResponderService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/ClassifierService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/EgressAclService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/InboundNatService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/IngressAclService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/L2ForwardingService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/LoadBalancerService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/OutboundNatService.java [new file with mode: 0644]
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/RoutingService.java [new file with mode: 0644]