It might be too late because it has been already committed.
pep8 please. Too long lines.

On Mon, May 14, 2012 at 10:53:55AM +0900, FUJITA Tomonori wrote:

> The following seems to work.
> 
> diff --git a/ryu/ofproto/ofproto_v1_0.py b/ryu/ofproto/ofproto_v1_0.py
> index c45f316..096d5ae 100644
> --- a/ryu/ofproto/ofproto_v1_0.py
> +++ b/ryu/ofproto/ofproto_v1_0.py
> @@ -238,6 +238,8 @@ NXAST_REG_MOVE = 6
>  NXAST_REG_LOAD = 7
>  NXAST_SET_TUNNEL64 = 9
>  NXAST_MULTIPATH = 10
> +NXAST_BUNDLE = 12
> +NXAST_BUNDLE_LOAD = 13
>  NXAST_RESUBMIT_TABLE = 14
>  
>  NX_ACTION_RESUBMIT_PACK_STR = '!HHIHHB3x'
> @@ -264,6 +266,10 @@ NX_ACTION_MULTIPATH_PACK_STR = '!HHIHHH2xHHI2xHI'
>  NX_ACTION_MULTIPATH_SIZE = 32
>  assert calcsize(NX_ACTION_MULTIPATH_PACK_STR) == NX_ACTION_MULTIPATH_SIZE
>  
> +NX_ACTION_BUNDLE_PACK_STR = '!HHIHHHHIHHI4x'
> +NX_ACTION_BUNDLE_SIZE = 32
> +assert calcsize(NX_ACTION_BUNDLE_PACK_STR) == NX_ACTION_BUNDLE_SIZE
> +
>  NX_ACTION_HEADER_PACK_STR = '!HHIH'
>  NX_ACTION_HEADER_SIZE = 10
>  assert calcsize(NX_ACTION_HEADER_PACK_STR) == NX_ACTION_HEADER_SIZE
> @@ -636,3 +642,7 @@ NX_MP_ALG_MODULO_N = 0
>  NX_MP_ALG_HASH_THRESHOLD = 1
>  NX_MP_ALG_HRW = 2
>  NX_MP_ALG_ITER_HASH = 3
> +
> +# enum nx_bd_algorithm
> +NX_BD_ALG_ACTIVE_BACKUP = 0
> +NX_BD_ALG_HRW = 1
> diff --git a/ryu/ofproto/ofproto_v1_0_parser.py 
> b/ryu/ofproto/ofproto_v1_0_parser.py
> index f345de8..7be5f7d 100644
> --- a/ryu/ofproto/ofproto_v1_0_parser.py
> +++ b/ryu/ofproto/ofproto_v1_0_parser.py
> @@ -580,6 +580,83 @@ class NXActionMultipath(NXActionHeader):
>                     dst)
>  
>  
> +class NXActionBundleBase(NXActionHeader):
> +    def __init__(self, subtype, algorithm, fields, basis, slave_type, 
> n_slaves,
> +                 ofs_nbits, dst, slaves):
> +        _len = ofproto_v1_0.NX_ACTION_BUNDLE_SIZE + len(slaves) * 2
> +        _len += (_len % 8)
> +        super(NXActionBundleBase, self).__init__(subtype, _len)
> +        
> +        self.algorithm = algorithm
> +        self.fields = fields
> +        self.basis = basis
> +        self.slave_type = slave_type
> +        self.n_slaves = n_slaves
> +        self.ofs_nbits = ofs_nbits
> +        self.dst = dst
> +        self.slaves = slaves
> +
> +    def serialize(self, buf, offset):
> +        slave_offset = offset + ofproto_v1_0.NX_ACTION_BUNDLE_SIZE
> +
> +        for s in self.slaves:
> +            msg_pack_into('!H', buf, slave_offset, s)
> +            slave_offset += 2
> +
> +        pad_len = (len(self.slaves) * 2 + 
> ofproto_v1_0.NX_ACTION_BUNDLE_SIZE) % 8

Too long line.


> +        if pad_len != 0:
> +            msg_pack_into('%dx' % pad_len, buf, slave_offset)
> +
> +        msg_pack_into(ofproto_v1_0.NX_ACTION_BUNDLE_PACK_STR, buf,
> +                      offset, self.type, self.len, self.vendor, self.subtype,
> +                      self.algorithm, self.fields, self.basis,
> +                      self.slave_type, self.n_slaves,
> +                      self.ofs_nbits, self.dst)
> +
> +    @classmethod
> +    def parser(self, cls, buf, offset):
> +        type_, len_, vendor, subtype, algorithm, fields, basis, slave_type, 
> n_slaves, ofs_nbits, dst = struct.unpack_from(
> +            ofproto_v1_0.NX_ACTION_BUNDLE_PACK_STR, buf, offset)

Too long line.


thanks,

> +        slave_offset = offset + ofproto_v1_0.NX_ACTION_BUNDLE_SIZE
> +
> +        slaves = []
> +        for i in range(0, n_slaves):
> +            s = struct.unpack_from('!H', buf, slave_offset)
> +            slaves.append(s[0])
> +            slave_offset += 2
> +
> +        return cls(algorithm, fields, basis, slave_type,
> +                   n_slaves, ofs_nbits, dst, slaves)
> +
> +
> [email protected]_nx_action_subtype(ofproto_v1_0.NXAST_BUNDLE)
> +class NXActionBundle(NXActionBundleBase):
> +    def __init__(self, algorithm, fields, basis, slave_type, n_slaves,
> +                 ofs_nbits, dst, slaves):
> +        super(NXActionBundle, self).__init__(
> +            ofproto_v1_0.NXAST_BUNDLE,
> +            algorithm, fields, basis, slave_type, n_slaves,
> +            ofs_nbits, dst, slaves)
> +
> +    @classmethod
> +    def parser(cls, buf, offset):
> +        return NXActionBundleBase.parser(NXActionBundle, buf, offset)
> +        
> +
> [email protected]_nx_action_subtype(ofproto_v1_0.NXAST_BUNDLE_LOAD)
> +class NXActionBundleLoad(NXActionBundleBase):
> +    def __init__(self, algorithm, fields, basis, slave_type, n_slaves,
> +                 ofs_nbits, dst, slaves):
> +        super(NXActionBundleLoad, self).__init__(
> +            ofproto_v1_0.NXAST_BUNDLE_LOAD,
> +            algorithm, fields, basis, slave_type, n_slaves,
> +            ofs_nbits, dst, slaves)
> +
> +    @classmethod
> +    def parser(cls, buf, offset):
> +        return NXActionBundleBase.parser(NXActionBundleLoad, buf, offset)
> +        
> +
>  class OFPDescStats(collections.namedtuple('OFPDescStats',
>          ('mfr_desc', 'hw_desc', 'sw_desc', 'serial_num', 'dp_desc'))):
>      @classmethod
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Ryu-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ryu-devel
> 

-- 
yamahata

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to