diff options
author | IWASE Yusuke <iwase.yusuke0@gmail.com> | 2016-09-26 09:28:40 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-10-01 21:13:27 +0900 |
commit | b302d725a00f992ae74e12c4db355f04774ac700 (patch) | |
tree | e36fba9faa6b49c2e7e4a469e9ac7f3f4fd654ba | |
parent | b77408d04c7d65659afedb1b0556e83d905b5939 (diff) |
ovs/bridge: Enable to request tunnel port number
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/lib/ovs/bridge.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/ryu/lib/ovs/bridge.py b/ryu/lib/ovs/bridge.py index 1e1e34cd..89717005 100644 --- a/ryu/lib/ovs/bridge.py +++ b/ryu/lib/ovs/bridge.py @@ -174,26 +174,31 @@ class OVSBridge(object): return command.result def add_tunnel_port(self, name, tunnel_type, remote_ip, - local_ip=None, key=None): + local_ip=None, key=None, ofport=None): options = 'remote_ip=%(remote_ip)s' % locals() if key: options += ',key=%(key)s' % locals() if local_ip: options += ',local_ip=%(local_ip)s' % locals() + args = ['Interface', name, 'type=%s' % tunnel_type, + 'options=%s' % options] + if ofport: + args.append('ofport_request=%(ofport)s' % locals()) + command_add = ovs_vsctl.VSCtlCommand('add-port', (self.br_name, name)) - command_set = ovs_vsctl.VSCtlCommand( - 'set', ('Interface', name, - 'type=%s' % tunnel_type, 'options=%s' % options)) + command_set = ovs_vsctl.VSCtlCommand('set', args) self.run_command([command_add, command_set]) - def add_gre_port(self, name, remote_ip, local_ip=None, key=None): + def add_gre_port(self, name, remote_ip, + local_ip=None, key=None, ofport=None): self.add_tunnel_port(name, 'gre', remote_ip, - local_ip=local_ip, key=key) + local_ip=local_ip, key=key, ofport=ofport) - def add_vxlan_port(self, name, remote_ip, local_ip=None, key=None): + def add_vxlan_port(self, name, remote_ip, + local_ip=None, key=None, ofport=None): self.add_tunnel_port(name, 'vxlan', remote_ip, - local_ip=local_ip, key=key) + local_ip=local_ip, key=key, ofport=ofport) def del_port(self, port_name): command = ovs_vsctl.VSCtlCommand('del-port', (self.br_name, port_name)) |