summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorwatanabe.fumitaka <watanabe.fumitaka@nttcom.co.jp>2013-09-03 17:06:42 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-09-03 17:23:21 +0900
commit05cdadc90054f3453c47038ea9279b884d125d1c (patch)
tree8cdf1a624b72912e749a6fe5858ce5814bb3d478
parent23013d8389f3fe0ecd32445653645b1734dc48ac (diff)
ofctl v1.0/v1.2: add miss_send_len for packet in
Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/lib/ofctl_v1_0.py7
-rw-r--r--ryu/lib/ofctl_v1_2.py5
2 files changed, 10 insertions, 2 deletions
diff --git a/ryu/lib/ofctl_v1_0.py b/ryu/lib/ofctl_v1_0.py
index e68d53e9..0fd958c0 100644
--- a/ryu/lib/ofctl_v1_0.py
+++ b/ryu/lib/ofctl_v1_0.py
@@ -33,7 +33,12 @@ def to_actions(dp, acts):
action_type = a.get('type')
if action_type == 'OUTPUT':
out_port = int(a.get('port', ofproto_v1_0.OFPP_NONE))
- actions.append(dp.ofproto_parser.OFPActionOutput(out_port))
+ if out_port == dp.ofproto.OFPP_CONTROLLER:
+ miss_send_len = ofproto_v1_0.OFP_DEFAULT_MISS_SEND_LEN
+ actions.append(dp.ofproto_parser.OFPActionOutput(
+ out_port, max_len=miss_send_len))
+ else:
+ actions.append(dp.ofproto_parser.OFPActionOutput(out_port))
elif action_type == 'SET_VLAN_VID':
vlan_vid = int(a.get('vlan_vid', 0xffff))
actions.append(dp.ofproto_parser.OFPActionVlanVid(vlan_vid))
diff --git a/ryu/lib/ofctl_v1_2.py b/ryu/lib/ofctl_v1_2.py
index 517b36a8..5237cf70 100644
--- a/ryu/lib/ofctl_v1_2.py
+++ b/ryu/lib/ofctl_v1_2.py
@@ -36,7 +36,10 @@ def to_actions(dp, acts):
action_type = a.get('type')
if action_type == 'OUTPUT':
out_port = int(a.get('port', ofproto_v1_2.OFPP_ANY))
- actions = [dp.ofproto_parser.OFPActionOutput(out_port, 0)]
+ miss_send_len = (128 if out_port == dp.ofproto.OFPP_CONTROLLER
+ else 0)
+ actions = [dp.ofproto_parser.OFPActionOutput(
+ out_port, max_len=miss_send_len)]
inst_type = dp.ofproto.OFPIT_APPLY_ACTIONS
inst = [dp.ofproto_parser.OFPInstructionActions(
inst_type, actions)]