summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2016-07-29packet lib: Add packet library of GREShinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27ofproto/nx_actions: Update argument of NXActionCTShinpei Muraoka
Since zone_src in NXActionCT was not possible to specify string, update zone_src of NXActionCT for the uniformity. Therefore, you will be able to specify string of OXM/NXM fields for zone_src. If you want to set the immediate value for zone, zone_src set the None or empty character string. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27ofproto/nx_actions: Revert API of NXActionShinpei Muraoka
This patch will revert the API of NXAction for the following report. https://bugs.launchpad.net/dragonflow/+bug/1599367 revert commit id: 3c3896fd77f274ce953dcb78795aa5cc4fde6c65 This patch reverts recently introduced start and end arguments. Add the utility method for ofs_nbits. NXActionRegLoad now takes ofs_nbits argument instead of ofs and nbits even with this revert. Additionally, update test cases and documents. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27manager: Except KeyboardInterrupt to suppress tracebackIWASE Yusuke
Currently, ryu-manager emits traceback messages when killed via KeyboardInterrupt. This patch traps the KeyboardInterrupt, and outputs an appropriate log message instead. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: Alan Fordyce <alan_fordyce@keysight.com> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27stplib: Handle the port state not changed eventsIWASE Yusuke
According to OpenFlow Spec 1.3.5, OFPT_PORT_STATUS messages with the reason value OFPPR_MODIFY should be sent the BOTH port state and config have changed. On the other hand, OVS does not send OFPT_PORT_STATUS messages when the port config has changed and only sends when the port state has changed. But, other switch implementation, e.g. Lagopus, sends messages when the both port state and config have changed. Therefore, simple_switch_stp_13.py will overproduce the topology recalculation events and will fail to recalculate the topology. This patch checks the port state in OFPT_PORT_STATUS messages and ignores the message if the port state is not changed. Reported-by: Hong Panha <c011361065@edu.teu.ac.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27stplib: Adopt to Python3IWASE Yusuke
In Python3, cmp() method is no longer supported and numerical operations evaluates value type more strictly. So, stplib get some errors in its calculating process. This patch fixes these problems and enable to use stplib on Python3 interpreter. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27rest_qos: Fix to handle the case without QoS actionIWASE Yusuke
Currently, rest_qos.py might fail to parse the actions field in the QoS rules when the actions field does not have any actions for the QoS (SET_FIELD, METER, SET_QUEUE). This patch fixes this problem. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-27packet: support relayed DHCP packetMichael Haro
https://tools.ietf.org/html/draft-ietf-dhc-implementation-02#section-4.7.2 states that DHCP relays should use source port 67 and dest port 67. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-14Fix: LLDP.OrganizationallySpecific not ignoring info fieldJonas Grunert
LLDP.OrganizationallySpecificTLV did not set info field and produced malformed LLDP packets Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12test_parser: Add test data for some NXActionShinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12ofproto/nx_actions: Support some NXActionShinpei Muraoka
Actions to be added are as following. - NXActionSample2 - NXActionOutputTrunc Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12ofproto/nx_actions: Add comment for Ryu documentsShinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12test_parser: Add test data for missing NXActionShinpei Muraoka
Note: The following actions are not implemented yet, because ovs-ofctl command is not supported. - NXActionRegLoad2 - NXActionOutputReg2 Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12ofproto/nx_actions: Support missing NXActionShinpei Muraoka
Actions to be added are as following. - NXActionDecTtlCntIds - NXActionStackPush - NXActionStackPop - NXActionSample - NXActionOutputReg2 - NXActionRegLoad2 - NXActionController2 Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12ofproto/nx_actions: Update arguments to be compatible with ovs-ofctlShinpei Muraoka
This patch, update the methods that are to be specified in the NXM or OXM. Update the oxm_types specified in the bit format to the string. Update the following NXAction. - NXActionOutputReg - NXActionMultipath - NXActionBundle - NXActionBundleLoad Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12test_parser: Add test data for NXAction used only in OpenFlow1.0Shinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-12ofproto/nx_actions: Add NXAction used only in OpenFlow1.0Shinpei Muraoka
There is NXAction to be used only in OpenFlow1.0. These actions are supported by default in OpenFlow1.2 or later. Therefore, it becomes unnecessary as the NXAction. But, to add the NXAction in order to be able to use in OpenFlow1.0. Actions to be added are as following. - NXActionSetQueue - NXActionDecTtl - NXActionPushMpls - NXActionPopMpls - NXActionSetMplsTtl - NXActionDecMplsTtl - NXActionSetMplsLabel - NXActionSetMplsTc Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11test_packet: Avoid to use array.array as input binaryIWASE Yusuke
In Python 2.7, array.array cannot be converted correctly into binary type by using six.binary_type(). So packet.Packet() cannot skip data effectively. This patch remove to use array.array as input binary in test_packet. Note: array.array can be used as input binary as the same as before, but in this case, the padding data will be displayed in str or repr representation in Python 2.7. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11packet: Fix minimum ethernet frame lengthIWASE Yusuke
In the Ethernet frame Spec (Both DIX EthernetII and IEEE 802.3), the frame size must be at least 64 bytes long (not including the preamble). 64 bytes = 14 bytes (Header) + 46 bytes (Payload) + 4 bytes (FCS) This patch appends padding if the payload is less than 46 bytes long. Reported-by: Kawai, Hiroaki <kawai@iij.ad.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11test_peer: Unit test for peer.py of BGPSpeakerIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11BGPSpeaker: Support Four-Octet AS numberIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11packet/bgp: Support Four-Octet AGGREGATOR Path AttributeIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11BGPSpeaker: Fix capability check when MP-BGP not supportedIWASE Yusuke
Currently, BGPSpeaker skips sending the Update messages with an IPv4/IPv6 prefix when the peer does not support MP-BGP. This patch fixes capability check in order to send IP prefix when MP-BGP not suppored by the peer. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-11fix of13 VLAN_PCP test caseKawai, Hiroaki
To test VLAN_PCP, VLAN_VID must match. Table miss test was testing VLAN_VID instead of VLAN_PCP, because the packet had mismatching VLAN_VID. Fixes to set only OFPVID_PRESENT bit in the match field. Reviewed-by: Iwase Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-30Ryu 4.4FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01topology: ignore cfm packets on packet inEvan Gray
This commit will allow the host_discovery_packet_in_handler to ignore invalid cfm packets. Ryu will fail to parse cfm packets with an interval of 0 -- We discovered this when one of our systems sent cfm packets with an interval of 0. Signed-off-by: Evan Gray <evanscottgray@gmail.com> Reviewed-by: Iwase Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01topology: pep8 fixesEvan Gray
Normal pep8 fixes, there were also two instances where I updated a commented LOG.debug to include exc_info=True so that the traceback will be logged instead of relying on the error passed in the except. Signed-off-by: Evan Gray <evanscottgray@gmail.com> Reviewed-by: Iwase Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01ofproto: Fix example of OFPSetAsync messageIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01Update the readthedoc URLIWAMOTO Toshihiro
The hosting site has changed to use readthedocs.io instead of readthedocs.org. Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01lib/ofctl_utils: Log the datapath sent toJason Kölker
If a controller has multiple switches connected it is useful to be able to distinguish which datapath the msg is being sent to. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-07-01Avoid parallel executions of AppManager.close()IWAMOTO Toshihiro
If an AppManager.close call is started and all AppManager.services are stopped, AppManager.run_apps starts another close() call, resulting in a KeyError exception in close() (*1). Prevent that using a semaphore. (*1) https://launchpad.net/bugs/1589746 Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-18python3: Use six.add_metaclass for metaclassfumihiko kakuma
__metaclass__ can't be used with python 3 as metaclass syntax has been changed in python 3. Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-18python3: Use six.string_types instead of basestringfumihiko kakuma
Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-18python3: Improve Table class in services.protocols.bgp.info_base.basefumihiko kakuma
Remove itervalues() and values() always returns iterator Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-18python 3: Replace deprecated logging.warn with logging.warningFumihiko Kakuma
logging.warn is deprecated in Python 3 [1]. This patch switches it to the non-deprecated logging.warning. This is bug-reported by openstack [2]. [1] https://docs.python.org/3/library/logging.html#logging.warning [2] https://bugs.launchpad.net/magnum/+bug/1508442 Signed-off-by: Fumihiko Kakuma <kakuma@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09Python3: Explicit string type encodingIWASE Yusuke
Reviewed-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09BGPSpeaker: Remove unused utility modulesIWASE Yusuke
Reviewed-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09BGPSpeaker: Fix unresolved references in Python3IWASE Yusuke
Additionally, this patch enforces the the explicit relative imports Reviewed-by: Fumihiko Kakuma <kakuma@valinux.co.jp> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09BGPSpeaker: Support Per-Peer ASIWASE Yusuke
This patch enables to override the AS number of BGPSpeaker instance by the "local_as" argument of BGPSpeaker.neighbor_add(). e.g.) speaker = BGPSpeaker(as_number=65001, # the default AS number router_id='10.0.0.1', ...) speaker.neighbor_add(address='10.0.0.2', remote_as=65101, local_as=65002, # override AS number ...) Additionally, this patch fixes a typo and sorts the comments of BGPSpeaker.neighbor_add() method. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09packet_data_generator3/gen: Add some NXAction packetsShinpei Muraoka
This patch adds the following test packet. - NXActionController - NXActionFinTimeout - NXActionNote Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09ofproto/nicira_ext: Move the variable and method for Nicira ExtensionShinpei Muraoka
Move variable and method that exist in the ofproto_v1_0.py to the nicira_ext.py. Move the oxm_types that exists in the nx_match.py to the nicira_ext.py. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09tests/test_parser_v10: Update test parameterShinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09ofproto/nx_actions: Update arguments to be compatible with ovs-ofctlShinpei Muraoka
This patch, update the methods that are to be specified in the NXM or OXM. Update the value specified in the bit format to the start and end formats. Update the following NXAction. - NXActionRegLoad - NXActionOutputReg - NXActionMultipath - NXActionBundle - NXActionBundleLoad - NXActionCT Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09ofproto/ofproto_v1_0: Delete some NX actionsShinpei Muraoka
This patch deletes some NX Actions in ofproto_v1_0_parser and fixes to use actions in nx_actions.py. Together, delete Obsolete action in OVS. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09ofproto/nx_actions: Porting the NX Action definition of ofproto_v1_0_parserShinpei Muraoka
Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09ofproto/nx_actions: Update serialize and parseShinpei Muraoka
The serialize within each class has been changed to serialize_body. And serialize_body is executed by the serialize of NXAction. Also update the data format designated method in serialize_body and perse. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-09Extend OVSDB apiAlan Quillin
Adds more ovsdb methods for setting key/values to other_config and external_ids, adds bility to set the controller for a bridge, and adds the ability to create a new port/interface on a bridge Signed-off-by: Alan Quillin <alanquillin@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-05Fix RuntimeError of lldp_packet_in_handlerYi Tseng
Items should not be removed during iteration Error message ``` Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/ryu/base/app_manager.py", line 290, in _event_loop handler(ev) File "/usr/local/lib/python3.4/dist-packages/ryu/topology/switches.py", line 821, in lldp_packet_in_handler for host in self.hosts.values(): RuntimeError: dictionary changed size during iteration ``` Signed-off-by: Yi Tseng <a86487817@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-03Ryu 4.3FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-06-01nx_match: add tun_ipv6_{src,dst}Atzm Watanabe
Open vSwitch accepts NXM_NX_TUN_IPV6_SRC(109) and NXM_NX_TUN_IPV6_DST(110) since v2.5. Signed-off-by: Atzm Watanabe <atzm@iij.ad.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>