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 +3 -0
- data/VERSION +1 -1
- data/features/trema.feature +2 -2
- data/ruby/trema/command/usage.rb +4 -3
- data/ruby/trema/packet_in.c +226 -10
- data/spec/trema/packet-in_spec.rb +2 -0
- data/trema.gemspec +671 -0
- metadata +7 -6
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
|
data/features/trema.feature
CHANGED
@@ -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:
|
11
|
+
usage: trema <COMMAND> [OPTIONS ...]
|
12
12
|
|
13
13
|
Trema command-line tool
|
14
|
-
Type '
|
14
|
+
Type 'trema help <COMMAND>' for help on a specific command.
|
15
15
|
|
16
16
|
Available commands:
|
17
17
|
run - runs a trema application.
|
data/ruby/trema/command/usage.rb
CHANGED
@@ -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: #{
|
32
|
+
usage: #{ trema } <COMMAND> [OPTIONS ...]
|
32
33
|
|
33
34
|
Trema command-line tool
|
34
|
-
Type '#{
|
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 '#{
|
50
|
+
STDERR.puts "Type '#{ trema } help' for usage."
|
50
51
|
exit false
|
51
52
|
end
|
52
53
|
end
|
data/ruby/trema/packet_in.c
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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:
|
4
|
+
hash: 73
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
9
|
- 3
|
10
|
-
|
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-
|
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.
|
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:
|