trema 0.3.16 → 0.3.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.rvmrc +52 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +1 -1
  6. data/Rakefile +259 -1
  7. data/Rantfile +79 -216
  8. data/features/.nav +12 -0
  9. data/features/dsl/switch_port_specifier.feature +15 -0
  10. data/features/examples/switch-event/C-add_forward_entry.feature +130 -0
  11. data/features/examples/switch-event/C-delete_forward_entry.feature +97 -0
  12. data/features/examples/switch-event/C-dump_forward_entries.feature +80 -0
  13. data/features/examples/switch-event/C-set_forward_entries.feature +85 -0
  14. data/features/examples/switch-event/README.md +40 -0
  15. data/features/examples/switch-event/add_forward_entry.feature +142 -0
  16. data/features/examples/switch-event/delete_forward_entry.feature +142 -0
  17. data/features/examples/switch-event/dump_forward_entries.feature +91 -0
  18. data/features/examples/switch-event/set_forward_entries.feature +90 -0
  19. data/features/support/hooks.rb +1 -0
  20. data/ruby/rake/c/dependency.rb +42 -0
  21. data/ruby/rake/c/library-task.rb +142 -0
  22. data/ruby/rake/c/shared-library-task.rb +38 -0
  23. data/ruby/rake/c/static-library-task.rb +32 -0
  24. data/ruby/trema/path.rb +1 -0
  25. data/ruby/trema/switch-event.c +647 -0
  26. data/{src/switch_manager/management_interface.h → ruby/trema/switch-event.h} +7 -21
  27. data/ruby/trema/trema.c +2 -0
  28. data/ruby/trema/version.rb +1 -1
  29. data/spec/spec_helper.rb +26 -2
  30. data/src/examples/switch_event_config/.gitignore +7 -0
  31. data/src/examples/switch_event_config/add_forward_entry.c +227 -0
  32. data/src/examples/switch_event_config/delete_forward_entry.c +226 -0
  33. data/src/examples/switch_event_config/dump_forward_entries.c +190 -0
  34. data/src/examples/switch_event_config/set_forward_entries.c +210 -0
  35. data/src/lib/event_forward_interface.c +783 -0
  36. data/src/lib/event_forward_interface.h +138 -0
  37. data/src/lib/trema.h +1 -0
  38. data/src/lib/utility.c +13 -1
  39. data/src/lib/utility.h +3 -0
  40. data/src/switch_manager/event_forward_entry_manipulation.c +120 -0
  41. data/src/switch_manager/event_forward_entry_manipulation.h +31 -0
  42. data/src/switch_manager/secure_channel_listener.c +23 -3
  43. data/src/switch_manager/switch.c +99 -29
  44. data/src/switch_manager/switch_manager.c +176 -3
  45. data/src/switch_manager/switch_manager.h +4 -0
  46. data/src/switch_manager/switch_option.c +30 -0
  47. data/src/switch_manager/switch_option.h +41 -0
  48. data/trema.gemspec +2 -1
  49. data/unittests/lib/event_forward_interface_test.c +1646 -0
  50. data/unittests/lib/utility_test.c +23 -1
  51. metadata +48 -10
@@ -31,7 +31,7 @@
31
31
  #include "ipv4.h"
32
32
  #include "trema_wrapper.h"
33
33
  #include "utility.h"
34
-
34
+ #include "wrapper.h"
35
35
 
36
36
  /********************************************************************************
37
37
  * Setup and teardown
@@ -618,6 +618,25 @@ test_get_checksum_icmp_packet() {
618
618
  }
619
619
 
620
620
 
621
+ static void
622
+ test_xfree_data() {
623
+ void *mem = xmalloc( 123 );
624
+ xfree_data( mem, NULL );
625
+ }
626
+
627
+
628
+ static void
629
+ test_string_equal() {
630
+ char lhs1[] = "abcd";
631
+ char rhs1[] = "abcd";
632
+ assert_true( string_equal( lhs1, rhs1 ) );
633
+
634
+ char lhs2[] = "abcde";
635
+ char rhs2[] = "abcdef";
636
+ assert_false( string_equal( lhs2, rhs2 ) );
637
+ }
638
+
639
+
621
640
  /********************************************************************************
622
641
  * Run tests.
623
642
  ********************************************************************************/
@@ -675,6 +694,9 @@ main() {
675
694
 
676
695
  unit_test( test_get_checksum_udp_packet ),
677
696
  unit_test( test_get_checksum_icmp_packet ),
697
+
698
+ unit_test( test_xfree_data ),
699
+ unit_test( test_string_equal ),
678
700
  };
679
701
  setup_leak_detector();
680
702
  return run_tests( tests );
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhito Takamiya
@@ -9,14 +9,14 @@ autorequire:
9
9
  bindir: .
10
10
  cert_chain: []
11
11
 
12
- date: 2013-03-05 00:00:00 Z
12
+ date: 2013-03-19 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  type: :runtime
17
17
  requirement: &id001 !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - &id005
19
+ - &id006
20
20
  - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: "0"
@@ -29,29 +29,39 @@ dependencies:
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 2.5.4
32
+ version: 2.5.5
33
33
  prerelease: false
34
34
  version_requirements: *id002
35
35
  - !ruby/object:Gem::Dependency
36
- name: rake
36
+ name: popen4
37
37
  type: :runtime
38
38
  requirement: &id003 !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
- version: 10.0.3
42
+ version: 0.1.2
43
43
  prerelease: false
44
44
  version_requirements: *id003
45
45
  - !ruby/object:Gem::Dependency
46
- name: rdoc
46
+ name: rake
47
47
  type: :runtime
48
48
  requirement: &id004 !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ~>
51
51
  - !ruby/object:Gem::Version
52
- version: 4.0.0
52
+ version: 10.0.3
53
53
  prerelease: false
54
54
  version_requirements: *id004
55
+ - !ruby/object:Gem::Dependency
56
+ name: rdoc
57
+ type: :runtime
58
+ requirement: &id005 !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 4.0.0
63
+ prerelease: false
64
+ version_requirements: *id005
55
65
  description: Trema is a full-stack, easy-to-use framework for developing OpenFlow controllers in Ruby and C.
56
66
  email:
57
67
  - yasuhito@gmail.com
@@ -65,6 +75,7 @@ extra_rdoc_files:
65
75
  files:
66
76
  - .gitignore
67
77
  - .mono.rant
78
+ - .rvmrc
68
79
  - .travis.yml
69
80
  - .yardopts
70
81
  - Doxyfile
@@ -83,6 +94,7 @@ files:
83
94
  - features/core/packetin_filter.feature
84
95
  - features/core/switch_manager.feature
85
96
  - features/core/trema-config.feature
97
+ - features/dsl/switch_port_specifier.feature
86
98
  - features/examples/dumper.feature
87
99
  - features/examples/hello_trema.feature
88
100
  - features/examples/learning_switch.feature
@@ -97,6 +109,15 @@ files:
97
109
  - features/examples/packetin_filter_config.feature
98
110
  - features/examples/patch_panel.feature
99
111
  - features/examples/repeater_hub.feature
112
+ - features/examples/switch-event/C-add_forward_entry.feature
113
+ - features/examples/switch-event/C-delete_forward_entry.feature
114
+ - features/examples/switch-event/C-dump_forward_entries.feature
115
+ - features/examples/switch-event/C-set_forward_entries.feature
116
+ - features/examples/switch-event/README.md
117
+ - features/examples/switch-event/add_forward_entry.feature
118
+ - features/examples/switch-event/delete_forward_entry.feature
119
+ - features/examples/switch-event/dump_forward_entries.feature
120
+ - features/examples/switch-event/set_forward_entries.feature
100
121
  - features/examples/switch_info.feature
101
122
  - features/examples/switch_monitor.feature
102
123
  - features/handlers/switch_ready.feature
@@ -123,6 +144,10 @@ files:
123
144
  - ruby/.gitignore
124
145
  - ruby/blocker.rb
125
146
  - ruby/extconf.rb
147
+ - ruby/rake/c/dependency.rb
148
+ - ruby/rake/c/library-task.rb
149
+ - ruby/rake/c/shared-library-task.rb
150
+ - ruby/rake/c/static-library-task.rb
126
151
  - ruby/sub-process.rb
127
152
  - ruby/trema/action-common.c
128
153
  - ruby/trema/action-common.h
@@ -284,6 +309,8 @@ files:
284
309
  - ruby/trema/switch-daemon.rb
285
310
  - ruby/trema/switch-disconnected.c
286
311
  - ruby/trema/switch-disconnected.h
312
+ - ruby/trema/switch-event.c
313
+ - ruby/trema/switch-event.h
287
314
  - ruby/trema/switch-manager.rb
288
315
  - ruby/trema/switch.c
289
316
  - ruby/trema/switch.h
@@ -445,6 +472,11 @@ files:
445
472
  - src/examples/simple_router/simple_router.conf
446
473
  - src/examples/simple_router/simple_router_netns.conf
447
474
  - src/examples/simple_router/simple_router_network.conf
475
+ - src/examples/switch_event_config/.gitignore
476
+ - src/examples/switch_event_config/add_forward_entry.c
477
+ - src/examples/switch_event_config/delete_forward_entry.c
478
+ - src/examples/switch_event_config/dump_forward_entries.c
479
+ - src/examples/switch_event_config/set_forward_entries.c
448
480
  - src/examples/switch_info/README
449
481
  - src/examples/switch_info/switch-info.rb
450
482
  - src/examples/switch_info/switch_info.c
@@ -479,6 +511,8 @@ files:
479
511
  - src/lib/ether.c
480
512
  - src/lib/ether.h
481
513
  - src/lib/etherip.h
514
+ - src/lib/event_forward_interface.c
515
+ - src/lib/event_forward_interface.h
482
516
  - src/lib/event_handler.c
483
517
  - src/lib/event_handler.h
484
518
  - src/lib/hash_table.c
@@ -547,7 +581,8 @@ files:
547
581
  - src/switch_manager/cookie_table.h
548
582
  - src/switch_manager/dpid_table.c
549
583
  - src/switch_manager/dpid_table.h
550
- - src/switch_manager/management_interface.h
584
+ - src/switch_manager/event_forward_entry_manipulation.c
585
+ - src/switch_manager/event_forward_entry_manipulation.h
551
586
  - src/switch_manager/ofpmsg_recv.c
552
587
  - src/switch_manager/ofpmsg_recv.h
553
588
  - src/switch_manager/ofpmsg_send.c
@@ -564,6 +599,8 @@ files:
564
599
  - src/switch_manager/switch.h
565
600
  - src/switch_manager/switch_manager.c
566
601
  - src/switch_manager/switch_manager.h
602
+ - src/switch_manager/switch_option.c
603
+ - src/switch_manager/switch_option.h
567
604
  - src/switch_manager/switchinfo.h
568
605
  - src/switch_manager/xid_table.c
569
606
  - src/switch_manager/xid_table.h
@@ -597,6 +634,7 @@ files:
597
634
  - unittests/lib/daemon_test.c
598
635
  - unittests/lib/doubly_linked_list_test.c
599
636
  - unittests/lib/ether_test.c
637
+ - unittests/lib/event_forward_interface_test.c
600
638
  - unittests/lib/hash_table_test.c
601
639
  - unittests/lib/linked_list_test.c
602
640
  - unittests/lib/log_test.c
@@ -745,7 +783,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
745
783
  version: 1.8.7
746
784
  required_rubygems_version: !ruby/object:Gem::Requirement
747
785
  requirements:
748
- - *id005
786
+ - *id006
749
787
  requirements: []
750
788
 
751
789
  rubyforge_project: