trema 0.3.16 → 0.3.17

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.
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: