trema 0.1.3 → 0.1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: