summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2014-07-17bgp: add out-filter functionHiroshi Yokoi
Added out-filter function to Ryu BGPSpeaker. It supports IPv4 and IPv6. Signed-off-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-17ofctl_rest: enable getting Description of a porttakahashi.minoru
this patch makes ofctl_rest enable getting Description of a port. usage) URI: /stats/portdesc/<dpid> method: GET e.g. ) curl http://localhost:8080/stats/portdesc/1 {"1": [{"hw_addr": "c6:d8:19:4a:e1:4f", "curr": 0, "supported": 0, "max_speed": 0, "advertised": 0, "peer": 0, "port_no": 4294967294, "curr_speed": 0, "name": "s1", "state": 1, "config": 1}, {"hw_addr": "8e:96:a1:14:d8:a1", "curr": 2112, "supported": 0, "max_speed": 0, "advertised": 0, "peer": 0, "port_no": 1, "curr_speed": 10000000, "name": "s1-eth1", "state": 0, "config": 0}]} Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-17ofctl_rest: support Port Modification Messagetakahashi.minoru
this patch makes ofctl_rest enable use of Port Modification Message. usage) URI: /stats/portdesc/modify method: POST the message body is as follows: dpid port_no (default:0) config (default:0) hw_addr (default:automatic-setting) mask (default:0) advertise (default:automatic-setting) e.g. ) curl -X POST -d '{"dpid": 1, "port_no": 1, "mask": 0b0000001, "config": 0b0000001}' http://localhost:8080/stats/portdesc/modify Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-17ws_topology: fix typoSatoshi Kobayashi
No spec change. The issue occurs at the time of "one_way=True" Signed-off-by: Satoshi Kobayashi <satoshi-k@stratosphere.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-17Correct tcp option values in the test setHiroaki KAWAI
"\x11"*4 is an invalid value for TCP option, because it would be decoded as Kind=17 and Length=17, but actual size is 4. If we'd like to set some non-zero value for TCP option here, Kind=1(NOOP) is better. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-17ofctl_v1_2/3: fix POP_MPLS action and some match fieldstakahashi.minoru
The following causes an error at mod_flow_entry command - ofctl_v1_2.py * match field: metadata, mpls_label - ofctl_v1_3.py * match field: in_phy_port and the following causes an error at get_flow_stats command - ofctl_v1_2.py * action: POP_MPLS * match field: metadata, ipv6_nd_target - ofctl_v1_3.py * action: POP_MPLS * match field: ipv6_nd_target this patch fixes them. Signed-off-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-10adding FloatOpt to the config parserAndrew Ragusa
This patch just adds the ability to parse Float values from a config using oslo.config.cfg FloatOpt class Signed-off-by: AJ Ragusa <aragusa@grnoc.iu.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-07add --pid-file option to cliISHIDA Wataru
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-07bgp: support specifying nexthop per prefixFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
2014-07-07pip-requires: gui_topology requires webob>=1.2Hisaharu Ishii
gui_topology imports webob.static.DirecoryApp which was added since webob 1.2 Signed-off-by: Hisaharu Ishii <ishii.hisaharu@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03bgp: fix send_notificaiton crashFUJITA Tomonori
self._localname() is invalid before a connection establishes. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03Ryu 3.11FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03ospf: describe prefix in one attribute 'prefix' for ease of useISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03ospf: add segment routing opaque typesISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03ospf: fix bug in encodingISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-03ospf: support for opaque messageISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-07-01bgp: support md5 authentication for re-active sessionsFUJITA Tomonori
For now, only Linux is supported. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30bgp: support md5 authentication for pro-active sessionsFUJITA Tomonori
For now, only Linux is supported. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30bgp: fix withdraw in EventPrefix notificationFUJITA Tomonori
A lost path's is_withdraw is not True so we can't use it. Let's pass path and is_withdraw information separately to emit_signal(). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Reviewed-by: Hiroshi Yokoi <yokoi.hiroshi@po.ntts.co.jp>
2014-06-30sw test too: use assured Forwarding behavior DSCP value for dscp_remarkHiroaki KAWAI
OpenFlow spec describes "DSCP values that do not encode a drop precedence are not modified". Diffserv Assured Forwarding described in rfc2597(+rfc3260) has DSCP values which encodes "drop precedence". I think we'd better test OFPMBT_DSCP_REMARK works on AF21 -> AF22 rating, for example. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30bgp: support specifying next hop for neighborFUJITA Tomonori
neighbor_add method takes 'next_hop' parameter. If not specified, like before, host's ip connected to the neighbor is used as a next hop. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30bgp: add IPv6 advertisement supportFUJITA Tomonori
You can advertize IPv6 addresses to IPv6 neighbors. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30packet/bgp: fix BGPPathAttributeMpReachNLRI next_hop parser and serializerFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-30bgp: clean up getpeername() and getsockname() usageFUJITA Tomonori
The current code calls getpeername() and getsockname() at lots of places. The formats of the return values of getpeername() and getsockname() are different between ipv4 and v6. So the code became messy. Calling getpeername() and getsockname() at one place and caching the results is ideal. But that needs some refactoring. This patch is kinda halfway. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-29Initializing the variable 's' so that the get_desc_stats() call does not ↵Srini Seetharaman
cause an exceptions when there are no messages Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com> Reviewed-by: TAKAHASHI Minoru <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-29Add a small library to deal with TCP-MD5 socket optionYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-26doc: improve the appearance of the tableYoshihiro Kaneko
I don't want to write a directive of sphinx in scripts, but I was not able to find other methods. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-26doc: leave out too large samplesYoshihiro Kaneko
To let compilation of the document succeed, this patch leave out large samples. Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23bgp: add ssh_console option for bgpspeaker moduleISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23document: ryu.app.gui_topologyYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: new features)Yuichi Ito
OF 1.4.0 spec (B.14.14 PBB UCA header field) says: A new OXM field OFPXMT_OFB_PBB_UCA has been added to match the "use customer address" header field from the PBB header (EXT-256). These test files aim to examine new features of 'set-field action' and 'match' of FlowMod message. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: group:all/select)Yuichi Ito
These test files aim to examine 'group action' of FlowMod message. This patch only copies ryu/tests/switch/of13/group. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: meter)Yuichi Ito
These test files aim to examine 'meter instruction' of FlowMod message. This patch only copies ryu/tests/switch/of13/meter. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: match)Yuichi Ito
These test files aim to examine 'match' of FlowMod message. This patch only copies ryu/tests/switch/of13/match. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: action with set-field only)Yuichi Ito
These test files aim to examine 'set-field action' of FlowMod message. This patch only copies ryu/tests/switch/of13/action/25_SET_FIELD. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add default test files (of14: action without set-field)Yuichi Ito
These test files aim to examine 'action' excluding 'set-field' of FlowMod message. This patch only copies ryu/tests/switch/of13/action. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: run_mininet: support Open vSwitch with OpenFlow 1.4Yuichi Ito
usage) to use Open vSwitch with OpenFlow 1.4: sudo ryu/tests/switch/run_mininet.py --swtich ovs14 to use Open vSwitch with OpenFlow 1.3: sudo ryu/tests/switch/run_mininet.py --switch ovs13 or sudo ryu/tests/switch/run_mininet.py --switch ovs or sudo ryu/tests/switch/run_mininet.py Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Modify OFPActionSetField to normalizeYuichi Ito
This patch is for avoiding the following issues when using ofproto_v1_4_parser: - OFPActionSetField that is created from JSON keeps unicode strings, instead of usual strings. - In OFPActionSetField that is created from JSON, IPv6 formats like 'ff::0' or '00ff:0000:0000:0000:0000:0000:0000:0000' are not normalized to 'ff::'. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Modify OFPMatch to normalizeYuichi Ito
This patch is for avoiding the following issues when using ofproto_v1_4_parser: - OFPMatch that is created from JSON keeps unicode strings, instead of usual strings. - In OFPMatch that is created from JSON, IPv6 formats like 'ff::0' or '00ff:0000:0000:0000:0000:0000:0000:0000' are not normalized to 'ff::'. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Enable using connected switches to compareYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Enable using user-specified versions to parseYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Add support for using user-specified versionsYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23ryu/flags: Add config parameters related sw test toolYuichi Ito
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-23sw test tool: Modify conditions of ofp_packet_in_reasonYuichi Ito
OF 1.4.0 spec (B.14.2 More descriptive reasons for packet-in) says: The main change is that the the "output action" reason OFPR_ACTION is effectively split into four reasons, "apply-action", "action-set", "group bucket" and "packet-out", representing the four distinct context where this action is used. A set of reason values for ofp_packet_in message in OF 1.3.3 is: enum ofp_packet_in_reason { OFPR_NO_MATCH = 0, /* No matching flow (table-miss flow entry). */ OFPR_ACTION = 1, /* Action explicitly output to controller. */ OFPR_INVALID_TTL = 2, /* Packet has invalid TTL */ }; And a new set of reason values for ofp_packet_in message in OF 1.4.0 is: enum ofp_packet_in_reason { OFPR_TABLE_MISS = 0, /* No matching flow (table-miss flow entry). */ OFPR_APPLY_ACTION = 1, /* Output to controller in apply-actions. */ OFPR_INVALID_TTL = 2, /* Packet has invalid TTL */ OFPR_ACTION_SET = 3, /* Output to controller in action set. */ OFPR_GROUP = 4, /* Output to controller in group bucket. */ OFPR_PACKET_OUT = 5, /* Output to controller in packet-out. */ }; Therefore, "reason != OFPR_ACTION" means "reason == OFPR_NOMATCH or reason == OFPR_INVALID_TTL". NOTE: OFPR_TABLE_MISS is defined as OFPR_NO_MATCH in ryu.ofproto.ofproto_v1_4. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix ipv6 peering regressionFUJITA Tomonori
Workaround. Needs to clean up get_peername and get_sockname usage. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix best_path_change_handler for best_path_lostFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix example codeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix another crash (recv_open -> recv_open_msg)YAMAMOTO Takashi
Tested-by: Itsuro ODA <oda@valinux.co.jp> Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix some leftover of transition to packet lib bgpYAMAMOTO Takashi
fix some leftover of commit 9d5e66fa4e49ce66103dbc9640a33bd9c22fab3f. ("bgp: use ryu bgp packet library instead of original one") Tested-by: Itsuro ODA <oda@valinux.co.jp> Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-06-22bgp: fix a crash in path comparisonYAMAMOTO Takashi
this fixes the following crash. API method core.start called with args: {'router_id': '172.17.190.2', 'waiter':< <ryu.lib.hub.Event object at 0x7f903ed084d0>, 'bgp_server_port': 179, 'local_as: : 64512, 'refresh_max_eor_time': 0, 'refresh_stalepath_time': 0} API method neighbor.create called with args: {'cap_mbgp_vpnv6': False, 'ip_addrs ss': '172.17.190.3', 'cap_mbgp_vpnv4': False, 'remote_as': 64512, 'cap_mbgp_ipv' ': True} API method neighbor.create called with args: {'cap_mbgp_vpnv6': False, 'ip_addrs ss': '172.17.190.4', 'cap_mbgp_vpnv4': False, 'remote_as': 64512, 'cap_mbgp_ipv' ': True} Connection to peer: 172.17.190.3 established Connection to peer: 172.17.190.4 established the best path changed: 64512 0.0.0.0/0 172.17.190.3 False hub: uncaught exception: Traceback (most recent call last): File "/opt/ryu/ryu/lib/hub.py", line 52, in _launch func(*args, **kwargs) File "/opt/ryu/ryu/services/protocols/bgp/base.py", line 241, in start self._run(*args, **kwargs) File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 97, in _run self._process_dest() File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 114, in _proces_ _dest next_dest.process() File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 396, in prc cess self._process() File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 366, in _po ocess new_best_path, reason = self._process_paths() File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 485, in _po ocess_paths current_best_path, reason = self._compute_best_known_path() File "/opt/ryu/ryu/services/protocols/bgp/info_base/base.py", line 588, in _cm mpute_best_known_path next_path) File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 252, in computeb best_path best_path = _cmp_by_router_id(local_asn, path1, path2) File "/opt/ryu/ryu/services/protocols/bgp/processor.py", line 495, in _cmp_byr router_id local_bgp_id = path_source1.protocol.sent_open.bgpid AttributeError: 'Peer' object has no attribute 'protocol' Tested-by: Itsuro ODA <oda@valinux.co.jp> Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>