trema 0.1.3 → 0.1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -49,6 +49,9 @@ Jeweler::Tasks.new do |gem|
49
49
  gem.description = %Q{Trema is a full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby/C}
50
50
  gem.email = "yasuhito@gmail.com"
51
51
  gem.authors = ["Yasuhito Takamiya"]
52
+ gem.bindir = ["."]
53
+ gem.executables = ["trema","trema-config"]
54
+ gem.extensions = ["Rakefile"]
52
55
  # dependencies defined in Gemfile
53
56
  end
54
57
  Jeweler::RubygemsDotOrgTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.3.1
@@ -8,10 +8,10 @@ Feature: trema help
8
8
  When I try to run "./trema help"
9
9
  Then the output should be:
10
10
  """
11
- usage: ./trema <COMMAND> [OPTIONS ...]
11
+ usage: trema <COMMAND> [OPTIONS ...]
12
12
 
13
13
  Trema command-line tool
14
- Type './trema help <COMMAND>' for help on a specific command.
14
+ Type 'trema help <COMMAND>' for help on a specific command.
15
15
 
16
16
  Available commands:
17
17
  run - runs a trema application.
@@ -27,11 +27,12 @@ module Trema
27
27
 
28
28
  ARGV.clear << "--help"
29
29
  if command.nil?
30
+ trema = File.basename( $PROGRAM_NAME )
30
31
  puts <<-EOL
31
- usage: #{ $PROGRAM_NAME } <COMMAND> [OPTIONS ...]
32
+ usage: #{ trema } <COMMAND> [OPTIONS ...]
32
33
 
33
34
  Trema command-line tool
34
- Type '#{ $PROGRAM_NAME } help <COMMAND>' for help on a specific command.
35
+ Type '#{ trema } help <COMMAND>' for help on a specific command.
35
36
 
36
37
  Available commands:
37
38
  run - runs a trema application.
@@ -46,7 +47,7 @@ EOL
46
47
  elsif method_for( command )
47
48
  __send__ method_for( command )
48
49
  else
49
- STDERR.puts "Type '#{ $PROGRAM_NAME } help' for usage."
50
+ STDERR.puts "Type '#{ trema } help' for usage."
50
51
  exit false
51
52
  end
52
53
  end
@@ -141,7 +141,7 @@ packet_in_is_buffered( VALUE self ) {
141
141
  */
142
142
  static VALUE
143
143
  packet_in_in_port( VALUE self ) {
144
- return INT2NUM( get_packet_in( self )->in_port );
144
+ return UINT2NUM( get_packet_in( self )->in_port );
145
145
  }
146
146
 
147
147
 
@@ -152,7 +152,7 @@ packet_in_in_port( VALUE self ) {
152
152
  */
153
153
  static VALUE
154
154
  packet_in_total_len( VALUE self ) {
155
- return INT2NUM( get_packet_in( self )->total_len );
155
+ return UINT2NUM( get_packet_in( self )->total_len );
156
156
  }
157
157
 
158
158
 
@@ -176,7 +176,7 @@ packet_in_data( VALUE self ) {
176
176
  */
177
177
  static VALUE
178
178
  packet_in_reason( VALUE self ) {
179
- return INT2NUM( get_packet_in( self )->reason );
179
+ return UINT2NUM( ( unsigned int ) get_packet_in( self )->reason );
180
180
  }
181
181
 
182
182
 
@@ -300,6 +300,105 @@ packet_in_is_ipv4( VALUE self ) {
300
300
  }
301
301
 
302
302
 
303
+ /*
304
+ * The IPv4 version number.
305
+ *
306
+ * @return [Integer] ipv4_version The IPv4 version number.
307
+ */
308
+ static VALUE
309
+ packet_in_ipv4_version( VALUE self ) {
310
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->ipv4_version );
311
+ }
312
+
313
+
314
+ /*
315
+ * The IPv4 internet header length.
316
+ *
317
+ * @return [Integer] ipv4_ihl The IPv4 internet header length.
318
+ */
319
+ static VALUE
320
+ packet_in_ipv4_ihl( VALUE self ) {
321
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->ipv4_ihl );
322
+ }
323
+
324
+
325
+ /*
326
+ * The IPv4 tos value.
327
+ *
328
+ * @return [Integer] ipv4_tos The IPv4 tos value.
329
+ */
330
+ static VALUE
331
+ packet_in_ipv4_tos( VALUE self ) {
332
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->ipv4_tos );
333
+ }
334
+
335
+
336
+ /*
337
+ * The IPv4 total length.
338
+ *
339
+ * @return [Integer] ipv4_tot_len The IPv4 total length.
340
+ */
341
+ static VALUE
342
+ packet_in_ipv4_tot_len( VALUE self ) {
343
+ return UINT2NUM( get_packet_in_info( self )->ipv4_tot_len );
344
+ }
345
+
346
+
347
+ /*
348
+ * The IPv4 identifier.
349
+ *
350
+ * @return [Integer] ipv4_id The IPv4 identifier.
351
+ */
352
+ static VALUE
353
+ packet_in_ipv4_id( VALUE self ) {
354
+ return UINT2NUM( get_packet_in_info( self )->ipv4_id );
355
+ }
356
+
357
+
358
+ /*
359
+ * The IPv4 fragment offset.
360
+ *
361
+ * @return [Integer] ipv4_frag_off The IPv4 fragment offset.
362
+ */
363
+ static VALUE
364
+ packet_in_ipv4_frag_off( VALUE self ) {
365
+ return UINT2NUM( get_packet_in_info( self )->ipv4_frag_off );
366
+ }
367
+
368
+
369
+ /*
370
+ * The IPv4 ttl value.
371
+ *
372
+ * @return [Integer] ipv4_ttl The IPv4 ttl value.
373
+ */
374
+ static VALUE
375
+ packet_in_ipv4_ttl( VALUE self ) {
376
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->ipv4_ttl );
377
+ }
378
+
379
+
380
+ /*
381
+ * The IPv4 protocol number.
382
+ *
383
+ * @return [Integer] ipv4_protocol The IPv4 protocol number.
384
+ */
385
+ static VALUE
386
+ packet_in_ipv4_protocol( VALUE self ) {
387
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->ipv4_protocol );
388
+ }
389
+
390
+
391
+ /*
392
+ * The IPv4 checksum.
393
+ *
394
+ * @return [Integer] ipv4_checksum The IPv4 checksum.
395
+ */
396
+ static VALUE
397
+ packet_in_ipv4_checksum( VALUE self ) {
398
+ return UINT2NUM( get_packet_in_info( self )->ipv4_checksum );
399
+ }
400
+
401
+
303
402
  /*
304
403
  * The IPV4 source protocol address.
305
404
  *
@@ -345,7 +444,7 @@ packet_in_is_icmpv4( VALUE self ) {
345
444
  */
346
445
  static VALUE
347
446
  packet_in_icmpv4_type( VALUE self ) {
348
- return get_packet_in_info( self )->icmpv4_type;
447
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->icmpv4_type );
349
448
  }
350
449
 
351
450
 
@@ -356,7 +455,7 @@ packet_in_icmpv4_type( VALUE self ) {
356
455
  */
357
456
  static VALUE
358
457
  packet_in_icmpv4_code( VALUE self ) {
359
- return get_packet_in_info( self )->icmpv4_code;
458
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->icmpv4_code );
360
459
  }
361
460
 
362
461
 
@@ -507,7 +606,7 @@ packet_in_is_igmp_v3_membership_report( VALUE self ) {
507
606
  */
508
607
  static VALUE
509
608
  packet_in_igmp_type( VALUE self ) {
510
- return UINT2NUM( get_packet_in_info( self )->igmp_type );
609
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->igmp_type );
511
610
  }
512
611
 
513
612
 
@@ -545,7 +644,7 @@ packet_in_is_tcp( VALUE self ) {
545
644
  */
546
645
  static VALUE
547
646
  packet_in_tcp_src_port( VALUE self ) {
548
- return ULONG2NUM( get_packet_in_info( self )->tcp_src_port );
647
+ return UINT2NUM( get_packet_in_info( self )->tcp_src_port );
549
648
  }
550
649
 
551
650
 
@@ -556,7 +655,84 @@ packet_in_tcp_src_port( VALUE self ) {
556
655
  */
557
656
  static VALUE
558
657
  packet_in_tcp_dst_port( VALUE self ) {
559
- return ULONG2NUM( get_packet_in_info( self )->tcp_dst_port );
658
+ return UINT2NUM( get_packet_in_info( self )->tcp_dst_port );
659
+ }
660
+
661
+
662
+ /*
663
+ * The TCP sequence number.
664
+ *
665
+ * @return [Integer] tcp_seq_no a TCP sequence number.
666
+ */
667
+ static VALUE
668
+ packet_in_tcp_seq_no( VALUE self ) {
669
+ return ULONG2NUM( get_packet_in_info( self )->tcp_seq_no );
670
+ }
671
+
672
+
673
+ /*
674
+ * The TCP acknowledge number.
675
+ *
676
+ * @return [Integer] tcp_ack_no a TCP acknowkedge number.
677
+ */
678
+ static VALUE
679
+ packet_in_tcp_ack_no( VALUE self ) {
680
+ return ULONG2NUM( get_packet_in_info( self )->tcp_ack_no );
681
+ }
682
+
683
+
684
+ /*
685
+ * The TCP offset.
686
+ *
687
+ * @return [Integer] tcp_offset a TCP offset.
688
+ */
689
+ static VALUE
690
+ packet_in_tcp_offset( VALUE self ) {
691
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->tcp_offset );
692
+ }
693
+
694
+
695
+ /*
696
+ * The TCP flags.
697
+ *
698
+ * @return [Integer] tcp_flags TCP flags.
699
+ */
700
+ static VALUE
701
+ packet_in_tcp_flags( VALUE self ) {
702
+ return UINT2NUM( ( unsigned int ) get_packet_in_info( self )->tcp_flags );
703
+ }
704
+
705
+
706
+ /*
707
+ * The TCP window.
708
+ *
709
+ * @return [Integer] tcp_window a TCP window.
710
+ */
711
+ static VALUE
712
+ packet_in_tcp_window( VALUE self ) {
713
+ return UINT2NUM( get_packet_in_info( self )->tcp_window );
714
+ }
715
+
716
+
717
+ /*
718
+ * The TCP checksum.
719
+ *
720
+ * @return [Integer] tcp_checksum a TCP checksum.
721
+ */
722
+ static VALUE
723
+ packet_in_tcp_checksum( VALUE self ) {
724
+ return UINT2NUM( get_packet_in_info( self )->tcp_checksum );
725
+ }
726
+
727
+
728
+ /*
729
+ * The TCP urgent.
730
+ *
731
+ * @return [Integer] tcp_urgent a TCP urgent.
732
+ */
733
+ static VALUE
734
+ packet_in_tcp_urgent( VALUE self ) {
735
+ return UINT2NUM( get_packet_in_info( self )->tcp_urgent );
560
736
  }
561
737
 
562
738
 
@@ -596,7 +772,7 @@ packet_in_udp_payload( VALUE self ) {
596
772
  */
597
773
  static VALUE
598
774
  packet_in_udp_src_port( VALUE self ) {
599
- return ULONG2NUM( get_packet_in_info( self )->udp_src_port );
775
+ return UINT2NUM( get_packet_in_info( self )->udp_src_port );
600
776
  }
601
777
 
602
778
 
@@ -607,7 +783,29 @@ packet_in_udp_src_port( VALUE self ) {
607
783
  */
608
784
  static VALUE
609
785
  packet_in_udp_dst_port( VALUE self ) {
610
- return ULONG2NUM( get_packet_in_info( self )->udp_dst_port );
786
+ return UINT2NUM( get_packet_in_info( self )->udp_dst_port );
787
+ }
788
+
789
+
790
+ /*
791
+ * The UDP length.
792
+ *
793
+ * @return [Integer] udp_len a UDP length.
794
+ */
795
+ static VALUE
796
+ packet_in_udp_len( VALUE self ) {
797
+ return UINT2NUM( get_packet_in_info( self )->udp_len );
798
+ }
799
+
800
+
801
+ /*
802
+ * The UDP checksum.
803
+ *
804
+ * @return [Integer] udp_checksum a UDP checksum.
805
+ */
806
+ static VALUE
807
+ packet_in_udp_checksum( VALUE self ) {
808
+ return UINT2NUM( get_packet_in_info( self )->udp_checksum );
611
809
  }
612
810
 
613
811
 
@@ -652,6 +850,15 @@ Init_packet_in() {
652
850
  rb_define_method( mPacketInARP, "arp_tpa", packet_in_arp_tpa, 0 );
653
851
 
654
852
  mPacketInIPv4 = rb_define_module_under( mTrema, "PacketInIPv4" );
853
+ rb_define_method( mPacketInIPv4, "ipv4_version", packet_in_ipv4_version, 0 );
854
+ rb_define_method( mPacketInIPv4, "ipv4_ihl", packet_in_ipv4_ihl, 0 );
855
+ rb_define_method( mPacketInIPv4, "ipv4_tos", packet_in_ipv4_tos, 0 );
856
+ rb_define_method( mPacketInIPv4, "ipv4_tot_len", packet_in_ipv4_tot_len, 0 );
857
+ rb_define_method( mPacketInIPv4, "ipv4_id", packet_in_ipv4_id, 0 );
858
+ rb_define_method( mPacketInIPv4, "ipv4_frag_off", packet_in_ipv4_frag_off, 0 );
859
+ rb_define_method( mPacketInIPv4, "ipv4_ttl", packet_in_ipv4_ttl, 0 );
860
+ rb_define_method( mPacketInIPv4, "ipv4_protocol", packet_in_ipv4_protocol, 0 );
861
+ rb_define_method( mPacketInIPv4, "ipv4_checksum", packet_in_ipv4_checksum, 0 );
655
862
  rb_define_method( mPacketInIPv4, "ipv4_saddr", packet_in_ipv4_saddr, 0 );
656
863
  rb_define_method( mPacketInIPv4, "ipv4_daddr", packet_in_ipv4_daddr, 0 );
657
864
 
@@ -675,11 +882,20 @@ Init_packet_in() {
675
882
  mPacketInTCP = rb_define_module_under( mTrema, "PacketInTCP" );
676
883
  rb_define_method( mPacketInTCP, "tcp_src_port", packet_in_tcp_src_port, 0 );
677
884
  rb_define_method( mPacketInTCP, "tcp_dst_port", packet_in_tcp_dst_port, 0 );
885
+ rb_define_method( mPacketInTCP, "tcp_seq_no", packet_in_tcp_seq_no, 0 );
886
+ rb_define_method( mPacketInTCP, "tcp_ack_no", packet_in_tcp_ack_no, 0 );
887
+ rb_define_method( mPacketInTCP, "tcp_offset", packet_in_tcp_offset, 0 );
888
+ rb_define_method( mPacketInTCP, "tcp_flags", packet_in_tcp_flags, 0 );
889
+ rb_define_method( mPacketInTCP, "tcp_window", packet_in_tcp_window, 0 );
890
+ rb_define_method( mPacketInTCP, "tcp_checksum", packet_in_tcp_checksum, 0 );
891
+ rb_define_method( mPacketInTCP, "tcp_urgent", packet_in_tcp_urgent, 0 );
678
892
 
679
893
  mPacketInUDP = rb_define_module_under( mTrema, "PacketInUDP" );
680
894
  rb_define_method( mPacketInUDP, "udp_payload", packet_in_udp_payload, 0 );
681
895
  rb_define_method( mPacketInUDP, "udp_src_port", packet_in_udp_src_port, 0 );
682
896
  rb_define_method( mPacketInUDP, "udp_dst_port", packet_in_udp_dst_port, 0 );
897
+ rb_define_method( mPacketInUDP, "udp_checksum", packet_in_udp_checksum, 0 );
898
+ rb_define_method( mPacketInUDP, "udp_len", packet_in_udp_len, 0 );
683
899
  }
684
900
 
685
901
 
@@ -114,6 +114,8 @@ describe Trema::PacketIn do
114
114
  controller( "PacketInController" ).should_receive( :packet_in ) do | datapath_id, message |
115
115
  message.eth_type.should == 0x0800
116
116
  message.ipv4?.should == true
117
+ message.ipv4_version.should == 4
118
+ message.ipv4_protocol == 17
117
119
  message.ipv4_saddr.should be_instance_of( Trema::IP )
118
120
  message.ipv4_saddr.to_s.should == "192.168.1.1"
119
121
  message.ipv4_daddr.should be_instance_of( Trema::IP )
data/trema.gemspec ADDED
@@ -0,0 +1,671 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "trema"
8
+ s.version = "0.1.3.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Yasuhito Takamiya"]
12
+ s.bindir = ["."]
13
+ s.date = "2012-02-23"
14
+ s.description = "Trema is a full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby/C"
15
+ s.email = "yasuhito@gmail.com"
16
+ s.executables = ["trema", "trema-config"]
17
+ s.extensions = ["Rakefile"]
18
+ s.extra_rdoc_files = [
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".mono.rant",
23
+ ".rspec",
24
+ ".yardopts",
25
+ "Doxyfile",
26
+ "GPL2",
27
+ "Gemfile",
28
+ "Gemfile.lock",
29
+ "README.md",
30
+ "Rakefile",
31
+ "Rantfile",
32
+ "VERSION",
33
+ "build.rb",
34
+ "cruise.rb",
35
+ "features/example.dumper.feature",
36
+ "features/example.learning_switch.feature",
37
+ "features/example.list_switches.feature",
38
+ "features/example.message.echo_reply.feature",
39
+ "features/example.message.echo_request.feature",
40
+ "features/example.message.features_request.feature",
41
+ "features/example.message.hello.feature",
42
+ "features/example.message.set_config.feature",
43
+ "features/example.multi_learning_switch.feature",
44
+ "features/example.packetin_filter_config.feature",
45
+ "features/example.repeater_hub.feature",
46
+ "features/example.switch_monitor.feature",
47
+ "features/packetin_filter.feature",
48
+ "features/step_definitions/kill_steps.rb",
49
+ "features/step_definitions/log_steps.rb",
50
+ "features/step_definitions/misc_steps.rb",
51
+ "features/step_definitions/off_steps.rb",
52
+ "features/step_definitions/run_steps.rb",
53
+ "features/step_definitions/send_packets_steps.rb",
54
+ "features/step_definitions/show_stats_steps.rb",
55
+ "features/step_definitions/stats_steps.rb",
56
+ "features/support/env.rb",
57
+ "features/support/hooks.rb",
58
+ "features/switch_manager.feature",
59
+ "features/trema-config.feature",
60
+ "features/trema.dump_flows.feature",
61
+ "features/trema.feature",
62
+ "features/trema.kill.feature",
63
+ "features/trema.killall.feature",
64
+ "features/trema.reset_stats.feature",
65
+ "features/trema.run.feature",
66
+ "features/trema.send_packets.feature",
67
+ "features/trema.show_stats.feature",
68
+ "features/tutorial.hello_trema.feature",
69
+ "features/tutorial.packet_in.feature",
70
+ "features/tutorial.switch_info.feature",
71
+ "ruby/.gitignore",
72
+ "ruby/blocker.rb",
73
+ "ruby/extconf.rb",
74
+ "ruby/sub-process.rb",
75
+ "ruby/trema/action-common.c",
76
+ "ruby/trema/action-common.h",
77
+ "ruby/trema/action-enqueue.c",
78
+ "ruby/trema/action-enqueue.h",
79
+ "ruby/trema/action-output.c",
80
+ "ruby/trema/action-output.h",
81
+ "ruby/trema/action-set-dl-dst.c",
82
+ "ruby/trema/action-set-dl-dst.h",
83
+ "ruby/trema/action-set-dl-src.c",
84
+ "ruby/trema/action-set-dl-src.h",
85
+ "ruby/trema/action-set-nw-dst.c",
86
+ "ruby/trema/action-set-nw-dst.h",
87
+ "ruby/trema/action-set-nw-src.c",
88
+ "ruby/trema/action-set-nw-src.h",
89
+ "ruby/trema/action-set-nw-tos.c",
90
+ "ruby/trema/action-set-nw-tos.h",
91
+ "ruby/trema/action-set-tp-dst.c",
92
+ "ruby/trema/action-set-tp-dst.h",
93
+ "ruby/trema/action-set-tp-src.c",
94
+ "ruby/trema/action-set-tp-src.h",
95
+ "ruby/trema/action-set-vlan-pcp.c",
96
+ "ruby/trema/action-set-vlan-pcp.h",
97
+ "ruby/trema/action-set-vlan-vid.c",
98
+ "ruby/trema/action-set-vlan-vid.h",
99
+ "ruby/trema/action-strip-vlan.c",
100
+ "ruby/trema/action-strip-vlan.h",
101
+ "ruby/trema/action-vendor.c",
102
+ "ruby/trema/action-vendor.h",
103
+ "ruby/trema/aggregate-stats-reply.rb",
104
+ "ruby/trema/app.rb",
105
+ "ruby/trema/barrier-reply.c",
106
+ "ruby/trema/barrier-reply.h",
107
+ "ruby/trema/barrier-request.c",
108
+ "ruby/trema/barrier-request.h",
109
+ "ruby/trema/cli.rb",
110
+ "ruby/trema/command.rb",
111
+ "ruby/trema/command/dump_flows.rb",
112
+ "ruby/trema/command/kill.rb",
113
+ "ruby/trema/command/killall.rb",
114
+ "ruby/trema/command/reset_stats.rb",
115
+ "ruby/trema/command/ruby.rb",
116
+ "ruby/trema/command/run.rb",
117
+ "ruby/trema/command/send_packets.rb",
118
+ "ruby/trema/command/shell.rb",
119
+ "ruby/trema/command/show_stats.rb",
120
+ "ruby/trema/command/usage.rb",
121
+ "ruby/trema/command/version.rb",
122
+ "ruby/trema/controller.c",
123
+ "ruby/trema/controller.h",
124
+ "ruby/trema/controller.rb",
125
+ "ruby/trema/daemon.rb",
126
+ "ruby/trema/dsl.rb",
127
+ "ruby/trema/dsl/configuration.rb",
128
+ "ruby/trema/dsl/context.rb",
129
+ "ruby/trema/dsl/link.rb",
130
+ "ruby/trema/dsl/parser.rb",
131
+ "ruby/trema/dsl/run.rb",
132
+ "ruby/trema/dsl/runner.rb",
133
+ "ruby/trema/dsl/stanza.rb",
134
+ "ruby/trema/dsl/switch.rb",
135
+ "ruby/trema/dsl/syntax-error.rb",
136
+ "ruby/trema/dsl/syntax.rb",
137
+ "ruby/trema/dsl/vhost.rb",
138
+ "ruby/trema/dsl/vswitch.rb",
139
+ "ruby/trema/echo-reply.c",
140
+ "ruby/trema/echo-reply.h",
141
+ "ruby/trema/echo-request.c",
142
+ "ruby/trema/echo-request.h",
143
+ "ruby/trema/error.c",
144
+ "ruby/trema/error.h",
145
+ "ruby/trema/exact-match.rb",
146
+ "ruby/trema/executables.rb",
147
+ "ruby/trema/features-reply.c",
148
+ "ruby/trema/features-reply.h",
149
+ "ruby/trema/features-request.c",
150
+ "ruby/trema/features-request.h",
151
+ "ruby/trema/flow-removed.c",
152
+ "ruby/trema/flow-removed.h",
153
+ "ruby/trema/flow-stats-reply.rb",
154
+ "ruby/trema/flow.rb",
155
+ "ruby/trema/get-config-reply.c",
156
+ "ruby/trema/get-config-reply.h",
157
+ "ruby/trema/get-config-request.c",
158
+ "ruby/trema/get-config-request.h",
159
+ "ruby/trema/hello.c",
160
+ "ruby/trema/hello.h",
161
+ "ruby/trema/host.rb",
162
+ "ruby/trema/ip.rb",
163
+ "ruby/trema/link.rb",
164
+ "ruby/trema/list-switches-reply.c",
165
+ "ruby/trema/list-switches-reply.h",
166
+ "ruby/trema/logger.c",
167
+ "ruby/trema/logger.h",
168
+ "ruby/trema/mac.rb",
169
+ "ruby/trema/match.c",
170
+ "ruby/trema/match.h",
171
+ "ruby/trema/monkey-patch/integer.rb",
172
+ "ruby/trema/monkey-patch/integer/base-conversions.rb",
173
+ "ruby/trema/monkey-patch/integer/ranges.rb",
174
+ "ruby/trema/monkey-patch/module.rb",
175
+ "ruby/trema/monkey-patch/module/deprecation.rb",
176
+ "ruby/trema/monkey-patch/string.rb",
177
+ "ruby/trema/monkey-patch/string/inflectors.rb",
178
+ "ruby/trema/network-component.rb",
179
+ "ruby/trema/ofctl.rb",
180
+ "ruby/trema/open-vswitch.rb",
181
+ "ruby/trema/openflow-error.c",
182
+ "ruby/trema/openflow-error.h",
183
+ "ruby/trema/openflow-switch.rb",
184
+ "ruby/trema/ordered-hash.rb",
185
+ "ruby/trema/packet-queue.rb",
186
+ "ruby/trema/packet_in.c",
187
+ "ruby/trema/packet_in.h",
188
+ "ruby/trema/packetin-filter.rb",
189
+ "ruby/trema/path.rb",
190
+ "ruby/trema/phost.rb",
191
+ "ruby/trema/port-mod.c",
192
+ "ruby/trema/port-mod.h",
193
+ "ruby/trema/port-stats-reply.rb",
194
+ "ruby/trema/port-status.c",
195
+ "ruby/trema/port-status.h",
196
+ "ruby/trema/port.c",
197
+ "ruby/trema/port.h",
198
+ "ruby/trema/process.rb",
199
+ "ruby/trema/queue-get-config-reply.c",
200
+ "ruby/trema/queue-get-config-reply.h",
201
+ "ruby/trema/queue-get-config-request.c",
202
+ "ruby/trema/queue-get-config-request.h",
203
+ "ruby/trema/queue-stats-reply.rb",
204
+ "ruby/trema/set-config.c",
205
+ "ruby/trema/set-config.h",
206
+ "ruby/trema/shell.rb",
207
+ "ruby/trema/shell/down.rb",
208
+ "ruby/trema/shell/killall.rb",
209
+ "ruby/trema/shell/link.rb",
210
+ "ruby/trema/shell/reset_stats.rb",
211
+ "ruby/trema/shell/run.rb",
212
+ "ruby/trema/shell/send_packets.rb",
213
+ "ruby/trema/shell/show_stats.rb",
214
+ "ruby/trema/shell/up.rb",
215
+ "ruby/trema/shell/vhost.rb",
216
+ "ruby/trema/shell/vswitch.rb",
217
+ "ruby/trema/stats-helper.rb",
218
+ "ruby/trema/stats-reply.c",
219
+ "ruby/trema/stats-reply.h",
220
+ "ruby/trema/stats-request.c",
221
+ "ruby/trema/stats-request.h",
222
+ "ruby/trema/switch-daemon.rb",
223
+ "ruby/trema/switch-disconnected.c",
224
+ "ruby/trema/switch-disconnected.h",
225
+ "ruby/trema/switch-manager.rb",
226
+ "ruby/trema/switch.rb",
227
+ "ruby/trema/table-stats-reply.rb",
228
+ "ruby/trema/timers.rb",
229
+ "ruby/trema/trema.c",
230
+ "ruby/trema/tremashark.rb",
231
+ "ruby/trema/util.rb",
232
+ "ruby/trema/vendor-request.c",
233
+ "ruby/trema/vendor-request.h",
234
+ "ruby/trema/vendor-stats-reply.rb",
235
+ "ruby/trema/vendor.c",
236
+ "ruby/trema/vendor.h",
237
+ "ruby/trema/version.rb",
238
+ "spec/spec_helper.rb",
239
+ "spec/support/openflow-message.rb",
240
+ "spec/trema/action-enqueue_spec.rb",
241
+ "spec/trema/action-output_spec.rb",
242
+ "spec/trema/action-set-dl-dst_spec.rb",
243
+ "spec/trema/action-set-dl-src_spec.rb",
244
+ "spec/trema/action-set-nw-dst_spec.rb",
245
+ "spec/trema/action-set-nw-src_spec.rb",
246
+ "spec/trema/action-set-nw-tos_spec.rb",
247
+ "spec/trema/action-set-tp-dst_spec.rb",
248
+ "spec/trema/action-set-tp-src_spec.rb",
249
+ "spec/trema/action-set-vlan-pcp_spec.rb",
250
+ "spec/trema/action-set-vlan-vid_spec.rb",
251
+ "spec/trema/action-strip-vlan_spec.rb",
252
+ "spec/trema/action-vendor_spec.rb",
253
+ "spec/trema/app_spec.rb",
254
+ "spec/trema/barrier-reply_spec.rb",
255
+ "spec/trema/barrier-request_spec.rb",
256
+ "spec/trema/cli_spec.rb",
257
+ "spec/trema/controller_spec.rb",
258
+ "spec/trema/dsl/configuration_spec.rb",
259
+ "spec/trema/dsl/link_spec.rb",
260
+ "spec/trema/dsl/run_spec.rb",
261
+ "spec/trema/dsl/runner_spec.rb",
262
+ "spec/trema/dsl/switch_spec.rb",
263
+ "spec/trema/dsl/syntax_spec.rb",
264
+ "spec/trema/dsl/vhost_spec.rb",
265
+ "spec/trema/dsl/vswitch_spec.rb",
266
+ "spec/trema/echo-reply_spec.rb",
267
+ "spec/trema/echo-request_spec.rb",
268
+ "spec/trema/error_spec.rb",
269
+ "spec/trema/executables_spec.rb",
270
+ "spec/trema/features-reply_spec.rb",
271
+ "spec/trema/features-request_spec.rb",
272
+ "spec/trema/flow-removed_spec.rb",
273
+ "spec/trema/get-config-reply_spec.rb",
274
+ "spec/trema/get-config-request_spec.rb",
275
+ "spec/trema/hello_spec.rb",
276
+ "spec/trema/host_spec.rb",
277
+ "spec/trema/link_spec.rb",
278
+ "spec/trema/list-switches-reply_spec.rb",
279
+ "spec/trema/logger_spec.rb",
280
+ "spec/trema/mac_spec.rb",
281
+ "spec/trema/match_spec.rb",
282
+ "spec/trema/open-vswitch_spec.rb",
283
+ "spec/trema/openflow-error_spec.rb",
284
+ "spec/trema/openflow-switch_spec.rb",
285
+ "spec/trema/packet-in_spec.rb",
286
+ "spec/trema/packet-out_spec.rb",
287
+ "spec/trema/packetin-filter_spec.rb",
288
+ "spec/trema/port-mod_spec.rb",
289
+ "spec/trema/port-status_spec.rb",
290
+ "spec/trema/port_spec.rb",
291
+ "spec/trema/process_spec.rb",
292
+ "spec/trema/queue-get-config-reply_spec.rb",
293
+ "spec/trema/queue-get-config-request_spec.rb",
294
+ "spec/trema/set-config_spec.rb",
295
+ "spec/trema/shell/vhost_spec.rb",
296
+ "spec/trema/shell/vswitch_spec.rb",
297
+ "spec/trema/stats-reply_spec.rb",
298
+ "spec/trema/stats-request_spec.rb",
299
+ "spec/trema/switch-disconnected_spec.rb",
300
+ "spec/trema/switch-manager_spec.rb",
301
+ "spec/trema/tremashark_spec.rb",
302
+ "spec/trema/util_spec.rb",
303
+ "spec/trema/vendor-request_spec.rb",
304
+ "src/examples/cbench_switch/README",
305
+ "src/examples/cbench_switch/cbench-switch.rb",
306
+ "src/examples/cbench_switch/cbench_switch.c",
307
+ "src/examples/dumper/dumper.c",
308
+ "src/examples/dumper/dumper.conf",
309
+ "src/examples/dumper/dumper.rb",
310
+ "src/examples/hello_trema/README",
311
+ "src/examples/hello_trema/hello_trema.c",
312
+ "src/examples/hello_trema/hello_trema.conf",
313
+ "src/examples/hello_trema/hello_trema.rb",
314
+ "src/examples/learning_switch/README",
315
+ "src/examples/learning_switch/fdb.rb",
316
+ "src/examples/learning_switch/learning-switch.rb",
317
+ "src/examples/learning_switch/learning_switch.c",
318
+ "src/examples/learning_switch/learning_switch.conf",
319
+ "src/examples/list_switches/README",
320
+ "src/examples/list_switches/list-switches.rb",
321
+ "src/examples/list_switches/list_switches.c",
322
+ "src/examples/list_switches/list_switches.conf",
323
+ "src/examples/match_compare/match-compare.conf",
324
+ "src/examples/match_compare/match-compare.rb",
325
+ "src/examples/multi_learning_switch/README",
326
+ "src/examples/multi_learning_switch/multi-learning-switch.rb",
327
+ "src/examples/multi_learning_switch/multi_learning_switch.c",
328
+ "src/examples/multi_learning_switch/multi_learning_switch.conf",
329
+ "src/examples/openflow_message/README",
330
+ "src/examples/openflow_message/echo-reply.rb",
331
+ "src/examples/openflow_message/echo-request.rb",
332
+ "src/examples/openflow_message/echo_reply.c",
333
+ "src/examples/openflow_message/echo_request.c",
334
+ "src/examples/openflow_message/example.rb",
335
+ "src/examples/openflow_message/features-request.rb",
336
+ "src/examples/openflow_message/features_request.c",
337
+ "src/examples/openflow_message/hello.c",
338
+ "src/examples/openflow_message/hello.rb",
339
+ "src/examples/openflow_message/set-config.rb",
340
+ "src/examples/openflow_message/set_config.c",
341
+ "src/examples/packet_in/README",
342
+ "src/examples/packet_in/packet_in.c",
343
+ "src/examples/packet_in/packet_in.conf",
344
+ "src/examples/packet_in/packet_in.rb",
345
+ "src/examples/packetin_filter_config/README",
346
+ "src/examples/packetin_filter_config/add_filter.c",
347
+ "src/examples/packetin_filter_config/delete_filter.c",
348
+ "src/examples/packetin_filter_config/delete_filter_strict.c",
349
+ "src/examples/packetin_filter_config/dump_filter.c",
350
+ "src/examples/packetin_filter_config/dump_filter_strict.c",
351
+ "src/examples/packetin_filter_config/packetin_filter_config.c",
352
+ "src/examples/packetin_filter_config/packetin_filter_config.conf",
353
+ "src/examples/packetin_filter_config/utils.c",
354
+ "src/examples/packetin_filter_config/utils.h",
355
+ "src/examples/repeater_hub/README",
356
+ "src/examples/repeater_hub/repeater-hub.rb",
357
+ "src/examples/repeater_hub/repeater-hub_spec.rb",
358
+ "src/examples/repeater_hub/repeater_hub.c",
359
+ "src/examples/repeater_hub/repeater_hub.conf",
360
+ "src/examples/switch_info/README",
361
+ "src/examples/switch_info/switch_info.c",
362
+ "src/examples/switch_info/switch_info.conf",
363
+ "src/examples/switch_info/switch_info.rb",
364
+ "src/examples/switch_monitor/switch-monitor.conf",
365
+ "src/examples/switch_monitor/switch-monitor.rb",
366
+ "src/examples/switch_monitor/switch_monitor.c",
367
+ "src/examples/traffic_monitor/counter.c",
368
+ "src/examples/traffic_monitor/counter.h",
369
+ "src/examples/traffic_monitor/counter.rb",
370
+ "src/examples/traffic_monitor/fdb.c",
371
+ "src/examples/traffic_monitor/fdb.h",
372
+ "src/examples/traffic_monitor/fdb.rb",
373
+ "src/examples/traffic_monitor/traffic-monitor.rb",
374
+ "src/examples/traffic_monitor/traffic_monitor.c",
375
+ "src/examples/traffic_monitor/traffic_monitor.conf",
376
+ "src/lib/arp.h",
377
+ "src/lib/bool.h",
378
+ "src/lib/buffer.c",
379
+ "src/lib/buffer.h",
380
+ "src/lib/byteorder.c",
381
+ "src/lib/byteorder.h",
382
+ "src/lib/checks.h",
383
+ "src/lib/daemon.c",
384
+ "src/lib/daemon.h",
385
+ "src/lib/doubly_linked_list.c",
386
+ "src/lib/doubly_linked_list.h",
387
+ "src/lib/ether.c",
388
+ "src/lib/ether.h",
389
+ "src/lib/etherip.h",
390
+ "src/lib/event_handler.c",
391
+ "src/lib/event_handler.h",
392
+ "src/lib/hash_table.c",
393
+ "src/lib/hash_table.h",
394
+ "src/lib/icmp.h",
395
+ "src/lib/igmp.h",
396
+ "src/lib/ipv4.h",
397
+ "src/lib/linked_list.c",
398
+ "src/lib/linked_list.h",
399
+ "src/lib/log.c",
400
+ "src/lib/log.h",
401
+ "src/lib/match.h",
402
+ "src/lib/match_table.c",
403
+ "src/lib/match_table.h",
404
+ "src/lib/message_queue.c",
405
+ "src/lib/message_queue.h",
406
+ "src/lib/messenger.c",
407
+ "src/lib/messenger.h",
408
+ "src/lib/openflow_application_interface.c",
409
+ "src/lib/openflow_application_interface.h",
410
+ "src/lib/openflow_message.c",
411
+ "src/lib/openflow_message.h",
412
+ "src/lib/openflow_service_interface.h",
413
+ "src/lib/packet_info.c",
414
+ "src/lib/packet_info.h",
415
+ "src/lib/packet_parser.c",
416
+ "src/lib/packetin_filter_interface.c",
417
+ "src/lib/packetin_filter_interface.h",
418
+ "src/lib/persistent_storage.c",
419
+ "src/lib/persistent_storage.h",
420
+ "src/lib/stat.c",
421
+ "src/lib/stat.h",
422
+ "src/lib/tcp.h",
423
+ "src/lib/timer.c",
424
+ "src/lib/timer.h",
425
+ "src/lib/trema.c",
426
+ "src/lib/trema.h",
427
+ "src/lib/trema_private.c",
428
+ "src/lib/trema_private.h",
429
+ "src/lib/trema_wrapper.c",
430
+ "src/lib/trema_wrapper.h",
431
+ "src/lib/udp.h",
432
+ "src/lib/utility.c",
433
+ "src/lib/utility.h",
434
+ "src/lib/wrapper.c",
435
+ "src/lib/wrapper.h",
436
+ "src/packetin_filter/README",
437
+ "src/packetin_filter/packetin_filter.c",
438
+ "src/switch_manager/README",
439
+ "src/switch_manager/cookie_table.c",
440
+ "src/switch_manager/cookie_table.h",
441
+ "src/switch_manager/dpid_table.c",
442
+ "src/switch_manager/dpid_table.h",
443
+ "src/switch_manager/management_interface.h",
444
+ "src/switch_manager/ofpmsg_recv.c",
445
+ "src/switch_manager/ofpmsg_recv.h",
446
+ "src/switch_manager/ofpmsg_send.c",
447
+ "src/switch_manager/ofpmsg_send.h",
448
+ "src/switch_manager/secure_channel_listener.c",
449
+ "src/switch_manager/secure_channel_listener.h",
450
+ "src/switch_manager/secure_channel_receiver.c",
451
+ "src/switch_manager/secure_channel_receiver.h",
452
+ "src/switch_manager/secure_channel_sender.c",
453
+ "src/switch_manager/secure_channel_sender.h",
454
+ "src/switch_manager/service_interface.c",
455
+ "src/switch_manager/service_interface.h",
456
+ "src/switch_manager/switch.c",
457
+ "src/switch_manager/switch.h",
458
+ "src/switch_manager/switch_manager.c",
459
+ "src/switch_manager/switch_manager.h",
460
+ "src/switch_manager/switchinfo.h",
461
+ "src/switch_manager/xid_table.c",
462
+ "src/switch_manager/xid_table.h",
463
+ "src/tremashark/README",
464
+ "src/tremashark/packet_capture.c",
465
+ "src/tremashark/pcap_private.h",
466
+ "src/tremashark/pcap_queue.c",
467
+ "src/tremashark/pcap_queue.h",
468
+ "src/tremashark/plugin/.gitignore",
469
+ "src/tremashark/plugin/packet-trema/.gitignore",
470
+ "src/tremashark/plugin/packet-trema/Makefile",
471
+ "src/tremashark/plugin/packet-trema/Makefile.am",
472
+ "src/tremashark/plugin/packet-trema/Makefile.common",
473
+ "src/tremashark/plugin/packet-trema/moduleinfo.h",
474
+ "src/tremashark/plugin/packet-trema/packet-trema.c",
475
+ "src/tremashark/plugin/packet-trema/plugin.c",
476
+ "src/tremashark/plugin/user_dlts",
477
+ "src/tremashark/queue.c",
478
+ "src/tremashark/queue.h",
479
+ "src/tremashark/stdin_relay.c",
480
+ "src/tremashark/syslog_relay.c",
481
+ "src/tremashark/tremashark.c",
482
+ "trema",
483
+ "trema-config",
484
+ "trema.gemspec",
485
+ "unittests/buffer_stubs.c",
486
+ "unittests/cmockery_trema.c",
487
+ "unittests/cmockery_trema.h",
488
+ "unittests/lib/buffer_test.c",
489
+ "unittests/lib/byteorder_test.c",
490
+ "unittests/lib/daemon_test.c",
491
+ "unittests/lib/doubly_linked_list_test.c",
492
+ "unittests/lib/ether_test.c",
493
+ "unittests/lib/hash_table_test.c",
494
+ "unittests/lib/linked_list_test.c",
495
+ "unittests/lib/log_test.c",
496
+ "unittests/lib/match_table_test.c",
497
+ "unittests/lib/message_queue_test.c",
498
+ "unittests/lib/messenger_test.c",
499
+ "unittests/lib/openflow_application_interface_test.c",
500
+ "unittests/lib/openflow_message_test.c",
501
+ "unittests/lib/packet_info_test.c",
502
+ "unittests/lib/packet_parser_test.c",
503
+ "unittests/lib/packetin_filter_interface_test.c",
504
+ "unittests/lib/persistent_storage_test.c",
505
+ "unittests/lib/stat_test.c",
506
+ "unittests/lib/test_packets/arp_rep.cap",
507
+ "unittests/lib/test_packets/arp_req.cap",
508
+ "unittests/lib/test_packets/icmp_echo_rep.cap",
509
+ "unittests/lib/test_packets/icmp_echo_req.cap",
510
+ "unittests/lib/test_packets/igmp_query_v2.cap",
511
+ "unittests/lib/test_packets/ipx.cap",
512
+ "unittests/lib/test_packets/lldp.cap",
513
+ "unittests/lib/test_packets/lldp_over_ip.cap",
514
+ "unittests/lib/test_packets/tcp.cap",
515
+ "unittests/lib/test_packets/tcp_syn.cap",
516
+ "unittests/lib/test_packets/udp.cap",
517
+ "unittests/lib/test_packets/udp_frag_head.cap",
518
+ "unittests/lib/test_packets/udp_frag_next.cap",
519
+ "unittests/lib/test_packets/vtag_icmp_echo_rep.cap",
520
+ "unittests/lib/test_packets/vtag_icmp_echo_req.cap",
521
+ "unittests/lib/timer_test.c",
522
+ "unittests/lib/trema_private_test.c",
523
+ "unittests/lib/trema_test.c",
524
+ "unittests/lib/utility_test.c",
525
+ "unittests/lib/wrapper_test.c",
526
+ "unittests/packetin_filter/packetin_filter_test.c",
527
+ "unittests/switch_manager/switch_manager_test.c",
528
+ "unittests/wrapper_stubs.c",
529
+ "vendor/.gitignore",
530
+ "vendor/README",
531
+ "vendor/cmockery-20110428.tar.gz",
532
+ "vendor/oflops-0.03.tar.gz",
533
+ "vendor/oflops_no_snmp+1.0.0.patch",
534
+ "vendor/openflow-1.0.0.tar.gz",
535
+ "vendor/openflow.git.tar.gz",
536
+ "vendor/openvswitch-1.2.2.tar.gz",
537
+ "vendor/phost/doc/COPYING",
538
+ "vendor/phost/doc/README",
539
+ "vendor/phost/src/.gitignore",
540
+ "vendor/phost/src/Makefile",
541
+ "vendor/phost/src/arp.c",
542
+ "vendor/phost/src/arp.h",
543
+ "vendor/phost/src/cli.c",
544
+ "vendor/phost/src/cli.h",
545
+ "vendor/phost/src/cmdif.c",
546
+ "vendor/phost/src/cmdif.h",
547
+ "vendor/phost/src/common.c",
548
+ "vendor/phost/src/common.h",
549
+ "vendor/phost/src/eth.c",
550
+ "vendor/phost/src/eth.h",
551
+ "vendor/phost/src/ethdev.c",
552
+ "vendor/phost/src/ethdev.h",
553
+ "vendor/phost/src/icmp.c",
554
+ "vendor/phost/src/icmp.h",
555
+ "vendor/phost/src/ipv4.c",
556
+ "vendor/phost/src/ipv4.h",
557
+ "vendor/phost/src/log.c",
558
+ "vendor/phost/src/log.h",
559
+ "vendor/phost/src/phost.c",
560
+ "vendor/phost/src/phost.h",
561
+ "vendor/phost/src/stats.c",
562
+ "vendor/phost/src/stats.h",
563
+ "vendor/phost/src/tap.c",
564
+ "vendor/phost/src/tap.h",
565
+ "vendor/phost/src/trx.c",
566
+ "vendor/phost/src/trx.h",
567
+ "vendor/phost/src/udp.c",
568
+ "vendor/phost/src/udp.h",
569
+ "vendor/phost/src/utils.c",
570
+ "vendor/phost/src/utils.h",
571
+ "vendor/ruby-ifconfig-1.2/COPYING",
572
+ "vendor/ruby-ifconfig-1.2/Changelog",
573
+ "vendor/ruby-ifconfig-1.2/INSTALL",
574
+ "vendor/ruby-ifconfig-1.2/README",
575
+ "vendor/ruby-ifconfig-1.2/Rakefile",
576
+ "vendor/ruby-ifconfig-1.2/TODO",
577
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/darwin.txt",
578
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd.txt",
579
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd_netstat.txt",
580
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd.txt",
581
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd_netstat.txt",
582
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/linux.txt",
583
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/linux_ethernet.txt",
584
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/netbsd.txt",
585
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/openbsd.txt",
586
+ "vendor/ruby-ifconfig-1.2/ifconfig_examples/sunos.txt",
587
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig.rb",
588
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/ifconfig.rb",
589
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/interface_types.rb",
590
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/network_types.rb",
591
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/common/ifconfig.rb",
592
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/common/interface_types.rb",
593
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/common/network_types.rb",
594
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/ifconfig.rb",
595
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/interface_types.rb",
596
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/network_types.rb",
597
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/ifconfig.rb",
598
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/interface_types.rb",
599
+ "vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/network_types.rb",
600
+ "vendor/ruby-ifconfig-1.2/setup.rb",
601
+ "vendor/ruby-ifconfig-1.2/test/test_bsd.rb",
602
+ "vendor/ruby-ifconfig-1.2/test/test_darwin.rb",
603
+ "vendor/ruby-ifconfig-1.2/test/test_dragonflybsd.rb",
604
+ "vendor/ruby-ifconfig-1.2/test/test_helper.rb",
605
+ "vendor/ruby-ifconfig-1.2/test/test_linux.rb",
606
+ "vendor/ruby-ifconfig-1.2/test/test_netbsd.rb",
607
+ "vendor/ruby-ifconfig-1.2/test/test_openbsd.rb",
608
+ "vendor/ruby-ifconfig-1.2/test/test_sunos.rb",
609
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_darwin.rb",
610
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_dragonflybsd.rb",
611
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_freebsd.rb",
612
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_linux.rb",
613
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_netbsd.rb",
614
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_openbsd.rb",
615
+ "vendor/ruby-ifconfig-1.2/test/unit/tc_sunos.rb"
616
+ ]
617
+ s.homepage = "http://github.com/trema/trema"
618
+ s.licenses = ["GPL2"]
619
+ s.require_paths = ["lib"]
620
+ s.rubygems_version = "1.8.17"
621
+ s.summary = "Full-Stack OpenFlow Framework for Ruby/C"
622
+
623
+ if s.respond_to? :specification_version then
624
+ s.specification_version = 3
625
+
626
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
627
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
628
+ s.add_development_dependency(%q<cucumber>, [">= 0"])
629
+ s.add_development_dependency(%q<flay>, [">= 0"])
630
+ s.add_development_dependency(%q<flog>, [">= 0"])
631
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
632
+ s.add_development_dependency(%q<rake>, [">= 0"])
633
+ s.add_development_dependency(%q<rcov>, [">= 0"])
634
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
635
+ s.add_development_dependency(%q<redcarpet>, [">= 0"])
636
+ s.add_development_dependency(%q<reek>, ["~> 1.2.8"])
637
+ s.add_development_dependency(%q<roodi>, ["~> 2.1.0"])
638
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
639
+ s.add_development_dependency(%q<yard>, ["~> 0.7"])
640
+ else
641
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
642
+ s.add_dependency(%q<cucumber>, [">= 0"])
643
+ s.add_dependency(%q<flay>, [">= 0"])
644
+ s.add_dependency(%q<flog>, [">= 0"])
645
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
646
+ s.add_dependency(%q<rake>, [">= 0"])
647
+ s.add_dependency(%q<rcov>, [">= 0"])
648
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
649
+ s.add_dependency(%q<redcarpet>, [">= 0"])
650
+ s.add_dependency(%q<reek>, ["~> 1.2.8"])
651
+ s.add_dependency(%q<roodi>, ["~> 2.1.0"])
652
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
653
+ s.add_dependency(%q<yard>, ["~> 0.7"])
654
+ end
655
+ else
656
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
657
+ s.add_dependency(%q<cucumber>, [">= 0"])
658
+ s.add_dependency(%q<flay>, [">= 0"])
659
+ s.add_dependency(%q<flog>, [">= 0"])
660
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
661
+ s.add_dependency(%q<rake>, [">= 0"])
662
+ s.add_dependency(%q<rcov>, [">= 0"])
663
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
664
+ s.add_dependency(%q<redcarpet>, [">= 0"])
665
+ s.add_dependency(%q<reek>, ["~> 1.2.8"])
666
+ s.add_dependency(%q<roodi>, ["~> 2.1.0"])
667
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
668
+ s.add_dependency(%q<yard>, ["~> 0.7"])
669
+ end
670
+ end
671
+
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trema
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 73
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
9
  - 3
10
- version: 0.1.3
10
+ - 1
11
+ version: 0.1.3.1
11
12
  platform: ruby
12
13
  authors:
13
14
  - Yasuhito Takamiya
@@ -16,8 +17,7 @@ bindir:
16
17
  - .
17
18
  cert_chain: []
18
19
 
19
- date: 2012-02-22 00:00:00 +09:00
20
- default_executable:
20
+ date: 2012-02-23 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: bundler
@@ -685,6 +685,7 @@ files:
685
685
  - src/tremashark/tremashark.c
686
686
  - trema
687
687
  - trema-config
688
+ - trema.gemspec
688
689
  - unittests/buffer_stubs.c
689
690
  - unittests/cmockery_trema.c
690
691
  - unittests/cmockery_trema.h
@@ -818,7 +819,6 @@ files:
818
819
  - vendor/ruby-ifconfig-1.2/test/unit/tc_sunos.rb
819
820
  - ./trema
820
821
  - ./trema-config
821
- has_rdoc: true
822
822
  homepage: http://github.com/trema/trema
823
823
  licenses:
824
824
  - GPL2
@@ -848,9 +848,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
848
848
  requirements: []
849
849
 
850
850
  rubyforge_project:
851
- rubygems_version: 1.6.2
851
+ rubygems_version: 1.8.17
852
852
  signing_key:
853
853
  specification_version: 3
854
854
  summary: Full-Stack OpenFlow Framework for Ruby/C
855
855
  test_files: []
856
856
 
857
+ has_rdoc: