Hi,

there is no reason which must be an instance attribute,
so I will correct it to a class attribute.

thanks.


(2013/06/06 0:15), Isaku Yamahata wrote:
> Why not _STR_CONVERT be class attribute instead of instance attribute?
>
> thanks,
>
> On Wed, Jun 05, 2013 at 01:58:19PM +0900, watanabe.fumitaka wrote:
>> Add an individual conversion process to ethernet.py and ipv4.py
>>
>> Individual conversion is needed to the variable it cannot be
>> understood that does not conversion, like MAC address or IP address.
>>
>> and it is required for other packet libraries.
>>
>>
>> Signed-off-by: WATANABE Fumitaka <watanabe.fumit...@nttcom.co.jp>
>> ---
>>   ryu/lib/packet/ethernet.py |    6 ++++++
>>   ryu/lib/packet/ipv4.py     |    8 ++++++++
>>   2 files changed, 14 insertions(+)
>>
>> diff --git a/ryu/lib/packet/ethernet.py b/ryu/lib/packet/ethernet.py
>> index 7bc18ef..73185f2 100644
>> --- a/ryu/lib/packet/ethernet.py
>> +++ b/ryu/lib/packet/ethernet.py
>> @@ -17,6 +17,7 @@ import struct
>>   from . import packet_base
>>   from . import vlan
>>   from . import mpls
>> +from ryu.lib import mac
>>   from ryu.ofproto import ether
>>
>>
>> @@ -45,6 +46,11 @@ class ethernet(packet_base.PacketBase):
>>           self.ethertype = ethertype
>>           self.length = ethernet._MIN_LEN
>>
>> +        # for convert to string
>> +        self._STR_CONVERT = {'dst': mac.haddr_to_str,
>> +                             'src': mac.haddr_to_str,
>> +                             'ethertype': lambda value: '0x%04x' % value}
>> +
>>       @classmethod
>>       def parser(cls, buf):
>>           dst, src, ethertype = struct.unpack_from(cls._PACK_STR, buf)
>> diff --git a/ryu/lib/packet/ipv4.py b/ryu/lib/packet/ipv4.py
>> index 09ed734..daba81d 100644
>> --- a/ryu/lib/packet/ipv4.py
>> +++ b/ryu/lib/packet/ipv4.py
>> @@ -20,6 +20,7 @@ from . import packet_utils
>>   from . import icmp
>>   from . import udp
>>   from . import tcp
>> +from ryu.lib import ip
>>   from ryu.ofproto import inet
>>
>>
>> @@ -83,6 +84,13 @@ class ipv4(packet_base.PacketBase):
>>           self.length = header_length * 4
>>           self.option = option
>>
>> +        # for convert to string
>> +        self._STR_CONVERT = {'identification': hex,
>> +                             'flags': lambda value: '0x%02x' % value,
>> +                             'csum': hex,
>> +                             'src': ip.ipv4_to_str,
>> +                             'dst': ip.ipv4_to_str}
>> +
>>       @classmethod
>>       def parser(cls, buf):
>>           (version, tos, total_length, identification, flags, ttl, proto, 
>> csum,
>> -- 1.7.10.4
>>
>>
>> ------------------------------------------------------------------------------
>> How ServiceNow helps IT people transform IT departments:
>> 1. A cloud service to automate IT design, transition and operations
>> 2. Dashboards that offer high-level views of enterprise services
>> 3. A single system of record for all IT processes
>> http://p.sf.net/sfu/servicenow-d2d-j
>> _______________________________________________
>> Ryu-devel mailing list
>> Ryu-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ryu-devel
>>
>


-- 
---------------------------------------
渡邊 文隆(わたなべ ふみたか)
 TEL:043-211-3721 (内線:26-6886)
 Mail:watanabe.fumit...@nttcom.co.jp
   NTTコムウェア株式会社  NW事業本部
   コアNW-S部 ノードBU ネットワークSE担当
---------------------------------------


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to