10 Commits

Author SHA1 Message Date
Isaku Yamahata
3837a84eec lib/packet: teach packet library to truncate padding octet
The patch teaches packet library to truncate padding octets.
Change packet_base.parser() to return (header, next_type, rest_of_packet)
The protocol class that knows its payload length should rest_of_packet
where padding octets at the last of packet is truncated.

As bonus,
- fix ipv6 parser as ipv6 header doesn't have options.
  It seems copy-and-paste from ipv4
- improve ipv4, tcp a bit

Cc: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Cc: Shaun Crampton <Shaun.Crampton@metaswitch.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-07-02 01:19:27 +09:00
YAMAMOTO Takashi
c3c6ad3426 ryu.lib.packet: docstring
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-04-20 04:56:49 +09:00
Isaku Yamahata
e1414b7fbe lib/packet/tcp: use checksum_ip()
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-03-31 18:21:01 +09:00
Isaku Yamahata
565df6fc48 lib/packet/packet_utils: improve checksum byteswap
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-31 18:19:42 +09:00
Isaku Yamahata
d0c5c14ad8 lib/packet/packet_utils: improve checksum padding
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-31 18:19:42 +09:00
Henkel, Michael
bed275ec1b packet lib: add ipv6 support
Signed-off-by: "Henkel, Michael" <michael.henkel@hp.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2013-02-05 23:33:09 +09:00
HIYAMA Manabu
fc264cc971 Fix zero padding
- zfill() is a func of the string to be putting in a '0'.
  bytearray().zfill(n) -> bytearray(n)

- unify notation of zero with other code.
  '\0' -> '\x00'

Signed-off-by: HIYAMA Manabu <hiyama.manabu@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-09-30 21:48:05 +09:00
YAMADA Hideki
09c70176ab packet lib: tcp option support
Signed-off-by: YAMADA Hideki <yamada.hideki@po.ntts.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-09-18 10:31:33 +09:00
FUJITA Tomonori
77df140ecf packet lib: set _MIN_LEN class variable
All protocols need to check if the data length is long enough so let's
set the minimum length in the same way.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-08-29 08:42:26 +09:00
FUJITA Tomonori
4d00bc8025 packet lib: add tcp support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2012-08-28 05:58:25 +09:00