724 Commits

Author SHA1 Message Date
FUJITA Tomonori
b0e553d26a add traceroute source ip registration api
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ite-2 ite-3
2013-06-11 13:32:03 -07:00
Isaku Yamahata
82b919b86f packet lib: packet class supports get_protocol method
returns a list of protocols that matches to the specified protocol.

Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:22 -07:00
Isaku Yamahata
6cc2c48016 packet lib: add Packet.__contains__
you can do something like:
  if arp.arp in Packet(msg.data):

  a = arp.arp(...)
  if a in Packet(msg.data):

  >>> from ryu.lib.packet import packet
  >>> from ryu.lib.packet import arp
  >>> a = arp.arp_ip(1, 0, 0, 0, 0)
  >>> p = packet.Packet()
  >>> p.protocols = [a]
  >>> arp.arp in p
  True
  >>> a in p
  True

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:22 -07:00
FUJITA Tomonori
da5c7f13cf packet lib: packet class accepts protocols list argument
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
FUJITA Tomonori
00261be526 packet lib: arp default args
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
FUJITA Tomonori
30a91a81a3 packet lib: vlan default args
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
FUJITA Tomonori
8b35d7ea34 packet lib: mpls default args
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
FUJITA Tomonori
edcac1674d packet lib: ipv4 default args
Make ipv4 more handy by not asking for every args. I prefer to use
more human-readble representation for src and dst but it leads to the
API change so let's do it later with another patch.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
FUJITA Tomonori
d33ef49213 packet lib: icmp support time exceeded type
Used mainly for traceroute.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:23:12 -07:00
Shaun Crampton
e89eb36465 packet lib: allow packet type to be specified when parsing packet
Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:22:56 -07:00
Shaun Crampton
5b9e46a8fc packet lib: For convenience, make packet into a sequence type
Protocols can mow be accesed as packet[n].

Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10 09:22:52 -07:00
FUJITA Tomonori
a9c2562015 disable sending all events
Some events can't converted into RPC properly yet.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-05 10:32:01 -07:00
FUJITA Tomonori
d9a30240db fix rpc match
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-05 07:14:26 +09:00
FUJITA Tomonori
ce6abfa776 Revert "of1.2: Fix MTVlanVid() parser and serializer"
This reverts commit 6afa1c35ec0a0b2c66c22b6521be9886397aa1df.

You need this change when you use osrg's mpls-of12 repository:

https://github.com/osrg/openvswitch/tree/mpls-of12

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-28 14:29:28 +09:00
FUJITA Tomonori
b35444955d rpc api: support matchfield, match set_with_mask
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-28 14:02:05 +09:00
FUJITA Tomonori
d76b53127d send all OFP events as notificaiton
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-12 13:34:10 -07:00
FUJITA Tomonori
da393e8e3d ofproto_parser: add ofp_attr function
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-12 00:10:43 -07:00
FUJITA Tomonori
0a11bf61ba get all of events
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 23:56:53 -07:00
FUJITA Tomonori
389e933d30 add the feature to get all events
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 23:56:53 -07:00
FUJITA Tomonori
11f8ab87a0 add of-wire rpc api
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 23:56:53 -07:00
FUJITA Tomonori
8948e3e7c1 add simple rpc helper
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 23:56:53 -07:00
Can Zhang
d359677e9d Support bind IPv6 addresses in StreamServer
Use a very loose condition to determine if the address is an IPv6
address or not.

Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 14:53:09 -07:00
FUJITA Tomonori
7c184ce8e2 Revert "add eventlet to test requirement"
This reverts commit e93a3f2d99133422e51fbd531dd58052e8e261a3.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11 14:53:06 -07:00
YAMAMOTO Takashi
edd7048be2 ofproto: change the way __str__ is implemented for of-wire messages
instead of explicit listing of of-wire attributes, use a heuristics
to exclude internal attributes. (eg. buf, datapath, etc)

this commit changes __str__ outputs.  update a test case accordingly.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-12 06:30:27 +09:00
YAMAMOTO Takashi
359efd73aa controller: stop catching GreenletExit
no longer necessary after the hub changes.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:36:34 +09:00
YAMAMOTO Takashi
5003c1634c hub: add some more tests
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:36:32 +09:00
YAMAMOTO Takashi
47bc96ef98 hub: handle GreenletExit internally
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:36:31 +09:00
YAMAMOTO Takashi
6955c13e4e hub: comment
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:36:30 +09:00
Isaku Yamahata
aa7518a073 of1.0: simplify NXAction initialization
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:32:08 +09:00
Isaku Yamahata
9e25097748 of1.0: simplify OFPActionVendor
vendor value is available as cls_vendor.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:31:58 +09:00
Isaku Yamahata
77414c1cc2 of1.0: NXActionHeader should be subclass of OFPActionVendor
Because NXActionHeader is extention to OFPActionVendor.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10 00:31:46 +09:00
Yoshihiro Kaneko
95963e3ced of1.3: fix OFPPortStatus parser
A correction same as OF1.2.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:55:24 +09:00
Yoshihiro Kaneko
4dd3028d9c of1.3: fix parser of OFPGetAsyncReply
The (un)pack format of OFPGetAsycnReply extracts 6 values.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:54:52 +09:00
Yoshihiro Kaneko
deccd3151a of1.3: fix serializer of OFPSetAsync
The pack format of OFPSetAsync requires 6 arguments.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:53:06 +09:00
Yoshihiro Kaneko
c78d174a63 of1.3: fix wrong method name in OFPQueueGetConfigRequest
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:51:20 +09:00
Yoshihiro Kaneko
0c7b42a174 of1.3: fix pack string of OFPMeterStatsRequest
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:50:40 +09:00
Yoshihiro Kaneko
76b271461b of1.3: fix wrong class name in OFPGroupFeaturesStatsRequest.__init__()
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:48:43 +09:00
Yoshihiro Kaneko
bc78776f40 of1.3: fix attribute name of OFPGroupDescStats
accord with OF1.3.0/1.3.1 spec.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:47:23 +09:00
Yoshihiro Kaneko
0f83d74065 of1.3: fix lacking argument in OFPAggregateStatsRequest.__init__()
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-04 08:46:06 +09:00
FUJITA Tomonori
e93a3f2d99 add eventlet to test requirement
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-02 16:38:19 +09:00
Isaku Yamahata
26134311d3 lib/hub: Event.wait should return its internal flag
'pydoc gevent.event.Event' says

> Help on method wait in gevent.event.Event:
>
> gevent.event.Event.wait = wait(self, timeout=None) unbound gevent.event.Event method
>     Block until the internal flag is true.
>     If the internal flag is true on entry, return immediately. Otherwise,
>     block until another thread calls :meth:`set` to set the flag to true,
>     or until the optional timeout occurs.
>
>     When the *timeout* argument is present and not ``None``, it should be a
>     floating point number specifying a timeout for the operation in seconds
>     (or fractions thereof).
>
>     Return the value of the internal flag (``True`` or ``False``).

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-02 14:17:43 +09:00
FUJITA Tomonori
ca1372ad1a of1.0: match accepts partial parameters
You can pass some of the parameters for OFPMatch.

match = OFPMatch(in_port=in_port)

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-01 22:29:44 +09:00
YAMAMOTO Takashi
71aa062c49 limit the size of ryu app's event queue
otherwise a queue grows too long and consumes much memory on load.
the size used in this commit (128) is arbitrary.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-01 22:18:40 +09:00
YAMAMOTO Takashi
fe6f94434c controller: fix send queue draining again
and this time add comments to explain the intention.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-01 22:18:39 +09:00
YAMAMOTO Takashi
9e6d3053c0 sweep the tree to change from gevent to ryu.lib.hub
mostly mechanical changes.
also, change the requirement from gevent to eventlet.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-01 22:18:39 +09:00
YAMAMOTO Takashi
a01972e18c add a threading hub module
this provides gevent-like api using eventlet.

Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-01 22:18:39 +09:00
FUJITA Tomonori
8fcbebb849 Ryu 1.9
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
v1.9
2013-04-30 07:27:34 +09:00
OHMURA Kei
45fa75afba of1.0: add nx_aggregate_stats support
Signed-off-by: OHMURA Kei <ohmura.kei@lab.ntt.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 17:43:07 +09:00
Can Zhang
32f219666b of1.0: OFPMatch support keyword-style parameters
Signed-off-by: Can Zhang <can@canx.me>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 10:15:31 +09:00
YAMAMOTO Takashi
b103538674 ovs.poller: workaround a bug in eventlet
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-28 08:14:29 +09:00