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 );