summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2014-10-26packet lib: don't crash with corrupted lldp packetFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Tested-by: Benjamin Eggerstedt <benjamin.eggerstedt@gmail.com>
2014-10-26ofctl_v1_0: match_to_str() does not convert nw_tos correctlyCharles M.C. Chan
The match_to_str() function in ryu/lib/ofctl_v1_0.py does not convert nw_tos correctly. As a result, we cannot obtain nw_tos value of any flow entry by invoking get_flow_stats() Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-20bgp: fix bug of ASPathFilter in case of iBGP peeringToshiki Tsuboi
In normally, when RyuBGPSpeaker originates some prefixes, it sends BGP Update messages as [ASpath: None] to peering iBGP router. But, In use of ASPathFilter 'policy=TOP', RyuBGPSpeaker has failed to send Update messages as bellow. $ sudo python sampleBGP_for_InterAS-MPLS-VPN-in-RyuBGP1.py INFO:bgpspeaker.api.base:API method core.start called with args: {'router_id': '10.0.1.1', 'label_range': (1000, 1999), 'waiter': <ryu.lib.hub.Event object at 0x7f6ba91de890>, 'local_as': 65011, 'bgp_server_port': 179, 'refresh_max_eor_time': 0, 'refresh_stalepath_time': 0} INFO:bgpspeaker.api.base:API method neighbor.create called with args: {'remote_as': 65010, 'cap_mbgp_vpnv6': False, 'cap_mbgp_vpnv4': True, 'cap_mbgp_ipv6': False, 'is_next_hop_self': False, 'cap_mbgp_ipv4': True, 'multi_exit_disc': 100, 'is_route_server_client': False, 'peer_next_hop': None, 'password': None, 'ip_address': '192.168.101.101'} INFO:bgpspeaker.api.base:API method neighbor.create called with args: {'remote_as': 65011, 'local_port': 50001, 'cap_mbgp_vpnv6': False, 'cap_mbgp_vpnv4': True, 'cap_mbgp_ipv6': False, 'is_next_hop_self': True, 'cap_mbgp_ipv4': True, 'is_route_server_client': False, 'peer_next_hop': None, 'local_address': '10.0.1.1', 'password': None, 'ip_address': '10.0.1.2'} INFO:bgpspeaker.api.base:API method neighbor.create called with args: {'remote_as': 65011, 'local_port': 50002, 'cap_mbgp_vpnv6': False, 'cap_mbgp_vpnv4': True, 'cap_mbgp_ipv6': False, 'is_next_hop_self': True, 'cap_mbgp_ipv4': True, 'is_route_server_client': False, 'peer_next_hop': None, 'local_address': '10.0.1.1', 'password': None, 'ip_address': '10.0.1.3'} INFO:bgpspeaker.api.base:API method vrf.create called with args: {'import_rts': ['65010:101'], 'route_family': 'ipv4', 'site_of_origins': None, 'route_dist': '65010:101', 'export_rts': ['65010:101']} INFO:bgpspeaker.api.base:API method prefix.add_local called with args: {'prefix': '192.168.4.0/30', 'next_hop': '0.0.0.0', 'route_dist': '65010:101', 'route_family': 'ipv4'} INFO:bgpspeaker.api.base:API method prefix.add_local called with args: {'prefix': '10.10.10.4/32', 'next_hop': '192.168.4.2', 'route_dist': '65010:101', 'route_family': 'ipv4'} INFO:bgpspeaker.api.base:API method prefix.add_local called with args: {'prefix': '192.168.204.0/30', 'next_hop': '192.168.4.2', 'route_dist': '65010:101', 'route_family': 'ipv4'} INFO:bgpspeaker.api.base:API method neighbor.attribute_map.set called with args: {'ip_address': '10.0.1.3', 'route_family': 'ipv4', 'route_dist': '65010:101', 'attribute_map': [AttributeMap(filters=[ASPathFilter(as_number=65010,policy=TOP)],attribute_type=LOCAL_PREF,attribute_value=200)]} INFO:bgpspeaker.cli:starting ssh server at localhost:4990 INFO:bgpspeaker.peer:Connection to peer: 192.168.101.101 established INFO:bgpspeaker.peer:Connection to peer: 10.0.1.2 established INFO:bgpspeaker.peer:Connection to peer: 10.0.1.3 established ERROR:ryu.lib.hub:hub: uncaught exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, in _launch func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 708, in _process_outgoing_msg_list self._send_outgoing_route(outgoing_msg) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 667, in _send_outgoing_route update_msg = self._construct_update(outgoing_route) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 938, in _construct_update result = self._lookup_attribute_map(at_maps, attr_type, path) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/peer.py", line 2004, in _lookup_attribute_map cause, result = m.evaluate(path) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/info_base/base.py", line 1171, in evaluate cause, result = f.evaluate(path) File "/usr/local/lib/python2.7/dist-packages/ryu/services/protocols/bgp/info_base/base.py", line 1074, in evaluate path_seg = path_seg_list[0] IndexError: list index out of range Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-20stplib.py: Should wildcard non-relevant bits in the mask field of port mod ↵fortitude.zhang
message for OpenFlow 1.2+. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-16simple_switch_14: Update a comment about OVS bugYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-16simple_switch_13: Update a comment about OVS bugYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-16Add a simple switch for Openflow 1.4, an easy adaption of SimpleSwitch13Shu Shen
Signed-off-by: Shu Shen <shu.shen@radisys.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-16sw test tool: Fix typosYusuke Iwase
Reported by Ian Y. Choi on ryu-devel. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-16ofproto_v1_4: Add tun_ipv4_src and tun_ipv4_dst NXMsYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14test_parser: Update expected json representationsYAMAMOTO Takashi
Update after tun_ipv4_src/tun_ipv4_dst changes. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14packet_data: RegenYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14packet_data_generator: Add tun_ipv4_src and tun_ipv4_dst for OF1.3YAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14ofproto_v1_3: Add tun_ipv4_src and tun_ipv4_dst NXMsYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14oxm_fields: Add Nicira Extended Match (NXM) supportYAMAMOTO Takashi
Note: It wasn't clear to me which NXM stands for "Extensible" or "Extended". I chose the latter because it's in the primary specification. (nicira-ext.h) Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14oxm_fields: Add commentsYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14oxm_fields: Avoid shadowing python builtinYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14travis: Run tests via toxYAMAMOTO Takashi
Also, run pep8 in a separate environment. The way to specify python versions might seem awkward. (Well, it seems so to me.) But it follows one of examples referenced in the official documentation: http://docs.travis-ci.com/user/languages/python/ https://github.com/twisted/klein/blob/master/.travis.yml Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14test_addrconv: Fix a way to import the tested moduleYAMAMOTO Takashi
I'm not quite sure how it happens to work with the current test environment. But the current coding doesn't work when running via testr probably due to different PYTHONPATH. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14test_parser: Make this independent from test environment pathYAMAMOTO Takashi
To make this able to run via testr. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14tox.ini: Add pep8 environmentYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-14pyang_plugins: pep8 style fixYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-11bgp: fix pep8 warningsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-11bgp: supporting loopback interface as neighbour_source_address for iBGPToshiki Tsuboi
In generally, iBGP session is established between loopback interfaces. Therefore, we need to specify loopback interface as neighbour_source_address. This parameter is just like update-source command in cisco router. Signed-off-by: Toshiki Tsuboi <t.tsubo2000@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10bfdlib: follow TTL/hop limit in RFC5881 explicitly.Wei-Li Tang
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10doc: add lib.packet.bfd classes to library_packet_ref.Wei-Li Tang
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10lib: add IPv4 single hop BFD (RFC5881) support.Wei-Li Tang
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10unit test for lib.packet.bfdWei-Li Tang
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10packet lib: add BFD support.Wei-Li Tang
Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-10ofctl_v1_0/2/3: check lock timeout by lock.is_set().Wei-Li Tang
send_stats_request never catches hub.Timeout exception because it has been caught by the event wait function itself. Signed-off-by: Wei-Li Tang <alextwl@xinguard.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09test: add unittests for of1.3 parserMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09of12/3: support setting the oxm_value to OFPVID_NONEMinoru TAKAHASHI
In openflow spec 1.2 and 1.3.4, in order to match only packets without a VLAN tag, the value of OFPXMT_OFB_VLAN_VID must be set to OFPVID_NONE (0x0000). Old API of ofproto_v1_2/3_parser is now enabled to setting the oxm_value to OFPVID_NONE(0x0000) as follows: e.g.) match = ofproto_v1_2_parser.OFPMatch() match.set_vlan_vid_none() Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09ofproto_v1_4_parser: Handle experimenter OXMs in TableFeaturesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09ofproto_v1_3_parser: Handle experimenter OXMs in TableFeaturesYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09oxm_fields: Add a commentYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-09bgp: support next_hop_selfHiroshi Yokoi
Support next_hop_self. BGPSpeaker can replace a path's next_hop address with its own address when it sends the path to iBGP peer. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-10-02Ryu 3.14FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-30doc: Add ryu.app.ofctl_rest documentYusuke Iwase
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-30of: Fix name of class member variablesIWASE Yusuke
Fix name of class member variables in OFPMeterFeaturesStats to reflect OpenFlow Specification. Accordingly, fix json pattern files for unit tests. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27gui_topology: fix to work using WebSocketYoshiharu Yamashita
I midified ryu.topology.js to dinamicaly add or remove switch using WebSocket on Ryu Topology Viewer. Signed-off-by: Yoshiharu Yamashita <dyson.yamashita@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27bgp: ignore link-local addressHiroshi Yokoi
According to RFC 2545, both a global address and a link-local address can be sent as a next_hop address in BGPUpdate message. Since the link-local address is not needed in Ryu BGP, Ryu BGP ignore it if the address family is IPv6 unicast. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27bgp: local preference support IPv6, VPNv4/v6 route familyHiroshi Yokoi
local preference supports IPv6 and VPNv4/v6 route family. sorry, previous patch contains pep8 warnings, so I cleaned them. Please discard previous one. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27Improve debug messages for unsupported request Log correct debug messageSriram Natarajan
Signed-off-by: Sriram Natarajan <natarajan.sriram@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27Fix spell check in group feature message Maintain name consistency in meter ↵Sriram Natarajan
type in Meter Features message in OF 1.3 Add length field in group statistics reply in OF 1.2 Signed-off-by: Sriram Natarajan <natarajan.sriram@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27sw test tool: fix an error caused by changing enum name in of1.4Minoru TAKAHASHI
In of1.4 spec, enum name has been changed as follows: of1.3.4 spec: OFPR_NO_MATCH = 0, / * No matching flow (table-miss flow entry). * / of1.4 spec: OFPR_TABLE_MISS = 0, / * No matching flow (table-miss flow entry). * / Along with this change, AttributeError has occurred in the process of comparison of the received message. This patch fixes this problem. Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-27ofctl: Add default value to type field of OFPGroupModYusuke Iwase
In OF1.2 and OF1.3 Spec, the group type need not be specified for the group delete request. However, an error occurs at mod_group_entry in ofctl_v1_[23].py without specifying group type to delete a group entry. This patch adds default value to type field of OFPGroupMod at mod_group_entry in order to reflect OpenFlow Specification. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-18of: Add missing fields in OpenFlow statistics messagesSriram Natarajan
update statistics structure to reflect OpenFlow specification. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-18of: Fix Enum Names and ValuesSriram Natarajan
Fix Enum Names and Values in OpenFlow Header files Update no matching name in packet-in reason as specified in OpenFlow 1.4 Update queeu stats name in in multipart type as specified in OpenFlow 1.4 Add additional constants as defined in OpenFlow 1.4 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-18of: Fix Enum Name for Bad Instruction Code Corrected Reset Count enum nameSriram Natarajan
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-12bgp: local preference supportHiroshi Yokoi
add local preference support in bgp. It is possible to apply local preference to specific paths by using AttributeMap. Unfortunately this patch supports only IPv4 path and I'm going to start writing patches for other route families after this. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-09-12sw test tool: add unit testMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>