summaryrefslogtreecommitdiffhomepage
path: root/ryu/lib
AgeCommit message (Collapse)Author
2013-06-10packet lib: icmp support time exceeded typeFUJITA Tomonori
Used mainly for traceroute. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-10packet lib: allow packet type to be specified when parsing packetShaun Crampton
Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-06-08packet lib: For convenience, make packet into a sequence typeShaun Crampton
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-01packet lib: make test_packet work stand-aloneShaun Crampton
Prevent missing imports when running ./run_tests.sh ryu.tests.unit.packet Signed-off-by: Shaun Crampton <Shaun.Crampton@metaswitch.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-31lib/packet: DHCP packet parser/serializer竹下昇
Add DHCP encoder/decoder class. Signed-off-by: TAKESHITA Noboru <takeshita.noboru@yes.nttcom.ne.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-23lib/packet/vrrp: fix is_valid()YAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-11Support bind IPv6 addresses in StreamServerCan Zhang
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-10hub: handle GreenletExit internallyYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-10hub: commentYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-05-02lib/hub: Event.wait should return its internal flagIsaku Yamahata
'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-01sweep the tree to change from gevent to ryu.lib.hubYAMAMOTO Takashi
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-01add a threading hub moduleYAMAMOTO Takashi
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-04-24ryu.lib.packet: docstring tweaks for better renderingYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-20ryu.lib.packet: docstringYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-18ryu.lib.packet: docstringYAMAMOTO Takashi
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16lib: ip address presentation convert helper methodsCan Zhang
Signed-off-by: Can Zhang <can@canx.me> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16packet lib: docstringYAMAMOTO Takashi
also, prefix a private method with _. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16lib/packet: VRRP packet parser/serializerIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16lib/packet/ipv6: add constants for parse/serializeIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16lib/packet/ipv4: add constants for parse/serializeIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-16lib/packet/arp.py: add convenience function to create arp for ipIsaku Yamahata
Since ip case is most often used, introduce a convenience function for that. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-11lib/packet/lldp.py: pylintIsaku Yamahata
> W: 78,0:LLDPBasicTLV.__init__: Unused argument 'args' > W: 78,0:LLDPBasicTLV.__init__: Unused argument 'kwargs' > W:109,4:lldp.__init__: __init__ method from base class 'PacketBase' is not called Cc: "can." <can@canx.me> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-11ryu/lib/packet/lldp.py: remove __str__ method from class LLDPBasicTLV and ↵Isaku Yamahata
class lldp Those methods are legacy when lldp.py was written for dpkt. They don't make sense. remove them. Cc: "can." <can@canx.me> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-02ryu/lib/packet/packet.py: should use isinstance instead of __class__.__base__Isaku Yamahata
The current implementation doesn't allow inheriting twice from class PacketBase. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-02lib/packet/packet_utils: optimize checksumIsaku Yamahata
builtin function, sum, is much faster than for loop. The result on my machine is as follows > def main(): > from timeit import timeit > data = bytearray().zfill(1500) > print 'new=', timeit(lambda : checksum(data), number=1000) > print 'old=', timeit(lambda : checksum_old(data), number=1000) > > new= 0.00800108909607 > old= 0.266770124435 Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet/tcp: use checksum_ip()Isaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet/udp: use checksum_ip()Isaku Yamahata
As side effect, IPv6 is also supported. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet/icmpv6: use checksum_ip()Isaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet: checksum function with pseudo ipv4/ipv6 headerIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet/packet_utils: improve checksum byteswapIsaku Yamahata
move byteswap logic into checksum from caller. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/packet/packet_utils: improve checksum paddingIsaku Yamahata
IP checksum needs padding. Move padding logic into checksum from caller. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31lib/port_no: handling port_no as stringYAMADA Hideki
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-28lib/packet/packet_base: fix signature of PacketBase.{parser, serialize}Isaku Yamahata
All subclasses define them as parser(cls, buf) and serialize(self, payload, prev) Not parser(cls), serialize(self). pylint also complains like > W: 50,4:ipv4.parser: Arguments number differs from overridden method > W: 65,4:ipv4.serialize: Arguments number differs from overridden method Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-28lib ofctl_v1_2: add VLAN_ID setting means竹下昇
This patch contains the following update for ofctl_v1_2 library. adding a means which sets up VLAN_ID. (I think that I will use this by a firewall Ryu application.) Signed-off-by: TAKESHITA Noboru <takeshita.noboru@yes.nttcom.ne.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-25lib ofctl_v1_2: fix file modesFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-25add ofctl_v1_2 librarywatanabe.fumitaka
This is a openflow v1.2 control library. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-25update ofctl_v1_0 librarywatanabe.fumitaka
This patch contains the update for ofctl_v1_0 library. Signed-off-by: WATANABE Fumitaka <watanabe.fumitaka@nttcom.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-18ofconfig: use ElementTree iterator instead of getchildrenYAMAMOTO Takashi
getchildren is documented to be obsolete. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-18vsctl: fix timeoutYAMAMOTO Takashi
- run_command's timeout argument is named 'timeout_msec', but all callers seem to pass the value in second. so rename the argument to 'timeout_sec'. - gevent.Timeout takes a timeout value in second. remove a conversion, which seems wrong even if the argument was in ms. Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-18packet lib: fix icmpv6.nd parserHIYAMA Manabu
Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08doc: of_config libraryIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08of_config: OF capable switch class to issue OFConfig requestIsaku Yamahata
This class implements direct API to ofconfig. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08of_config: constants for of-configIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08of_config/schema: add missing importIsaku Yamahata
Otherwise lxml.etree.XMLSchema complains. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08of_config: import XML schema files for OF config.Isaku Yamahata
Import XML schema files for OF config. They are stolen from flowflowarding of_config. NOTE: They adds operation attribute where they accepts. When we supports another OF-config capable switch, they needs to be updated. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08netconf: add constants for netconfIsaku Yamahata
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08netconf: improve schema for netconfIsaku Yamahata
RFC6241 defines only message layer, doesn't operation layer. So adds definitions for operation layer. Note: notification layer is still missing yet. Plus indentation fix. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08netconf: import XML schema for netconfIsaku Yamahata
This is from IANA defined by RFC6241. stolen from http://www.iana.org/assignments/xml-registry/schema/netconf.xsd Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-08netconf: import xml schemaIsaku Yamahata
This is stolen from flowforwarding enetconf git://github.com/FlowForwarding/enetconf.git enetconf/priv/xml.xsd This is a slimmed down version of http://www.w3.org/2001/xml.xsd. Without this, validator can access to network when loading/validating XML. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-27lib/mac: fix raise ValueErrorEisukeTAKAHASHI
Traceback (most recent call last): File "/home/openflow/ryu/.venv/local/lib/python2.7/site-packages/nose/tools/nontrivial.py", line 67, in newfunc raise AssertionError(message) AssertionError: test_mac_haddr_to_bin_true() did not raise ValueError Signed-off-by: EisukeTAKAHASHI <takahashi.eisuke@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>