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 > -- yamahata ------------------------------------------------------------------------------ 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