Skip to content
This repository was archived by the owner on Nov 13, 2023. It is now read-only.

Commit 83ded9a

Browse files
committed
Merge pull request #236 from mssumanth/1.1-DEV
1.1-DEV
2 parents 10f6036 + 77d9ae4 commit 83ded9a

27 files changed

+1084
-206
lines changed

RELEASE-NOTES

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
1+
FlowVisor 1.1.3-DEV: May 15 2013
2+
* FLOWVISOR-59 : Flowvisor should be able to ask the flow table from the switch
3+
* FLOWVISOR-62 : Allow slice perms to be specfied with "rwd" in addition to by number
4+
* FLOWVISOR-191: fvctl add-flowspace should check whether a slice exist before returning
5+
* FLOWVISOR-187: Log level of packets not matching any slice in Flowvisor
6+
* FLOWVISOR-15 : LLDP packet made by FlowVisor doesn't have "the end of LLDPDU" nor a TLV header before padding(0xcafebabe)
7+
* FLOWVISOR-158: Control planes with multiple flowvisors should not broadcast LLDP packet-ins to all slices
8+
9+
FlowVisor 1.0.6 : May 10 2013
10+
* FLOWVISOR-230 : fvctl list-slice-info gives confusing error message if you specify a non-existent slice
11+
* FLOWVISOR-231 : fvctl and network specs
12+
* FLOWVISOR-232 : Error adding flowspace rules with MAC addresses
13+
14+
FlowVisor 1.0.5 : May 2 2013
15+
* FLOWVISOR-216 : Undo changes to default port configurations
16+
* Potential fix for FV crashes; awaiting confirmation
17+
18+
FlowVisor 1.0.4 : May 1 2013
19+
* FLOWVISOR-226 : fvconfig load hangs
20+
121
FlowVisor 1.0.3 : April 30 2013
222
* FLOWVISOR-187 : Log level of packets not matching any slice in Flowvisor
3-
* FLWOVISOR-217 : Clients can't detect failures that happen after a request is accepted
23+
* FLOWVISOR-217 : Clients can't detect failures that happen after a request is accepted
424

525
FlowVisor 1.0.2 : April 29 2013
626
* FLOWVISOR-193 : fvctl add-flowspace <match> not working Right
@@ -30,6 +50,7 @@ FlowVisor 1.0.0 : February 28 2013
3050
* FLOWVISOR-65 : Provide RPC API as JSON service
3151
* FLOWVISOR-60 : Need to be able to set a slice as "administratively down"
3252
* FLOWVISOR-49 : dl_vlan only accepts in decimal and only prints in hex
53+
* FLOWVISOR-24 : Need to flush old flow entries
3354
* FLOWVISOR-7 : Queue_stats: FV doesn't filter the ports for a slice
3455
* FLOWVISOR-6 : Aggregate_flow_stats_req: FV doesn't extract the request
3556

scripts/FlowVisorDB.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ AUTOCOMMIT off;
44

55
CREATE TABLE Flowvisor (
66
id INT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
7-
api_webserver_port INT DEFAULT -1 ,
7+
api_webserver_port INT DEFAULT 8080 ,
88
api_jetty_webserver_port INT DEFAULT 8081 ,
99
checkpointing BOOLEAN DEFAULT false,
1010
listen_port INT DEFAULT 6633 ,

scripts/fvctl.py

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,9 @@ def toHex(match):
245245
match[field] = hex(value)
246246
return match
247247

248+
def prettify(fs):
249+
pass
250+
248251

249252
def do_listFlowSpace(gopts, opts, args):
250253
passwd = getPassword(gopts)
@@ -264,6 +267,7 @@ def do_listFlowSpace(gopts, opts, args):
264267
print " None"
265268
sys.exit()
266269
for item in ret:
270+
prettify(item)
267271
if opts.pretty:
268272
print json.dumps(item, sort_keys=True, indent=1)
269273
print "\n\n"
@@ -318,7 +322,7 @@ def do_addFlowSpace(gopts, opts, args):
318322
acts = []
319323
for action in actions:
320324
parts = action.split('=')
321-
act = { 'slice-name' : parts[0], "permission" : int(parts[1]) }
325+
act = { 'slice-name' : parts[0], "permission" : parts[1] }
322326
acts.append(act)
323327
req['slice-action'] = acts
324328
ret = connect(gopts, "add-flowspace", passwd, data=[req])
@@ -572,6 +576,8 @@ def pa_regEventCB(args, cmd):
572576

573577
(sdesc, ldesc) = DESCS[cmd]
574578
parser = OptionParser(usage=usage, description=ldesc)
579+
parser.add_option("-d", "--dpid", dest="dpid", type="string", default=None,
580+
help="Set the dpid for registering for the flowtable information; default='all'")
575581
return parser.parse_args(args)
576582

577583
def do_regEventCB(gopts, opts, args):
@@ -580,6 +586,10 @@ def do_regEventCB(gopts, opts, args):
580586
sys.exit()
581587
passwd = getPassword(gopts)
582588
req = { 'url' : args[0], 'method' : args[1], 'event-type' : args[2], 'cookie' : args[3]}
589+
if opts.dpid is not None:
590+
req['dpid'] = opts.dpid
591+
else:
592+
req['dpid'] = 'all'
583593
ret = connect(gopts, "register-event-callback", passwd, data=req)
584594
if ret:
585595
print "Callback %s successfully added" % args[3]
@@ -590,18 +600,23 @@ def pa_unregEventCB(args, cmd):
590600

591601
(sdesc, ldesc) = DESCS[cmd]
592602
parser = OptionParser(usage=usage, description=ldesc)
603+
parser.add_option("-d", "--dpid", dest="dpid", type="string", default=None,
604+
help="Set the dpid for unregistering for the flowtable information; default='all'")
593605
return parser.parse_args(args)
594606

595607
def do_unregEventCB(gopts, opts, args):
596608
if len(args) != 3:
597609
print "unregister-event-callback : Must specify all the arguments"
598610
sys.exit()
599611
passwd = getPassword(gopts)
600-
req = { 'method' : args[1], 'event-type' : args[2], 'cookie' : args[3]}
612+
req = { 'method' : args[0], 'event-type' : args[1], 'cookie' : args[2]}
613+
if opts.dpid is not None:
614+
req['dpid'] = opts.dpid
615+
else:
616+
req['dpid'] = 'all'
601617
ret = connect(gopts, "unregister-event-callback", passwd, data=req)
602618
if ret:
603-
print "Callback %s successfully removed" % args[3]
604-
619+
print "Callback %s successfully removed" % args[2]
605620

606621
def do_listFVHealth(gopts, opts, args):
607622
passwd = getPassword(gopts)
@@ -754,6 +769,14 @@ def toInt(val):
754769
return int(val,16)
755770
return int(val)
756771

772+
def toMacInt(val):
773+
if val is None:
774+
return
775+
if val.find(":") != -1:
776+
return int(val.replace(':', ''),16)
777+
if val.find("-") != -1:
778+
int(val.replace('-', ''),16)
779+
757780
def toStr(val):
758781
return str(val)
759782

@@ -789,10 +812,10 @@ def print_help(option, opt, value, parser):
789812
MATCHSTRS = {
790813
'in_port' : ('in_port', toInt),
791814
'input_port' : ('in_port', toInt),
792-
'dl_dst' : ('dl_dst', toInt),
793-
'eth_dst' : ('dl_dst', toInt),
794-
'dl_src' : ('dl_src', toInt),
795-
'eth_src' : ('dl_src',toInt),
815+
'dl_dst' : ('dl_dst', toStr),
816+
'eth_dst' : ('dl_dst', toStr),
817+
'dl_src' : ('dl_src', toStr),
818+
'eth_src' : ('dl_src',toStr),
796819
'dl_type' : ('dl_type',toInt),
797820
'eth_type' : ('dl_type',toInt),
798821
'dl_vlan' : ('dl_vlan', toInt),
@@ -975,7 +998,8 @@ def print_help(option, opt, value, parser):
975998
)),
976999
'register-event-callback' : ("Registers your server, for events from FlowVisor",
9771000
("Registers for events from FlowVisor. Possible events are: DEVICE_CONNECTED, "
978-
"SLICE_CONNECTED, and SLICE_DISCONNECTED. More may be added later."
1001+
"SLICE_CONNECTED, SLICE_DISCONNECTED and FLOWTABLE_CALLBACK. For FLOWTABLE_CALLBACK"
1002+
" event type dpid has to be input with -d option. More events may be added later."
9791003
)),
9801004
'unregister-event-callback' : ("Unregisters your server from FlowVisor",
9811005
("Unregisters your server from FlowVisor thereby deactivating event "

scripts/fvlog.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## See README.syslog for more information
33
#####
44

5-
log4j.rootCategory=DEBUG, system
5+
log4j.rootCategory=WARN, system
66

77
# Console logger
88
#log4j.appender.A1=org.apache.log4j.ConsoleAppender

src/org/flowvisor/FlowVisor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ public class FlowVisor {
4040
public final static int FLOWVISOR_VENDOR_EXTENSION = 0x80000001;
4141

4242
// VERSION
43-
public final static String FLOWVISOR_VERSION = "flowvisor-1.1.2";
43+
44+
public final static String FLOWVISOR_VERSION = "flowvisor-1.1.3";
45+
4446
public final static int FLOWVISOR_DB_VERSION = 2;
4547

4648

0 commit comments

Comments
 (0)