ruby/trema/match.c in trema-0.4.0 vs ruby/trema/match.c in trema-0.4.1

- old
+ new

@@ -319,11 +319,12 @@ else { nw_addr = match->nw_dst; masklen = ( match->wildcards & OFPFW_NW_DST_MASK ) >> OFPFW_NW_DST_SHIFT; } uint32_t prefixlen = masklen > 32 ? 0 : 32 - masklen; - return rb_funcall( rb_eval_string( "Trema::IP" ), rb_intern( "new" ), 2, UINT2NUM( nw_addr ), UINT2NUM( prefixlen ) ); + VALUE ipv4_addr = rb_funcall( rb_eval_string( "Pio::IPv4Address" ), rb_intern( "new" ), 1, UINT2NUM( nw_addr ) ); + return rb_funcall( ipv4_addr, rb_intern( "mask" ), 1, UINT2NUM( prefixlen ) );; } /* * An IPv4 source address in its numeric representation. @@ -524,21 +525,21 @@ match->wildcards &= ( uint32_t ) ~OFPFW_NW_PROTO; } VALUE nw_src = rb_hash_aref( options, ID2SYM( rb_intern( "nw_src" ) ) ); if ( nw_src != Qnil ) { - VALUE nw_addr = rb_funcall( rb_eval_string( "Trema::IP" ), rb_intern( "new" ), 1, nw_src ); + VALUE nw_addr = rb_funcall( rb_eval_string( "Pio::IPv4Address" ), rb_intern( "new" ), 1, nw_src ); uint32_t prefixlen = ( uint32_t ) NUM2UINT( rb_funcall( nw_addr, rb_intern( "prefixlen" ), 0 ) ); if ( prefixlen > 0 ) { match->nw_src = nw_addr_to_i( nw_addr ); match->wildcards &= ( uint32_t ) ~OFPFW_NW_SRC_MASK; match->wildcards |= ( uint32_t ) ( ( 32 - prefixlen ) << OFPFW_NW_SRC_SHIFT ); } } VALUE nw_dst = rb_hash_aref( options, ID2SYM( rb_intern( "nw_dst" ) ) ); if ( nw_dst != Qnil ) { - VALUE nw_addr = rb_funcall( rb_eval_string( "Trema::IP" ), rb_intern( "new" ), 1, nw_dst ); + VALUE nw_addr = rb_funcall( rb_eval_string( "Pio::IPv4Address" ), rb_intern( "new" ), 1, nw_dst ); uint32_t prefixlen = ( uint32_t ) NUM2UINT( rb_funcall( nw_addr, rb_intern( "prefixlen" ), 0 ) ); if ( prefixlen > 0 ) { match->nw_dst = nw_addr_to_i( nw_addr ); match->wildcards &= ( uint32_t ) ~OFPFW_NW_DST_MASK; match->wildcards |= ( uint32_t ) ( ( 32 - prefixlen ) << OFPFW_NW_DST_SHIFT );