├── .abat-automerge ├── .gitignore ├── .gitmodules ├── Doxyfile ├── LICENSE ├── Makefile ├── README.md ├── init.mk ├── main.dox ├── modules ├── BigData │ ├── BigHash │ │ ├── .gitignore │ │ ├── .module │ │ ├── BigHash.doxy │ │ ├── Makefile │ │ ├── README │ │ ├── module │ │ │ ├── auto │ │ │ │ ├── BigHash.yml │ │ │ │ └── make.mk │ │ │ ├── inc │ │ │ │ └── BigHash │ │ │ │ │ ├── bighash.h │ │ │ │ │ ├── bighash.x │ │ │ │ │ ├── bighash_config.h │ │ │ │ │ ├── bighash_dox.h │ │ │ │ │ ├── bighash_porting.h │ │ │ │ │ └── bighash_template.h │ │ │ ├── make.mk │ │ │ └── src │ │ │ │ ├── Makefile │ │ │ │ ├── bighash.c │ │ │ │ ├── bighash_config.c │ │ │ │ ├── bighash_enums.c │ │ │ │ ├── bighash_int.h │ │ │ │ ├── bighash_log.c │ │ │ │ ├── bighash_log.h │ │ │ │ ├── bighash_module.c │ │ │ │ ├── bighash_ucli.c │ │ │ │ └── make.mk │ │ └── utest │ │ │ ├── _make.mk │ │ │ ├── main.c │ │ │ └── test_hashtable.h │ ├── BigList │ │ ├── .gitignore │ │ ├── .module │ │ ├── BigList.doxy │ │ ├── Makefile │ │ ├── README │ │ ├── module │ │ │ ├── auto │ │ │ │ ├── BigList.yml │ │ │ │ └── make.mk │ │ │ ├── inc │ │ │ │ └── BigList │ │ │ │ │ ├── biglist.h │ │ │ │ │ ├── biglist_config.h │ │ │ │ │ ├── biglist_dox.h │ │ │ │ │ ├── biglist_locked.h │ │ │ │ │ └── biglist_porting.h │ │ │ ├── make.mk │ │ │ └── src │ │ │ │ ├── biglist.c │ │ │ │ ├── biglist_alloc.c │ │ │ │ ├── biglist_append.c │ │ │ │ ├── biglist_append_list.c │ │ │ │ ├── biglist_config.c │ │ │ │ ├── biglist_copy.c │ │ │ │ ├── biglist_dump.c │ │ │ │ ├── biglist_find.c │ │ │ │ ├── biglist_find_custom.c │ │ │ │ ├── biglist_foreach.c │ │ │ │ ├── biglist_free.c │ │ │ │ ├── biglist_free_all.c │ │ │ │ ├── biglist_from_array.c │ │ │ │ ├── biglist_from_data_array.c │ │ │ │ ├── biglist_insert_sorted.c │ │ │ │ ├── biglist_int.h │ │ │ │ ├── biglist_last.c │ │ │ │ ├── biglist_length.c │ │ │ │ ├── biglist_lock.c │ │ │ │ ├── biglist_locked_append.c │ │ │ │ ├── biglist_locked_create.c │ │ │ │ ├── biglist_locked_find.c │ │ │ │ ├── biglist_locked_free.c │ │ │ │ ├── biglist_locked_free_all.c │ │ │ │ ├── biglist_locked_length.c │ │ │ │ ├── biglist_locked_prepend.c │ │ │ │ ├── biglist_locked_remove.c │ │ │ │ ├── biglist_locked_remove_link.c │ │ │ │ ├── biglist_locked_remove_link_free.c │ │ │ │ ├── biglist_log.c │ │ │ │ ├── biglist_log.h │ │ │ │ ├── biglist_next.c │ │ │ │ ├── biglist_prepend.c │ │ │ │ ├── biglist_prepend_list.c │ │ │ │ ├── biglist_remove.c │ │ │ │ ├── biglist_remove_link.c │ │ │ │ ├── biglist_remove_link_free.c │ │ │ │ ├── biglist_reverse.c │ │ │ │ ├── biglist_sort.c │ │ │ │ ├── biglist_to_array.c │ │ │ │ ├── biglist_to_data_array.c │ │ │ │ ├── biglist_unlock.c │ │ │ │ └── make.mk │ │ └── utest │ │ │ ├── _make.mk │ │ │ └── main.c │ ├── BigRing │ │ ├── .gitignore │ │ ├── .module │ │ ├── BigRing.doxy │ │ ├── Makefile │ │ ├── README │ │ ├── module │ │ │ ├── auto │ │ │ │ ├── BigRing.yml │ │ │ │ └── make.mk │ │ │ ├── inc │ │ │ │ └── BigRing │ │ │ │ │ ├── bigring.h │ │ │ │ │ ├── bigring_config.h │ │ │ │ │ ├── bigring_dox.h │ │ │ │ │ └── bigring_porting.h │ │ │ ├── make.mk │ │ │ └── src │ │ │ │ ├── Makefile │ │ │ │ ├── bigring.c │ │ │ │ ├── bigring_config.c │ │ │ │ └── make.mk │ │ └── utest │ │ │ ├── _make.mk │ │ │ └── main.c │ └── nwac │ │ ├── .gitignore │ │ ├── .module │ │ ├── Makefile │ │ ├── README │ │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── nwac.yml │ │ ├── inc │ │ │ └── nwac │ │ │ │ ├── nwac.h │ │ │ │ ├── nwac.x │ │ │ │ ├── nwac_config.h │ │ │ │ ├── nwac_dox.h │ │ │ │ └── nwac_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── nwac.c │ │ │ ├── nwac_config.c │ │ │ ├── nwac_enums.c │ │ │ ├── nwac_int.h │ │ │ ├── nwac_log.c │ │ │ ├── nwac_log.h │ │ │ ├── nwac_module.c │ │ │ └── nwac_ucli.c │ │ ├── nwac.doxy │ │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── ELS │ ├── .gitignore │ ├── .module │ ├── ELS.doxy │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── ELS.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── ELS │ │ │ │ ├── els.h │ │ │ │ ├── els.x │ │ │ │ ├── els_config.h │ │ │ │ ├── els_dox.h │ │ │ │ └── els_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── els.c │ │ │ ├── els_config.c │ │ │ ├── els_enums.c │ │ │ ├── els_int.h │ │ │ ├── els_log.c │ │ │ ├── els_log.h │ │ │ ├── els_module.c │ │ │ ├── els_ucli.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── FME │ ├── .gitignore │ ├── .module │ ├── FME.doxy │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── FME.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── FME │ │ │ │ ├── fme.h │ │ │ │ ├── fme.x │ │ │ │ ├── fme_config.h │ │ │ │ ├── fme_dox.h │ │ │ │ ├── fme_porting.h │ │ │ │ ├── fme_types.h │ │ │ │ └── uCli │ │ │ │ └── fme_utm.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── fme.c │ │ │ ├── fme_config.c │ │ │ ├── fme_enums.c │ │ │ ├── fme_int.h │ │ │ ├── fme_log.c │ │ │ ├── fme_log.h │ │ │ ├── fme_module.c │ │ │ ├── fme_ucli.c │ │ │ ├── fme_utm.c │ │ │ └── make.mk │ └── utest │ │ ├── Makefile │ │ ├── _make.mk │ │ ├── fme_utests.c │ │ ├── fme_utests.yml │ │ └── main.c ├── IOF │ ├── .gitignore │ ├── .module │ ├── IOF.doxy │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── IOF.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── IOF │ │ │ │ ├── iof.h │ │ │ │ ├── iof_config.h │ │ │ │ ├── iof_dox.h │ │ │ │ └── iof_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── iof.c │ │ │ ├── iof_config.c │ │ │ ├── iof_log.c │ │ │ ├── iof_log.h │ │ │ ├── iof_module.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── Makefile ├── Manifest.mk ├── OS │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── OS.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── OS │ │ │ │ ├── os.h │ │ │ │ ├── os.x │ │ │ │ ├── os_config.h │ │ │ │ ├── os_porting.h │ │ │ │ ├── os_sem.h │ │ │ │ ├── os_sleep.h │ │ │ │ ├── os_thread.h │ │ │ │ └── os_time.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── os_config.c │ │ │ ├── os_enums.c │ │ │ ├── os_int.h │ │ │ ├── os_log.c │ │ │ ├── os_log.h │ │ │ ├── os_module.c │ │ │ ├── os_sem_none.c │ │ │ ├── os_sem_osx.c │ │ │ ├── os_sem_posix.c │ │ │ ├── os_sem_windows.c │ │ │ ├── os_sleep_none.c │ │ │ ├── os_sleep_osx.c │ │ │ ├── os_sleep_posix.c │ │ │ ├── os_sleep_windows.c │ │ │ ├── os_thread_posix.c │ │ │ ├── os_time_none.c │ │ │ ├── os_time_osx.c │ │ │ ├── os_time_posix.c │ │ │ ├── os_time_windows.c │ │ │ └── os_ucli.c │ └── utest │ │ ├── _make.mk │ │ ├── main.c │ │ └── semtest.c ├── PPE │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── PPE.doxy │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── PPE.yml │ │ │ ├── autopost.py │ │ │ └── make.mk │ │ ├── inc │ │ │ └── PPE │ │ │ │ ├── ppe.h │ │ │ │ ├── ppe.x │ │ │ │ ├── ppe_config.h │ │ │ │ ├── ppe_dox.h │ │ │ │ ├── ppe_porting.h │ │ │ │ ├── ppe_types.h │ │ │ │ └── uCli │ │ │ │ └── ppe_utm.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── ppe_config.c │ │ │ ├── ppe_enums.c │ │ │ ├── ppe_field.c │ │ │ ├── ppe_header.c │ │ │ ├── ppe_int.h │ │ │ ├── ppe_log.c │ │ │ ├── ppe_log.h │ │ │ ├── ppe_module.c │ │ │ ├── ppe_packet.c │ │ │ ├── ppe_parse.c │ │ │ ├── ppe_test_module.c │ │ │ ├── ppe_ucli.c │ │ │ ├── ppe_util.c │ │ │ ├── ppe_util.h │ │ │ └── ppe_utm.c │ └── utest │ │ ├── Makefile │ │ ├── _make.mk │ │ ├── main.c │ │ ├── ppe_utests.c │ │ └── ppe_utests.yml ├── VPI │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── VPI.doxy │ ├── module │ │ ├── auto │ │ │ ├── VPI.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── VPI │ │ │ │ ├── vpi.h │ │ │ │ ├── vpi.x │ │ │ │ ├── vpi_config.h │ │ │ │ ├── vpi_dox.h │ │ │ │ ├── vpi_interface.h │ │ │ │ ├── vpi_porting.h │ │ │ │ └── vpi_protocol.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── vpi.c │ │ │ ├── vpi_bridge.c │ │ │ ├── vpi_config.c │ │ │ ├── vpi_enums.c │ │ │ ├── vpi_int.h │ │ │ ├── vpi_interface_bpp.c │ │ │ ├── vpi_interface_bpp.h │ │ │ ├── vpi_interface_dump.c │ │ │ ├── vpi_interface_dump.h │ │ │ ├── vpi_interface_loopback.c │ │ │ ├── vpi_interface_loopback.h │ │ │ ├── vpi_interface_mmap.c │ │ │ ├── vpi_interface_mmap.h │ │ │ ├── vpi_interface_pcap.c │ │ │ ├── vpi_interface_pcap.h │ │ │ ├── vpi_interface_pcapdump.c │ │ │ ├── vpi_interface_pcapdump.h │ │ │ ├── vpi_interface_queue.c │ │ │ ├── vpi_interface_queue.h │ │ │ ├── vpi_interface_tap.c │ │ │ ├── vpi_interface_tap.h │ │ │ ├── vpi_interface_tcp.c │ │ │ ├── vpi_interface_tcp.h │ │ │ ├── vpi_interface_udp.c │ │ │ ├── vpi_interface_udp.h │ │ │ ├── vpi_interface_veth.c │ │ │ ├── vpi_interface_veth.h │ │ │ ├── vpi_ip_utils.c │ │ │ ├── vpi_ip_utils.h │ │ │ ├── vpi_log.c │ │ │ ├── vpi_log.h │ │ │ ├── vpi_module.c │ │ │ ├── vpi_parser.c │ │ │ ├── vpi_parser.h │ │ │ ├── vpi_protocol.c │ │ │ ├── vpi_python.c │ │ │ └── vpi_ucli.c │ └── utest │ │ ├── _make.mk │ │ ├── main.c │ │ ├── vpi_blocking.c │ │ ├── vpi_nonblocking.c │ │ └── vpi_utests.h ├── bloom_filter │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── module │ │ ├── inc │ │ │ └── bloom_filter │ │ │ │ └── bloom_filter.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── bloom_filter.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── cjson │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ └── module │ │ ├── inc │ │ └── cjson │ │ │ └── cJSON.h │ │ ├── make.mk │ │ └── src │ │ ├── cJSON.c │ │ └── make.mk ├── cjson_util │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── cjson_util.doxy │ ├── module │ │ ├── auto │ │ │ ├── cjson_util.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── cjson_util │ │ │ │ ├── cjson_util.h │ │ │ │ ├── cjson_util.x │ │ │ │ ├── cjson_util_config.h │ │ │ │ ├── cjson_util_dox.h │ │ │ │ ├── cjson_util_file.h │ │ │ │ ├── cjson_util_format.h │ │ │ │ └── cjson_util_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── cjson_util.c │ │ │ ├── cjson_util_config.c │ │ │ ├── cjson_util_enums.c │ │ │ ├── cjson_util_file.c │ │ │ ├── cjson_util_format.c │ │ │ ├── cjson_util_int.h │ │ │ ├── cjson_util_log.c │ │ │ ├── cjson_util_log.h │ │ │ ├── cjson_util_module.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── debug_counter │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── debug_counter.doxy │ ├── module │ │ ├── auto │ │ │ ├── debug_counter.yml │ │ │ └── make.mk │ │ ├── inc │ │ │ └── debug_counter │ │ │ │ ├── debug_counter.h │ │ │ │ ├── debug_counter.x │ │ │ │ ├── debug_counter_config.h │ │ │ │ ├── debug_counter_dox.h │ │ │ │ └── debug_counter_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── debug_counter.c │ │ │ ├── debug_counter_config.c │ │ │ ├── debug_counter_enums.c │ │ │ ├── debug_counter_int.h │ │ │ ├── debug_counter_log.c │ │ │ ├── debug_counter_log.h │ │ │ ├── debug_counter_module.c │ │ │ ├── debug_counter_ucli.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── histogram │ ├── .gitignore │ ├── .module │ ├── module │ │ ├── inc │ │ │ └── histogram │ │ │ │ └── histogram.h │ │ ├── make.mk │ │ └── src │ │ │ ├── histogram.c │ │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── murmur │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── murmur.yml │ │ ├── inc │ │ │ └── murmur │ │ │ │ └── murmur.h │ │ └── make.mk │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── orc │ ├── .gitignore │ ├── .module │ ├── AUTHORS │ ├── DESIGN │ ├── INSTALL │ ├── Makefile │ ├── NOTES │ ├── OPERATIONS │ ├── README │ ├── TODO │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── orc.yml │ │ ├── inc │ │ │ └── orc │ │ │ │ ├── fwd_loop.h │ │ │ │ ├── load_driver.h │ │ │ │ ├── neighbor.h │ │ │ │ ├── netlink_mon.h │ │ │ │ ├── options.h │ │ │ │ ├── orc.x │ │ │ │ ├── orc_config.h │ │ │ │ ├── orc_dox.h │ │ │ │ ├── orc_driver.h │ │ │ │ ├── orc_logger.h │ │ │ │ ├── orc_porting.h │ │ │ │ ├── orc_ucli.h │ │ │ │ ├── ports.h │ │ │ │ ├── tap_utils.h │ │ │ │ ├── unittest.h │ │ │ │ └── utils.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── drivers │ │ │ ├── debug │ │ │ │ ├── debug_drv.c │ │ │ │ └── make.mk │ │ │ └── veth │ │ │ │ ├── make.mk │ │ │ │ └── veth.c │ │ │ ├── fwd_loop.c │ │ │ ├── load_driver.c │ │ │ ├── main.c │ │ │ ├── make.mk │ │ │ ├── neighbor.c │ │ │ ├── netlink_mon.c │ │ │ ├── options.c │ │ │ ├── orc_config.c │ │ │ ├── orc_enums.c │ │ │ ├── orc_int.h │ │ │ ├── orc_log.c │ │ │ ├── orc_log.h │ │ │ ├── orc_logger.c │ │ │ ├── orc_module.c │ │ │ ├── orc_ucli.c │ │ │ └── tap_utils.c │ ├── orc.doxy │ ├── orc.upstart │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── pimu │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── pimu.yml │ │ ├── inc │ │ │ └── pimu │ │ │ │ ├── pimu.h │ │ │ │ ├── pimu.x │ │ │ │ ├── pimu_config.h │ │ │ │ ├── pimu_dox.h │ │ │ │ └── pimu_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── pimu.c │ │ │ ├── pimu_config.c │ │ │ ├── pimu_enums.c │ │ │ ├── pimu_int.h │ │ │ ├── pimu_log.c │ │ │ ├── pimu_log.h │ │ │ ├── pimu_module.c │ │ │ └── pimu_ucli.c │ ├── pimu.doxy │ └── utest │ │ ├── _make.mk │ │ └── main.c ├── sff │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── sff.yml │ │ ├── inc │ │ │ └── sff │ │ │ │ ├── 8436.h │ │ │ │ ├── 8472.h │ │ │ │ ├── 8636.h │ │ │ │ ├── cmis.h │ │ │ │ ├── dom.h │ │ │ │ ├── sff.h │ │ │ │ ├── sff.x │ │ │ │ ├── sff_config.h │ │ │ │ ├── sff_db.h │ │ │ │ ├── sff_dox.h │ │ │ │ └── sff_porting.h │ │ ├── make.mk │ │ ├── python │ │ │ └── sff │ │ │ │ ├── __init__.py │ │ │ │ └── enums.py │ │ └── src │ │ │ ├── Makefile │ │ │ ├── cmis.c │ │ │ ├── dom.c │ │ │ ├── make.mk │ │ │ ├── nonstandard.c │ │ │ ├── sff.c │ │ │ ├── sff_config.c │ │ │ ├── sff_db.c │ │ │ ├── sff_enums.c │ │ │ ├── sff_int.h │ │ │ ├── sff_log.c │ │ │ ├── sff_log.h │ │ │ ├── sff_module.c │ │ │ └── sff_tool.c │ ├── sff.doxy │ └── utest │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── _make.mk │ │ └── main.c ├── slot_allocator │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── slot_allocator.yml │ │ ├── inc │ │ │ └── slot_allocator │ │ │ │ ├── slot_allocator.h │ │ │ │ ├── slot_allocator.x │ │ │ │ ├── slot_allocator_config.h │ │ │ │ ├── slot_allocator_dox.h │ │ │ │ └── slot_allocator_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── slot_allocator.c │ │ │ ├── slot_allocator_config.c │ │ │ ├── slot_allocator_enums.c │ │ │ ├── slot_allocator_int.h │ │ │ ├── slot_allocator_log.c │ │ │ ├── slot_allocator_log.h │ │ │ ├── slot_allocator_module.c │ │ │ └── slot_allocator_ucli.c │ ├── slot_allocator.doxy │ └── utest │ │ ├── _make.mk │ │ ├── example.c │ │ └── main.c ├── snmp_subagent │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── snmp_subagent.yml │ │ ├── inc │ │ │ └── snmp_subagent │ │ │ │ ├── snmp_subagent.h │ │ │ │ ├── snmp_subagent.x │ │ │ │ ├── snmp_subagent_clients.h │ │ │ │ ├── snmp_subagent_config.h │ │ │ │ ├── snmp_subagent_dox.h │ │ │ │ ├── snmp_subagent_main.h │ │ │ │ ├── snmp_subagent_porting.h │ │ │ │ └── snmp_subagent_snmplog.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── snmp_subagent.c │ │ │ ├── snmp_subagent_clients.c │ │ │ ├── snmp_subagent_config.c │ │ │ ├── snmp_subagent_enums.c │ │ │ ├── snmp_subagent_example.c │ │ │ ├── snmp_subagent_example.h │ │ │ ├── snmp_subagent_int.h │ │ │ ├── snmp_subagent_log.c │ │ │ ├── snmp_subagent_log.h │ │ │ ├── snmp_subagent_main.c │ │ │ ├── snmp_subagent_module.c │ │ │ ├── snmp_subagent_snmplog.c │ │ │ ├── snmp_subagent_thread.c │ │ │ └── snmp_subagent_ucli.c │ └── snmp_subagent.doxy ├── timer_wheel │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ │ ├── auto │ │ │ ├── make.mk │ │ │ └── timer_wheel.yml │ │ ├── inc │ │ │ └── timer_wheel │ │ │ │ ├── timer_wheel.h │ │ │ │ ├── timer_wheel.x │ │ │ │ ├── timer_wheel_config.h │ │ │ │ ├── timer_wheel_dox.h │ │ │ │ └── timer_wheel_porting.h │ │ ├── make.mk │ │ └── src │ │ │ ├── Makefile │ │ │ ├── make.mk │ │ │ ├── timer_wheel.c │ │ │ ├── timer_wheel_config.c │ │ │ ├── timer_wheel_enums.c │ │ │ ├── timer_wheel_int.h │ │ │ ├── timer_wheel_log.c │ │ │ ├── timer_wheel_log.h │ │ │ ├── timer_wheel_module.c │ │ │ └── timer_wheel_ucli.c │ ├── timer_wheel.doxy │ └── utest │ │ ├── _make.mk │ │ └── main.c └── uCli │ ├── .gitignore │ ├── .module │ ├── Makefile │ ├── README │ ├── module │ ├── auto │ │ ├── make.mk │ │ └── uCli.yml │ ├── inc │ │ └── uCli │ │ │ ├── ucli.h │ │ │ ├── ucli.x │ │ │ ├── ucli_argparse.h │ │ │ ├── ucli_common.h │ │ │ ├── ucli_config.h │ │ │ ├── ucli_dox.h │ │ │ ├── ucli_errors.h │ │ │ ├── ucli_handler_macros.h │ │ │ ├── ucli_module.h │ │ │ ├── ucli_node.h │ │ │ └── ucli_porting.h │ ├── make.mk │ └── src │ │ ├── Makefile │ │ ├── make.mk │ │ ├── ucli.c │ │ ├── ucli_argparse.c │ │ ├── ucli_config.c │ │ ├── ucli_enums.c │ │ ├── ucli_error.c │ │ ├── ucli_handlers.c │ │ ├── ucli_int.h │ │ ├── ucli_log.c │ │ ├── ucli_log.h │ │ ├── ucli_module.c │ │ ├── ucli_node.c │ │ ├── ucli_printf.c │ │ ├── ucli_util.c │ │ └── ucli_util.h │ ├── uCli.doxy │ └── utest │ ├── Makefile │ ├── _make.mk │ ├── handlers.py │ ├── main.c │ └── modules.c_ ├── submodules └── init.py ├── targets ├── .gitignore ├── snmp_subagent │ └── Makefile ├── utests │ ├── BigData │ │ ├── BigHash │ │ │ └── Makefile │ │ ├── BigList │ │ │ └── Makefile │ │ ├── BigRing │ │ │ ├── Locked │ │ │ │ └── Makefile │ │ │ ├── Makefile │ │ │ └── Unlocked │ │ │ │ └── Makefile │ │ ├── Makefile │ │ └── nwac │ │ │ ├── Locked │ │ │ └── Makefile │ │ │ ├── Makefile │ │ │ └── Unlocked │ │ │ └── Makefile │ ├── ELS │ │ └── Makefile │ ├── FME │ │ └── Makefile │ ├── IOF │ │ └── Makefile │ ├── Makefile │ ├── OS │ │ ├── Makefile │ │ ├── autoselect │ │ │ └── Makefile │ │ ├── none │ │ │ └── Makefile │ │ ├── osx │ │ │ └── Makefile │ │ └── posix │ │ │ └── Makefile │ ├── PPE │ │ └── Makefile │ ├── VPI │ │ └── Makefile │ ├── bloom_filter │ │ └── Makefile │ ├── cjson_util │ │ └── Makefile │ ├── debug_counter │ │ └── Makefile │ ├── histogram │ │ └── Makefile │ ├── murmur │ │ └── Makefile │ ├── orc │ │ └── Makefile │ ├── pimu │ │ └── Makefile │ ├── slot_allocator │ │ └── Makefile │ ├── timer_wheel │ │ └── Makefile │ └── uCli │ │ └── Makefile └── vpi │ ├── Makefile │ ├── jvpi │ ├── .gitignore │ ├── Makefile │ ├── Makefile.swig │ ├── TestJVPI.java │ ├── VPI.i │ └── com │ │ └── bigswitch │ │ └── vpi │ │ ├── IVirtualPortInterface.java │ │ ├── IVirtualPortInterfaceFactory.java │ │ └── native_ │ │ ├── NativeVPI.java │ │ ├── NativeVPIFactory.java │ │ └── swig │ │ └── README │ ├── libvpi │ ├── .gitignore │ ├── Makefile │ └── deb │ │ └── debian │ │ ├── .gitignore │ │ ├── changelog │ │ ├── compat │ │ ├── control │ │ ├── copyright │ │ ├── libvpi.install │ │ └── rules │ ├── pyvpi │ ├── .gitignore │ ├── MANIFEST │ ├── Makefile │ ├── setup.py │ └── vpi │ │ ├── __init__.py │ │ ├── pyvpitool │ │ └── vpi.py │ └── vpitool │ ├── .gitignore │ ├── Makefile │ └── main.c └── tools ├── .gitignore ├── infra.py ├── newmodule.py ├── ucliblocks.py ├── uclihandlers.py ├── uclihandlers2.py └── uclimod.py /.abat-automerge: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | ROOTDIR=$(dirname $(readlink -f $0)) 3 | make -C $ROOTDIR check 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "submodules/infra"] 2 | path = submodules/infra 3 | url = git@github.com:floodlight/infra 4 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | # 21 | # Top level infra Makefile 22 | # 23 | 24 | .default: check 25 | 26 | check tests: 27 | make -C targets/utests 28 | 29 | 30 | doc: 31 | doxygen 32 | 33 | .PHONY: check tests doc 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Common Code Module Repository 2 | ============================= 3 | -------------------------------------------------------------------------------- /main.dox: -------------------------------------------------------------------------------- 1 | /** 2 | \mainpage 3 | 4 | The bigcode Repository. 5 | 6 | This repository contains common software building blocks and generic library implementations. 7 | 8 | It depends (and may only depend) only on the infra repository. 9 | 10 | */ 11 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/.gitignore: -------------------------------------------------------------------------------- 1 | /BigHash.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/.module: -------------------------------------------------------------------------------- 1 | name: BigHash 2 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../init.mk 20 | 21 | MODULE := BigHash 22 | AUTOMODULE := BigHash 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # BigHash README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | BigHash_AUTO_DEFS := module/auto/BigHash.yml 21 | BigHash_AUTO_DIRS := module/inc/BigHash module/src 22 | include $(BUILDER)/auto.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/inc/BigHash/bighash.x: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.xmacro(ALL).define> */ 23 | /* */ 24 | 25 | /* <--auto.start.xenum(ALL).define> */ 26 | /* */ 27 | 28 | 29 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | BigHash_INCLUDES := -I $(THIS_DIR)inc 22 | BigHash_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | BigHash_DEPENDMODULE_ENTRIES := init:bighash ucli:bighash 24 | 25 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | ../../../../../tools/uclihandlers.py bighash_ucli.c 21 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/src/bighash_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.enum(ALL).source> */ 23 | /* */ 24 | 25 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/src/bighash_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __BIGHASH_INT_H__ 21 | #define __BIGHASH_INT_H__ 22 | 23 | #include 24 | 25 | 26 | #endif /* __BIGHASH_INT_H__ */ 27 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/src/bighash_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __BIGHASH_LOG_H__ 21 | #define __BIGHASH_LOG_H__ 22 | 23 | #define AIM_LOG_MODULE_NAME bighash 24 | #include 25 | 26 | #endif /* __BIGHASH_LOG_H__ */ 27 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := BigHash 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/BigHash/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := BigHash 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/BigList/.gitignore: -------------------------------------------------------------------------------- 1 | /BigList.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/BigData/BigList/.module: -------------------------------------------------------------------------------- 1 | name: BigList 2 | -------------------------------------------------------------------------------- /modules/BigData/BigList/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | include ../../../init.mk 20 | 21 | MODULE := BigList 22 | AUTOMODULE := BigList 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/BigData/BigList/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # BigList 4 | # 5 | # Doubly-linked list 6 | # 7 | ############################################################################### 8 | 9 | The BigList module implements a doubly linked list. Various operations such as 10 | appending, sorting, and finding elements are supported. The list elements are 11 | dynamically allocated by the BigList module and store an opaque pointer given 12 | by the user. 13 | 14 | Many functions in this module return a pointer to the head of the new list, 15 | however the returned list is constructed from elements of the passed in lists 16 | and is not newly allocated. 17 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | BigList_AUTO_DEFS=module/auto/BigList.yml 21 | BigList_AUTO_DIRS=module/inc/BigList module/src 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | BigList_INCLUDES := -I $(THISDIR)inc 22 | BigList_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_free.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | int 23 | biglist_free(biglist_t* bl) 24 | { 25 | return biglist_free_all(bl, NULL); 26 | } 27 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #ifndef __BIGLIST_INT_H__ 21 | #define __BIGLIST_INT_H__ 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | 28 | #endif /* __BIGLIST_INT_H__ */ 29 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_last.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | biglist_t* 23 | biglist_last(biglist_t* bl) 24 | { 25 | if(bl) { 26 | while(bl->next) { 27 | bl = bl->next; 28 | } 29 | } 30 | return bl; 31 | } 32 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_length.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | int 23 | biglist_length(biglist_t* bl) 24 | { 25 | int i = 0; 26 | biglist_t* ble; 27 | 28 | for(ble = bl; ble; ble = ble->next, i++); 29 | return i; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #ifndef __BIGLIST_LOG_H__ 21 | #define __BIGLIST_LOG_H__ 22 | 23 | 24 | #include 25 | 26 | #define AIM_LOG_MODULE_NAME biglist 27 | #include 28 | #endif /* __BIGLIST_LOG_H__ */ 29 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_next.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | biglist_t* 23 | biglist_next(biglist_t* ble) 24 | { 25 | if(ble != NULL) { 26 | return ble->next; 27 | } 28 | else { 29 | return NULL; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_prepend_list.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | biglist_t* 23 | biglist_prepend_list(biglist_t* bl, biglist_t* front) 24 | { 25 | return biglist_append_list(front, bl); 26 | } 27 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_remove_link_free.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | biglist_t* 23 | biglist_remove_link_free(biglist_t* bl, biglist_t* blink) 24 | { 25 | bl = biglist_remove_link(bl, blink); 26 | biglist_free(blink); 27 | return bl; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/biglist_unlock.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ****************************************************************/ 19 | 20 | #include "biglist_int.h" 21 | 22 | int 23 | biglist_unlock(biglist_locked_t* bl) 24 | { 25 | (void)bl; 26 | #if BIGLIST_CONFIG_INCLUDE_LOCKED == 1 27 | sem_post(&bl->lock); 28 | #endif 29 | return 0; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /modules/BigData/BigList/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | LIBRARY := BigList 21 | BigList_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigList/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | UMODULE := BigList 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/.gitignore: -------------------------------------------------------------------------------- 1 | /BigRing.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/.module: -------------------------------------------------------------------------------- 1 | name: BigRing 2 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | include ../../../init.mk 21 | 22 | MODULE := BigRing 23 | AUTOMODULE := BigRing 24 | 25 | include $(BUILDER)/definemodule.mk 26 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/README: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # BigRing README 4 | # 5 | ################################################################# 6 | 7 | Ring buffer implementation. Note that the iterator assumes that 8 | some kind of locking is used and that the lock is held until the 9 | iteration completes. The locking may be internal, by defining 10 | BIGRING_CONFIG_INCLUDE_LOCKING at compile time and then calling 11 | the lock interface; or by single threading context; or by some 12 | other external mechanism. 13 | 14 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | BigRing_AUTO_DEFS := module/auto/BigRing.yml 21 | BigRing_AUTO_DIRS := module/inc/BigRing module/src 22 | include $(BUILDER)/auto.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | BigRing_INCLUDES := -I $(THIS_DIR)inc 22 | BigRing_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := BigRing 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/BigRing/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := BigRing 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/nwac/.gitignore: -------------------------------------------------------------------------------- 1 | /nwac.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/BigData/nwac/.module: -------------------------------------------------------------------------------- 1 | name: nwac 2 | -------------------------------------------------------------------------------- /modules/BigData/nwac/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../init.mk 20 | 21 | MODULE := nwac 22 | AUTOMODULE := nwac 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/BigData/nwac/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # nwac README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | nwac_AUTO_DEFS := module/auto/nwac.yml 21 | nwac_AUTO_DIRS := module/inc/nwac module/src 22 | include $(BUILDER)/auto.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/inc/nwac/nwac.x: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.xmacro(ALL).define> */ 23 | /* */ 24 | 25 | /* <--auto.start.xenum(ALL).define> */ 26 | /* */ 27 | 28 | 29 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | nwac_INCLUDES := -I $(THIS_DIR)inc 22 | nwac_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | nwac_DEPENDMODULE_ENTRIES := init:nwac 24 | 25 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := nwac 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/src/nwac_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.enum(ALL).source> */ 23 | /* */ 24 | 25 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/src/nwac_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __NWAC_INT_H__ 21 | #define __NWAC_INT_H__ 22 | 23 | #include 24 | 25 | 26 | #endif /* __NWAC_INT_H__ */ 27 | -------------------------------------------------------------------------------- /modules/BigData/nwac/module/src/nwac_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __NWAC_LOG_H__ 21 | #define __NWAC_LOG_H__ 22 | 23 | #define AIM_LOG_MODULE_NAME nwac 24 | #include 25 | 26 | #endif /* __NWAC_LOG_H__ */ 27 | -------------------------------------------------------------------------------- /modules/BigData/nwac/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := nwac 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | -------------------------------------------------------------------------------- /modules/ELS/.gitignore: -------------------------------------------------------------------------------- 1 | /ELS.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/ELS/.module: -------------------------------------------------------------------------------- 1 | name: ELS 2 | -------------------------------------------------------------------------------- /modules/ELS/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # ELS Makefile 23 | ############################################################ 24 | include ../../init.mk 25 | 26 | MODULE := ELS 27 | AUTOMODULE := ELS 28 | 29 | include $(BUILDER)/definemodule.mk 30 | -------------------------------------------------------------------------------- /modules/ELS/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # ELS 4 | # 5 | # EditLine Server 6 | # 7 | ############################################################################### 8 | 9 | The ELS module provides a simple server abstraction running over the 10 | BSD EditLine library. 11 | 12 | The ELS server can be instantiated and run independently to gather user 13 | input which may then be retrieved and processed in a different thread 14 | context, particularly for single-threaded evironments. 15 | 16 | The ELS server is currently used to run all console-based CLI interfaces. 17 | -------------------------------------------------------------------------------- /modules/ELS/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # ELS Autogen Makefile 23 | # 24 | ############################################################ 25 | ELS_AUTO_DEFS=module/auto/ELS.yml 26 | ELS_AUTO_DIRS=module/inc/ELS module/src 27 | -include $(BUILDER)/auto.mk 28 | -------------------------------------------------------------------------------- /modules/ELS/module/inc/ELS/els_dox.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @defgroup ELS ELS - Editline Server 3 | * 4 | 5 | The ELS module provides a simple server abstraction running over the 6 | BSD EditLine library. 7 | 8 | The ELS server can be instantiated and run independently to gather user 9 | input which may then be retrieved and processed in a different thread 10 | context, particularly for single-threaded evironments. 11 | 12 | The ELS server is currently used to run all console-based CLI interfaces. 13 | 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup els-els EditLine Server Public Interface 19 | * @defgroup els-config Compile-Time Configuration 20 | * @defgroup els-porting Porting Macros 21 | * @defgroup els-utils Generic Macros and Utilities 22 | * 23 | * 24 | * @} 25 | * 26 | */ 27 | -------------------------------------------------------------------------------- /modules/ELS/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | ucli: 27 | $(BIGCODE)/Tools/uclihandlers.py els_ucli.c 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /modules/ELS/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # ELS Builder Information 23 | # 24 | ############################################################ 25 | 26 | LIBRARY := ELS 27 | ELS_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 28 | include $(BUILDER)/lib.mk 29 | 30 | -------------------------------------------------------------------------------- /modules/ELS/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # ELS Unit Testing Definitions 23 | # 24 | ############################################################ 25 | UMODULE := ELS 26 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 27 | include $(BUILDER)/utest.mk 28 | 29 | -------------------------------------------------------------------------------- /modules/FME/.gitignore: -------------------------------------------------------------------------------- 1 | /FME.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/FME/.module: -------------------------------------------------------------------------------- 1 | name: FME 2 | -------------------------------------------------------------------------------- /modules/FME/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../init.mk 20 | 21 | MODULE := FME 22 | AUTOMODULE := FME 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/FME/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # FME 4 | # 5 | # Forwarding Matching Engine 6 | # 7 | ############################################################################### 8 | 9 | The FME is a software TCAM providing the core packet lookup 10 | functionality. FME abstracts keys as value/mask pairs and returns 11 | arbitrary data from a lookup. 12 | -------------------------------------------------------------------------------- /modules/FME/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | FME_AUTO_DEFS=module/auto/FME.yml 21 | FME_AUTO_DIRS=module/inc/FME module/src 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/FME/module/inc/FME/fme.x: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | #include 20 | 21 | /* <--auto.start.xmacro(ALL).define> */ 22 | /* */ 23 | -------------------------------------------------------------------------------- /modules/FME/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | FME_INCLUDES := -I $(THISDIR)inc 22 | FME_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | FME_DEPENDMODULE_ENTRIES += init:fme ucli:fme 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /modules/FME/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | @../../../../tools/uclihandlers.py fme_utm.c 21 | @../../../../tools/uclihandlers.py fme_ucli.c 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /modules/FME/module/src/fme_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include 22 | #include "fme_int.h" 23 | 24 | /* <--auto.start.enum(ALL).source> */ 25 | /* */ 26 | -------------------------------------------------------------------------------- /modules/FME/module/src/fme_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __FME_INT_H__ 21 | #define __FME_INT_H__ 22 | 23 | #include 24 | #include 25 | 26 | #endif /* __FME_INT_H__ */ 27 | -------------------------------------------------------------------------------- /modules/FME/module/src/fme_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include "fme_log.h" 22 | 23 | int 24 | __fme_module_init__(void) 25 | { 26 | AIM_LOG_STRUCT_REGISTER(); 27 | return 0; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /modules/FME/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := FME 21 | FME_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/FME/utest/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucliblocks: 20 | python ../../../tools/ucliblocks.py fme_utests.yml fme_utests > fme_utests.c 21 | 22 | -------------------------------------------------------------------------------- /modules/FME/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := FME 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/IOF/.gitignore: -------------------------------------------------------------------------------- 1 | /IOF.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/IOF/.module: -------------------------------------------------------------------------------- 1 | name: IOF 2 | -------------------------------------------------------------------------------- /modules/IOF/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | include ../../init.mk 21 | 22 | MODULE := IOF 23 | AUTOMODULE := IOF 24 | 25 | include $(BUILDER)/definemodule.mk 26 | -------------------------------------------------------------------------------- /modules/IOF/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # IOF 4 | # 5 | # Indented Output Formatter 6 | # 7 | ############################################################################### 8 | 9 | The IOF module provides an interface for nested, indented and tree-like output 10 | formatting. This interface is used mostly for object and debugging data dumps 11 | of a hierarchy of data structures. 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /modules/IOF/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | IOF_AUTO_DEFS=module/auto/IOF.yml 21 | IOF_AUTO_DIRS=module/inc/IOF module/src 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/IOF/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | IOF_INCLUDES := -I $(THISDIR)inc 22 | IOF_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | 24 | -------------------------------------------------------------------------------- /modules/IOF/module/src/iof_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __IOF_LOG_H__ 21 | #define __IOF_LOG_H__ 22 | 23 | #include 24 | #define AIM_LOG_MODULE_NAME iof 25 | #include 26 | 27 | #endif /* __IOF_LOG_H__ */ 28 | -------------------------------------------------------------------------------- /modules/IOF/module/src/iof_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include "iof_log.h" 22 | 23 | int 24 | __iof_module_init__(void) 25 | { 26 | AIM_LOG_STRUCT_REGISTER(); 27 | return 0; 28 | } 29 | 30 | 31 | -------------------------------------------------------------------------------- /modules/IOF/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := IOF 21 | IOF_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/IOF/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := IOF 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/OS/.gitignore: -------------------------------------------------------------------------------- 1 | /OS.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/OS/.module: -------------------------------------------------------------------------------- 1 | name: OS 2 | -------------------------------------------------------------------------------- /modules/OS/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../init.mk 20 | 21 | MODULE := OS 22 | AUTOMODULE := OS 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/OS/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # README 4 | # 5 | ############################################################################### 6 | -------------------------------------------------------------------------------- /modules/OS/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | OS_AUTO_DEFS=module/auto/OS.yml 21 | OS_AUTO_DIRS=module/inc/OS module/src 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/OS/module/inc/OS/os.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __OS_H__ 21 | #define __OS_H__ 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #endif /* __OS_H__ */ 30 | -------------------------------------------------------------------------------- /modules/OS/module/inc/OS/os.x: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.xmacro(ALL).define> */ 23 | /* */ 24 | -------------------------------------------------------------------------------- /modules/OS/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | OS_INCLUDES := -I $(THISDIR)inc 22 | OS_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | OS_DEPENDMODULE_ENTRIES := ucli:os init:os 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /modules/OS/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | @../../../../tools/uclihandlers.py os_ucli.c 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __OS_INT_H__ 21 | #define __OS_INT_H__ 22 | 23 | 24 | #include 25 | 26 | 27 | 28 | #include 29 | #endif /* __OS_INT_H__ */ 30 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __OS_LOG_H__ 21 | #define __OS_LOG_H__ 22 | 23 | #include 24 | 25 | #define AIM_LOG_MODULE_NAME os 26 | #include 27 | 28 | 29 | 30 | #endif /* __OS_LOG_H__ */ 31 | 32 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include "os_log.h" 22 | 23 | void 24 | __os_module_init__(void) 25 | { 26 | AIM_LOG_STRUCT_REGISTER(); 27 | } 28 | 29 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_sem_osx.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include 22 | 23 | #if OS_CONFIG_INCLUDE_OSX == 1 24 | #undef OS_CONFIG_INCLUDE_POSIX 25 | #define OS_CONFIG_INCLUDE_POSIX 1 26 | #include "os_sem_posix.c" 27 | #else 28 | int not_empty; 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_sleep_none.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include 22 | 23 | #if OS_CONFIG_INCLUDE_NONE == 1 24 | 25 | int 26 | os_sleep_usecs(uint64_t usecs) 27 | { 28 | return -1; 29 | } 30 | 31 | 32 | #else 33 | int __not_empty__; 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_sleep_osx.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include 22 | 23 | #if OS_CONFIG_INCLUDE_OSX == 1 24 | #undef OS_CONFIG_INCLUDE_POSIX 25 | #define OS_CONFIG_INCLUDE_POSIX 1 26 | #include "os_sleep_posix.c" 27 | #else 28 | int not_empty; 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /modules/OS/module/src/os_sleep_windows.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | #include 22 | 23 | #if OS_CONFIG_INCLUDE_WINDOWS == 1 24 | 25 | int 26 | os_sleep_usecs(uint64_t usecs) 27 | { 28 | return -1; 29 | } 30 | 31 | 32 | #else 33 | int __not_empty__; 34 | #endif 35 | 36 | -------------------------------------------------------------------------------- /modules/OS/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := OS 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/PPE/.gitignore: -------------------------------------------------------------------------------- 1 | /PPE.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/PPE/.module: -------------------------------------------------------------------------------- 1 | name: PPE 2 | -------------------------------------------------------------------------------- /modules/PPE/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../init.mk 20 | 21 | MODULE := PPE 22 | AUTOMODULE := PPE 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/PPE/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # PPE 4 | # 5 | # Packet Parsing Engine 6 | # 7 | ############################################################################### 8 | 9 | PPE is a module that facilitates the identification and extraction 10 | of fields from within a packet. See module/inc/PPE/ppe_types.h for 11 | examples of how this parse related information is represented. 12 | 13 | -------------------------------------------------------------------------------- /modules/PPE/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | PPE_AUTO_DEFS := module/auto/PPE.yml 21 | PPE_AUTO_DIRS := module/inc/PPE module/src 22 | PPE_AUTO_POST := module/auto/autopost.py 23 | -include $(BUILDER)/auto.mk 24 | -------------------------------------------------------------------------------- /modules/PPE/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | PPE_INCLUDES := -I $(THISDIR)inc 22 | PPE_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | PPE_DEPENDMODULE_ENTRIES := init:ppe ucli:ppe 24 | 25 | 26 | -------------------------------------------------------------------------------- /modules/PPE/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | @../../../../tools/uclihandlers.py ppe_utm.c 21 | @../../../../tools/uclihandlers.py ppe_ucli.c 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /modules/PPE/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := PPE 21 | PPE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/PPE/module/src/ppe_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __PPE_INT_H__ 21 | #define __PPE_INT_H__ 22 | 23 | 24 | #include 25 | 26 | 27 | 28 | #include 29 | #endif /* __PPE_INT_H__ */ 30 | -------------------------------------------------------------------------------- /modules/PPE/module/src/ppe_test_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | #if PPE_CONFIG_INCLUDE_UCLI == 1 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | #endif /* PPE_CONFIG_INCLUDE_UCLI */ 35 | -------------------------------------------------------------------------------- /modules/PPE/utest/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucliblocks: 20 | python ../../../tools/ucliblocks.py ppe_utests.yml ppe_utests > ppe_utests.c 21 | 22 | -------------------------------------------------------------------------------- /modules/PPE/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := PPE 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/VPI/.gitignore: -------------------------------------------------------------------------------- 1 | /VPI.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/VPI/.module: -------------------------------------------------------------------------------- 1 | name: VPI 2 | -------------------------------------------------------------------------------- /modules/VPI/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | include ../../init.mk 21 | 22 | MODULE := VPI 23 | AUTOMODULE := VPI 24 | 25 | include $(BUILDER)/definemodule.mk 26 | -------------------------------------------------------------------------------- /modules/VPI/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # VPI 4 | # 5 | # Virtual Port Interface 6 | # 7 | ############################################################################### 8 | 9 | The Virtual Port Interface module provides a simple packet send and 10 | receive interface designed to simulate dynamic packet interconnections between 11 | different entities in a network. 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/VPI/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | VPI_AUTO_DEFS=module/auto/VPI.yml 20 | VPI_AUTO_DIRS=module/inc/VPI module/src 21 | 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/VPI/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | VPI_INCLUDES := -I $(THISDIR)inc 22 | VPI_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | VPI_DEPENDMODULE_ENTRIES := init:vpi ucli:vpi 24 | 25 | 26 | -------------------------------------------------------------------------------- /modules/VPI/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | @../../../../tools/uclihandlers.py vpi_ucli.c 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /modules/VPI/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := VPI 21 | VPI_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/VPI/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := VPI 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/bloom_filter/.gitignore: -------------------------------------------------------------------------------- 1 | /bloom_filter.mk 2 | -------------------------------------------------------------------------------- /modules/bloom_filter/.module: -------------------------------------------------------------------------------- 1 | name: bloom_filter 2 | -------------------------------------------------------------------------------- /modules/bloom_filter/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../init.mk 7 | MODULE := bloom_filter 8 | AUTOMODULE := bloom_filter 9 | include $(BUILDER)/definemodule.mk 10 | -------------------------------------------------------------------------------- /modules/bloom_filter/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | bloom_filter_INCLUDES := -I $(THIS_DIR)inc 8 | bloom_filter_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | -------------------------------------------------------------------------------- /modules/bloom_filter/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py bloom_filter_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/bloom_filter/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := bloom_filter 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/bloom_filter/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # bloom_filter Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := bloom_filter 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/cjson/.gitignore: -------------------------------------------------------------------------------- 1 | /cjson.mk 2 | -------------------------------------------------------------------------------- /modules/cjson/.module: -------------------------------------------------------------------------------- 1 | name: cjson 2 | -------------------------------------------------------------------------------- /modules/cjson/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | include ../../init.mk 20 | 21 | MODULE := cjson 22 | include $(BUILDER)/definemodule.mk 23 | -------------------------------------------------------------------------------- /modules/cjson/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | cjson_INCLUDES := -I $(THIS_DIR)inc 22 | cjson_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | -------------------------------------------------------------------------------- /modules/cjson/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | LIBRARY := cjson 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/cjson_util/.gitignore: -------------------------------------------------------------------------------- 1 | /cjson_util.mk 2 | -------------------------------------------------------------------------------- /modules/cjson_util/.module: -------------------------------------------------------------------------------- 1 | name: cjson_util 2 | depends: [ cjson, IOF ] 3 | -------------------------------------------------------------------------------- /modules/cjson_util/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | include ../../init.mk 27 | MODULE := cjson_util 28 | AUTOMODULE := cjson_util 29 | include $(BUILDER)/definemodule.mk 30 | -------------------------------------------------------------------------------- /modules/cjson_util/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # cjson_util README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/cjson_util/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | 22 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 23 | cjson_util_INCLUDES := -I $(THIS_DIR)inc 24 | cjson_util_INTERNAL_INCLUDES := -I $(THIS_DIR)src 25 | cjson_util_DEPENDMODULE_ENTRIES := init:cjson_util 26 | 27 | -------------------------------------------------------------------------------- /modules/cjson_util/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # Local source generation targets. 23 | # 24 | ############################################################ 25 | 26 | ucli: 27 | @../../../../tools/uclihandlers.py cjson_util_ucli.c 28 | 29 | -------------------------------------------------------------------------------- /modules/cjson_util/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | 27 | LIBRARY := cjson_util 28 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 29 | include $(BUILDER)/lib.mk 30 | -------------------------------------------------------------------------------- /modules/debug_counter/.gitignore: -------------------------------------------------------------------------------- 1 | /debug_counter.mk 2 | -------------------------------------------------------------------------------- /modules/debug_counter/.module: -------------------------------------------------------------------------------- 1 | name: debug_counter 2 | -------------------------------------------------------------------------------- /modules/debug_counter/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../init.mk 7 | MODULE := debug_counter 8 | AUTOMODULE := debug_counter 9 | include $(BUILDER)/definemodule.mk 10 | -------------------------------------------------------------------------------- /modules/debug_counter/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # debug_counter README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/debug_counter/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # debug_counter Autogeneration 4 | # 5 | ############################################################################### 6 | debug_counter_AUTO_DEFS := module/auto/debug_counter.yml 7 | debug_counter_AUTO_DIRS := module/inc/debug_counter module/src 8 | include $(BUILDER)/auto.mk 9 | 10 | -------------------------------------------------------------------------------- /modules/debug_counter/module/inc/debug_counter/debug_counter.x: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.xmacro(ALL).define> */ 9 | /* */ 10 | 11 | /* <--auto.start.xenum(ALL).define> */ 12 | /* */ 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/debug_counter/module/inc/debug_counter/debug_counter_dox.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * debug_counter Doxygen Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __DEBUG_COUNTER_DOX_H__ 7 | #define __DEBUG_COUNTER_DOX_H__ 8 | 9 | /** 10 | * @defgroup debug_counter debug_counter - debug_counter Description 11 | * 12 | 13 | The documentation overview for this module should go here. 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup debug_counter-debug_counter Public Interface 19 | * @defgroup debug_counter-config Compile Time Configuration 20 | * @defgroup debug_counter-porting Porting Macros 21 | * 22 | * @} 23 | * 24 | */ 25 | 26 | #endif /* __DEBUG_COUNTER_DOX_H__ */ 27 | -------------------------------------------------------------------------------- /modules/debug_counter/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | debug_counter_INCLUDES := -I $(THIS_DIR)inc 8 | debug_counter_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | debug_counter_DEPENDMODULE_ENTRIES := init:debug_counter ucli:debug_counter 10 | 11 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py debug_counter_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/debug_counter_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.enum(ALL).source> */ 9 | /* */ 10 | 11 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/debug_counter_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * debug_counter Internal Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __DEBUG_COUNTER_INT_H__ 7 | #define __DEBUG_COUNTER_INT_H__ 8 | 9 | #include 10 | 11 | void debug_counter_module_init(void); 12 | 13 | #endif /* __DEBUG_COUNTER_INT_H__ */ 14 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/debug_counter_log.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "debug_counter_log.h" 9 | /* 10 | * debug_counter log struct. 11 | */ 12 | AIM_LOG_STRUCT_DEFINE( 13 | DEBUG_COUNTER_CONFIG_LOG_OPTIONS_DEFAULT, 14 | DEBUG_COUNTER_CONFIG_LOG_BITS_DEFAULT, 15 | NULL, /* Custom log map */ 16 | DEBUG_COUNTER_CONFIG_LOG_CUSTOM_BITS_DEFAULT 17 | ); 18 | 19 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/debug_counter_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #ifndef __DEBUG_COUNTER_LOG_H__ 7 | #define __DEBUG_COUNTER_LOG_H__ 8 | 9 | #define AIM_LOG_MODULE_NAME debug_counter 10 | #include 11 | 12 | #endif /* __DEBUG_COUNTER_LOG_H__ */ 13 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/debug_counter_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "debug_counter_int.h" 9 | #include "debug_counter_log.h" 10 | 11 | static int 12 | datatypes_init__(void) 13 | { 14 | #define DEBUG_COUNTER_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); 15 | #include 16 | return 0; 17 | } 18 | 19 | void __debug_counter_module_init__(void) 20 | { 21 | AIM_LOG_STRUCT_REGISTER(); 22 | datatypes_init__(); 23 | debug_counter_module_init(); 24 | } 25 | 26 | -------------------------------------------------------------------------------- /modules/debug_counter/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := debug_counter 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/debug_counter/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # debug_counter Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := debug_counter 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/histogram/.gitignore: -------------------------------------------------------------------------------- 1 | /histogram.mk 2 | -------------------------------------------------------------------------------- /modules/histogram/.module: -------------------------------------------------------------------------------- 1 | name: histogram 2 | -------------------------------------------------------------------------------- /modules/histogram/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2016, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | histogram_INCLUDES := -I $(THIS_DIR)inc 22 | histogram_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | histogram_DEPENDMODULE_ENTRIES := init:histogram 24 | -------------------------------------------------------------------------------- /modules/histogram/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2016, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := histogram 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/histogram/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2016, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := histogram 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | -------------------------------------------------------------------------------- /modules/murmur/.gitignore: -------------------------------------------------------------------------------- 1 | /murmur.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/murmur/.module: -------------------------------------------------------------------------------- 1 | name: murmur 2 | -------------------------------------------------------------------------------- /modules/murmur/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | include ../../init.mk 20 | 21 | MODULE := murmur 22 | AUTOMODULE := murmur 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/murmur/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # /README 4 | # 5 | # murmur README 6 | # 7 | ############################################################################### 8 | -------------------------------------------------------------------------------- /modules/murmur/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | murmur_AUTO_DEFS=module/auto/murmur.yml 21 | murmur_AUTO_DIRS=module/inc/murmur module/src 22 | -include $(BUILDER)/auto.mk 23 | -------------------------------------------------------------------------------- /modules/murmur/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | murmur_INCLUDES := -I $(THISDIR)inc 22 | murmur_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | 24 | 25 | -------------------------------------------------------------------------------- /modules/murmur/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # murmur Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := murmur 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/orc/.gitignore: -------------------------------------------------------------------------------- 1 | /orc.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/orc/.module: -------------------------------------------------------------------------------- 1 | name: orc 2 | -------------------------------------------------------------------------------- /modules/orc/AUTHORS: -------------------------------------------------------------------------------- 1 | Like all good open source projects, authorship is determined by: 2 | 3 | `git log | grep Author | sort | uniq -c | sort -n` 4 | 5 | 17 Author: Rob Sherwood 6 | 7 | -------------------------------------------------------------------------------- /modules/orc/INSTALL: -------------------------------------------------------------------------------- 1 | 2 | On any modern Linux platform: 3 | 4 | % make 5 | % make test # verify there are no failed assert()'s 6 | % sudo make install 7 | 8 | -------------------------------------------------------------------------------- /modules/orc/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | include ../../init.mk 27 | MODULE := orc 28 | AUTOMODULE := orc 29 | include $(BUILDER)/definemodule.mk 30 | -------------------------------------------------------------------------------- /modules/orc/NOTES: -------------------------------------------------------------------------------- 1 | What VLAN do we give interfaces so that they can route? 2 | * Try for all in vlan 1; cross fingers 3 | 4 | What is order of ops for driver calls: 5 | * $intf_id = create_interface($if_index, $hw_mac, $mtu) 6 | * $next_hop_id = create_next_hop($nh_hw_mac, $intf_id) 7 | * create_route($ip, $mask, $next_hop_id) 8 | * need a special $next_hop_id of "to Linux Kernel" 9 | -------------------------------------------------------------------------------- /modules/orc/OPERATIONS: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | VLAN Notes -- Coming Soon 5 | * Untagged traffic goes to basic inteface, e.g., "eth0" 6 | * Can create a virtual interface for tagged traffic, e.g., "eth0.5" 7 | This sends all tagged traffic to eth0.5 and it is received off of that port as untagged traffic. 8 | * ip link add link eth0 eth0.5 type vlan id 5 9 | -------------------------------------------------------------------------------- /modules/orc/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # orc README 4 | # 5 | ############################################################################### 6 | 7 | Open Route Cache -- listens to rtnetlink info and writes it to a chip-specific 8 | driver. See glued as an example with BRCM hardware. 9 | -------------------------------------------------------------------------------- /modules/orc/TODO: -------------------------------------------------------------------------------- 1 | * Fix endian issues: Parsed IPv4 neighbor L3 addr: 110.74.192.10 2 | 3 | * Implement daemon/double fork 4 | 5 | * Test packet I/O 6 | 7 | * Get debug symbols in orc_brcm 8 | 9 | 10 | Pre-add/parse ARP tables with RTM_GETNEIGHTBL in /usr/include/linux/neighbor.h 11 | 12 | Figure out why MAC addresses on virtual interfaces are random (garbage?) 13 | 14 | Support ports with ADMIN UP/DOWN capabilities 15 | * Track the UP/DOWN state of the virtual interface and push to the driver 16 | * Need to update the driver API 17 | 18 | Add IPv6 support: 19 | * Mostly in the netlink_mon.c code, but also in the glue_driver interface 20 | * Look for "/* TODO : support IPv6 */" 21 | 22 | Add VLANs support 23 | * Watch for new interfaces/links, check their VLANs and add then to the ASIC 24 | * Consider a default VLAN for all ports, e.g., vlan 1 25 | 26 | 27 | -------------------------------------------------------------------------------- /modules/orc/module/inc/orc/orc_ucli.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * @file 4 | * @brief ORC uCli Definitions. 5 | * 6 | * 7 | * @addtogroup orc-ucli 8 | * @{ 9 | * 10 | * 11 | *****************************************************************************/ 12 | #ifndef __ORC_UCLI_H__ 13 | #define __ORC_UCLI_H__ 14 | 15 | #include 16 | #include 17 | 18 | /** 19 | * @brief Get the configuration ucli node. 20 | */ 21 | ucli_node_t* orc_ucli_node_create(); 22 | 23 | #endif /* __ORC_UCLI_H__ */ 24 | /*@}*/ 25 | -------------------------------------------------------------------------------- /modules/orc/module/src/drivers/debug/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | LIBRARY := debug_drv 27 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 28 | include $(BUILDER)/lib.mk 29 | -------------------------------------------------------------------------------- /modules/orc/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # 23 | # 24 | ############################################################ 25 | 26 | LIBRARY := orc 27 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 28 | include $(BUILDER)/lib.mk 29 | -------------------------------------------------------------------------------- /modules/orc/orc.upstart: -------------------------------------------------------------------------------- 1 | # cron - regular background program processing daemon 2 | # 3 | # cron is a standard UNIX program that runs user-specified programs at 4 | # periodic scheduled times 5 | 6 | description "Open Route Cache: sync state between software (kernel) and hardware (ASIC) routing tables" 7 | 8 | start on runlevel [2345] 9 | stop on runlevel [!2345] 10 | 11 | expect fork 12 | respawn 13 | 14 | exec orc --daemon 15 | -------------------------------------------------------------------------------- /modules/orc/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | # Copyright 2013, 2014 Big Switch Networks, Inc. 5 | # 6 | # Licensed under the Eclipse Public License, Version 1.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.eclipse.org/legal/epl-v10.html 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 15 | # either express or implied. See the License for the specific 16 | # language governing permissions and limitations under the 17 | # License. 18 | # 19 | # 20 | ############################################################ 21 | # 22 | # orc Unit Test Makefile. 23 | # 24 | ############################################################ 25 | 26 | UMODULE := orc 27 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 28 | include $(BUILDER)/utest.mk 29 | -------------------------------------------------------------------------------- /modules/pimu/.gitignore: -------------------------------------------------------------------------------- 1 | /pimu.mk 2 | -------------------------------------------------------------------------------- /modules/pimu/.module: -------------------------------------------------------------------------------- 1 | name: pimu 2 | -------------------------------------------------------------------------------- /modules/pimu/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../init.mk 20 | 21 | MODULE := pimu 22 | AUTOMODULE := pimu 23 | 24 | include $(BUILDER)/definemodule.mk 25 | -------------------------------------------------------------------------------- /modules/pimu/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # pimu README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/pimu/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | pimu_AUTO_DEFS := module/auto/pimu.yml 21 | pimu_AUTO_DIRS := module/inc/pimu module/src 22 | include $(BUILDER)/auto.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/pimu/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | pimu_INCLUDES := -I $(THIS_DIR)inc 22 | pimu_INTERNAL_INCLUDES := -I $(THIS_DIR)src 23 | pimu_DEPENDMODULE_ENTRIES := init:pimu ucli:pimu 24 | 25 | -------------------------------------------------------------------------------- /modules/pimu/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | -------------------------------------------------------------------------------- /modules/pimu/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := pimu 21 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | -------------------------------------------------------------------------------- /modules/pimu/module/src/pimu_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __PIMU_INT_H__ 21 | #define __PIMU_INT_H__ 22 | 23 | #include 24 | 25 | 26 | #endif /* __PIMU_INT_H__ */ 27 | -------------------------------------------------------------------------------- /modules/pimu/module/src/pimu_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #ifndef __PIMU_LOG_H__ 21 | #define __PIMU_LOG_H__ 22 | 23 | #define AIM_LOG_MODULE_NAME pimu 24 | #include 25 | 26 | #endif /* __PIMU_LOG_H__ */ 27 | -------------------------------------------------------------------------------- /modules/pimu/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := pimu 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | -------------------------------------------------------------------------------- /modules/sff/.gitignore: -------------------------------------------------------------------------------- 1 | *.mk 2 | -------------------------------------------------------------------------------- /modules/sff/.module: -------------------------------------------------------------------------------- 1 | name: sff 2 | -------------------------------------------------------------------------------- /modules/sff/Makefile: -------------------------------------------------------------------------------- 1 | include ../../init.mk 2 | MODULE := sff 3 | AUTOMODULE := sff 4 | include $(BUILDER)/definemodule.mk 5 | -------------------------------------------------------------------------------- /modules/sff/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # sff README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/sff/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # sff Autogeneration 4 | # 5 | ############################################################################### 6 | sff_AUTO_DEFS := module/auto/sff.yml 7 | sff_AUTO_DIRS := module/inc/sff module/src module/python/sff 8 | include $(BUILDER)/auto.mk 9 | -------------------------------------------------------------------------------- /modules/sff/module/inc/sff/sff_dox.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * sff Doxygen Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SFF_DOX_H__ 7 | #define __SFF_DOX_H__ 8 | 9 | /** 10 | * @defgroup sff sff - sff Description 11 | * 12 | 13 | The documentation overview for this module should go here. 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup sff-sff Public Interface 19 | * @defgroup sff-config Compile Time Configuration 20 | * @defgroup sff-porting Porting Macros 21 | * 22 | * @} 23 | * 24 | */ 25 | 26 | #endif /* __SFF_DOX_H__ */ 27 | -------------------------------------------------------------------------------- /modules/sff/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | sff_INCLUDES := -I $(THIS_DIR)inc 8 | sff_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | sff_DEPENDMODULE_ENTRIES := init:sff 10 | 11 | -------------------------------------------------------------------------------- /modules/sff/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py sff_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/sff/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := sff 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/sff/module/src/sff_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * sff Internal Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SFF_INT_H__ 7 | #define __SFF_INT_H__ 8 | 9 | #include 10 | 11 | int sff_nonstandard_lookup(sff_info_t* info); 12 | 13 | #endif /* __SFF_INT_H__ */ 14 | -------------------------------------------------------------------------------- /modules/sff/module/src/sff_log.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "sff_log.h" 9 | /* 10 | * sff log struct. 11 | */ 12 | AIM_LOG_STRUCT_DEFINE( 13 | SFF_CONFIG_LOG_OPTIONS_DEFAULT, 14 | SFF_CONFIG_LOG_BITS_DEFAULT, 15 | NULL, /* Custom log map */ 16 | SFF_CONFIG_LOG_CUSTOM_BITS_DEFAULT 17 | ); 18 | 19 | -------------------------------------------------------------------------------- /modules/sff/module/src/sff_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SFF_LOG_H__ 7 | #define __SFF_LOG_H__ 8 | 9 | #define AIM_LOG_MODULE_NAME sff 10 | #include 11 | 12 | #endif /* __SFF_LOG_H__ */ 13 | -------------------------------------------------------------------------------- /modules/sff/module/src/sff_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "sff_log.h" 9 | 10 | static int 11 | datatypes_init__(void) 12 | { 13 | #define SFF_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); 14 | #include 15 | return 0; 16 | } 17 | 18 | void __sff_module_init__(void) 19 | { 20 | AIM_LOG_STRUCT_REGISTER(); 21 | datatypes_init__(); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /modules/sff/utest/.gitignore: -------------------------------------------------------------------------------- 1 | *_utest.mk 2 | build 3 | dependmodules.x 4 | -------------------------------------------------------------------------------- /modules/sff/utest/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../../init.mk 7 | MODULE := sff_utest 8 | TEST_MODULE := sff 9 | DEPENDMODULES := AIM BigList cjson_util cjson IOF 10 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 12 | GLOBAL_CFLAGS += -DSFF_CONFIG_INCLUDE_EXT_CC_CHECK=1 13 | GLOBAL_CFLAGS += -DSFF_CONFIG_INCLUDE_DATABASE=1 14 | GLOBAL_LINK_LIBS += -lrt -lpthread -lm 15 | include $(BUILDER)/build-unit-test.mk 16 | -------------------------------------------------------------------------------- /modules/sff/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # sff Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := sff 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/slot_allocator/.gitignore: -------------------------------------------------------------------------------- 1 | /slot_allocator.mk 2 | -------------------------------------------------------------------------------- /modules/slot_allocator/.module: -------------------------------------------------------------------------------- 1 | name: slot_allocator 2 | -------------------------------------------------------------------------------- /modules/slot_allocator/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../init.mk 7 | MODULE := slot_allocator 8 | AUTOMODULE := slot_allocator 9 | include $(BUILDER)/definemodule.mk 10 | -------------------------------------------------------------------------------- /modules/slot_allocator/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # slot_allocator README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # slot_allocator Autogeneration 4 | # 5 | ############################################################################### 6 | slot_allocator_AUTO_DEFS := module/auto/slot_allocator.yml 7 | slot_allocator_AUTO_DIRS := module/inc/slot_allocator module/src 8 | include $(BUILDER)/auto.mk 9 | 10 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/inc/slot_allocator/slot_allocator.x: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.xmacro(ALL).define> */ 9 | /* */ 10 | 11 | /* <--auto.start.xenum(ALL).define> */ 12 | /* */ 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/inc/slot_allocator/slot_allocator_dox.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * slot_allocator Doxygen Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __INDEX_ALLOCATOR_DOX_H__ 7 | #define __INDEX_ALLOCATOR_DOX_H__ 8 | 9 | /** 10 | * @defgroup slot_allocator slot_allocator - slot_allocator Description 11 | * 12 | 13 | The documentation overview for this module should go here. 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup slot_allocator-slot_allocator Public Interface 19 | * @defgroup slot_allocator-config Compile Time Configuration 20 | * @defgroup slot_allocator-porting Porting Macros 21 | * 22 | * @} 23 | * 24 | */ 25 | 26 | #endif /* __INDEX_ALLOCATOR_DOX_H__ */ 27 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | slot_allocator_INCLUDES := -I $(THIS_DIR)inc 8 | slot_allocator_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | slot_allocator_DEPENDMODULE_ENTRIES := init:slot_allocator ucli:slot_allocator 10 | 11 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py slot_allocator_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := slot_allocator 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/slot_allocator_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.enum(ALL).source> */ 9 | /* */ 10 | 11 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/slot_allocator_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * slot_allocator Internal Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __INDEX_ALLOCATOR_INT_H__ 7 | #define __INDEX_ALLOCATOR_INT_H__ 8 | 9 | #include 10 | 11 | 12 | #endif /* __INDEX_ALLOCATOR_INT_H__ */ 13 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/slot_allocator_log.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "slot_allocator_log.h" 9 | /* 10 | * slot_allocator log struct. 11 | */ 12 | AIM_LOG_STRUCT_DEFINE( 13 | INDEX_ALLOCATOR_CONFIG_LOG_OPTIONS_DEFAULT, 14 | INDEX_ALLOCATOR_CONFIG_LOG_BITS_DEFAULT, 15 | NULL, /* Custom log map */ 16 | INDEX_ALLOCATOR_CONFIG_LOG_CUSTOM_BITS_DEFAULT 17 | ); 18 | 19 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/slot_allocator_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #ifndef __INDEX_ALLOCATOR_LOG_H__ 7 | #define __INDEX_ALLOCATOR_LOG_H__ 8 | 9 | #define AIM_LOG_MODULE_NAME slot_allocator 10 | #include 11 | 12 | #endif /* __INDEX_ALLOCATOR_LOG_H__ */ 13 | -------------------------------------------------------------------------------- /modules/slot_allocator/module/src/slot_allocator_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "slot_allocator_log.h" 9 | 10 | static int 11 | datatypes_init__(void) 12 | { 13 | #define INDEX_ALLOCATOR_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); 14 | #include 15 | return 0; 16 | } 17 | 18 | void __slot_allocator_module_init__(void) 19 | { 20 | AIM_LOG_STRUCT_REGISTER(); 21 | datatypes_init__(); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /modules/slot_allocator/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # slot_allocator Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := slot_allocator 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/snmp_subagent/.gitignore: -------------------------------------------------------------------------------- 1 | /snmp_subagent.mk 2 | -------------------------------------------------------------------------------- /modules/snmp_subagent/.module: -------------------------------------------------------------------------------- 1 | name: snmp_subagent 2 | -------------------------------------------------------------------------------- /modules/snmp_subagent/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../init.mk 7 | MODULE := snmp_subagent 8 | AUTOMODULE := snmp_subagent 9 | include $(BUILDER)/definemodule.mk 10 | -------------------------------------------------------------------------------- /modules/snmp_subagent/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # snmp_subagent README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # snmp_subagent Autogeneration 4 | # 5 | ############################################################################### 6 | snmp_subagent_AUTO_DEFS := module/auto/snmp_subagent.yml 7 | snmp_subagent_AUTO_DIRS := module/inc/snmp_subagent module/src 8 | include $(BUILDER)/auto.mk 9 | 10 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/inc/snmp_subagent/snmp_subagent.x: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.xmacro(ALL).define> */ 9 | /* */ 10 | 11 | /* <--auto.start.xenum(ALL).define> */ 12 | /* */ 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/inc/snmp_subagent/snmp_subagent_dox.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * snmp_subagent Doxygen Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SNMP_SUBAGENT_DOX_H__ 7 | #define __SNMP_SUBAGENT_DOX_H__ 8 | 9 | /** 10 | * @defgroup snmp_subagent snmp_subagent - snmp_subagent Description 11 | * 12 | 13 | The documentation overview for this module should go here. 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup snmp_subagent-snmp_subagent Public Interface 19 | * @defgroup snmp_subagent-config Compile Time Configuration 20 | * @defgroup snmp_subagent-porting Porting Macros 21 | * 22 | * @} 23 | * 24 | */ 25 | 26 | #endif /* __SNMP_SUBAGENT_DOX_H__ */ 27 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | snmp_subagent_INCLUDES := -I $(THIS_DIR)inc 8 | snmp_subagent_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | snmp_subagent_DEPENDMODULE_ENTRIES := init:snmp_subagent ucli:snmp_subagent 10 | snmp_subagent_GLOBAL_LINK_LIBS += -lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp 11 | 12 | 13 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py snmp_subagent_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := snmp_subagent 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.enum(ALL).source> */ 9 | /* */ 10 | 11 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_example.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | #include "snmp_subagent_log.h" 8 | 9 | int 10 | snmp_subagent_example_client(int enable, void* cookie) 11 | { 12 | static int value = 42; /* default value */ 13 | oid example_oid[] = 14 | { 1, 3, 6, 1, 4, 1, 37538, 37538, 37538, 37538, 37538, 0 }; 15 | 16 | netsnmp_register_int_instance("snmp_subagent_example_client_integer", 17 | example_oid, 18 | OID_LENGTH(example_oid), 19 | &value, NULL); 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_example.h: -------------------------------------------------------------------------------- 1 | #ifndef __SNMP_SUBAGENT_EXAMPLE_H__ 2 | #define __SNMP_SUBAGENT_EXAMPLE_H__ 3 | 4 | int snmp_subagent_example_client(int enable, void* cookie); 5 | 6 | #endif /* __SNMP_SUBAGENT_EXAMPLE_H__ */ 7 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * snmp_subagent Internal Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SNMP_SUBAGENT_INT_H__ 7 | #define __SNMP_SUBAGENT_INT_H__ 8 | 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include "snmp_subagent_log.h" 20 | 21 | #endif /* __SNMP_SUBAGENT_INT_H__ */ 22 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_log.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "snmp_subagent_log.h" 9 | /* 10 | * snmp_subagent log struct. 11 | */ 12 | AIM_LOG_STRUCT_DEFINE( 13 | SNMP_SUBAGENT_CONFIG_LOG_OPTIONS_DEFAULT, 14 | SNMP_SUBAGENT_CONFIG_LOG_BITS_DEFAULT, 15 | NULL, /* Custom log map */ 16 | SNMP_SUBAGENT_CONFIG_LOG_CUSTOM_BITS_DEFAULT 17 | ); 18 | 19 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #ifndef __SNMP_SUBAGENT_LOG_H__ 7 | #define __SNMP_SUBAGENT_LOG_H__ 8 | 9 | #define AIM_LOG_MODULE_NAME snmp_subagent 10 | #include 11 | 12 | #endif /* __SNMP_SUBAGENT_LOG_H__ */ 13 | -------------------------------------------------------------------------------- /modules/snmp_subagent/module/src/snmp_subagent_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "snmp_subagent_log.h" 9 | 10 | static int 11 | datatypes_init__(void) 12 | { 13 | #define SNMP_SUBAGENT_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); 14 | #include 15 | return 0; 16 | } 17 | 18 | void __snmp_subagent_module_init__(void) 19 | { 20 | AIM_LOG_STRUCT_REGISTER(); 21 | datatypes_init__(); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /modules/timer_wheel/.gitignore: -------------------------------------------------------------------------------- 1 | /timer_wheel.mk 2 | -------------------------------------------------------------------------------- /modules/timer_wheel/.module: -------------------------------------------------------------------------------- 1 | name: timer_wheel 2 | -------------------------------------------------------------------------------- /modules/timer_wheel/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | include ../../init.mk 7 | MODULE := timer_wheel 8 | AUTOMODULE := timer_wheel 9 | include $(BUILDER)/definemodule.mk 10 | -------------------------------------------------------------------------------- /modules/timer_wheel/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # timer_wheel README 4 | # 5 | ############################################################################### 6 | 7 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # timer_wheel Autogeneration 4 | # 5 | ############################################################################### 6 | timer_wheel_AUTO_DEFS := module/auto/timer_wheel.yml 7 | timer_wheel_AUTO_DIRS := module/inc/timer_wheel module/src 8 | include $(BUILDER)/auto.mk 9 | 10 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/inc/timer_wheel/timer_wheel.x: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.xmacro(ALL).define> */ 9 | /* */ 10 | 11 | /* <--auto.start.xenum(ALL).define> */ 12 | /* */ 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/inc/timer_wheel/timer_wheel_dox.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * timer_wheel Doxygen Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __TIMER_WHEEL_DOX_H__ 7 | #define __TIMER_WHEEL_DOX_H__ 8 | 9 | /** 10 | * @defgroup timer_wheel timer_wheel - timer_wheel Description 11 | * 12 | 13 | The documentation overview for this module should go here. 14 | 15 | * 16 | * @{ 17 | * 18 | * @defgroup timer_wheel-timer_wheel Public Interface 19 | * @defgroup timer_wheel-config Compile Time Configuration 20 | * @defgroup timer_wheel-porting Porting Macros 21 | * 22 | * @} 23 | * 24 | */ 25 | 26 | #endif /* __TIMER_WHEEL_DOX_H__ */ 27 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | timer_wheel_INCLUDES := -I $(THIS_DIR)inc 8 | timer_wheel_INTERNAL_INCLUDES := -I $(THIS_DIR)src 9 | timer_wheel_DEPENDMODULE_ENTRIES := init:timer_wheel ucli:timer_wheel 10 | 11 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # Local source generation targets. 4 | # 5 | ############################################################################### 6 | 7 | ucli: 8 | @../../../../tools/uclihandlers.py timer_wheel_ucli.c 9 | 10 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | LIBRARY := timer_wheel 8 | $(LIBRARY)_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 9 | include $(BUILDER)/lib.mk 10 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/timer_wheel_enums.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | /* <--auto.start.enum(ALL).source> */ 9 | /* */ 10 | 11 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/timer_wheel_int.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * timer_wheel Internal Header 4 | * 5 | *****************************************************************************/ 6 | #ifndef __TIMER_WHEEL_INT_H__ 7 | #define __TIMER_WHEEL_INT_H__ 8 | 9 | #include 10 | 11 | 12 | #endif /* __TIMER_WHEEL_INT_H__ */ 13 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/timer_wheel_log.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "timer_wheel_log.h" 9 | /* 10 | * timer_wheel log struct. 11 | */ 12 | AIM_LOG_STRUCT_DEFINE( 13 | TIMER_WHEEL_CONFIG_LOG_OPTIONS_DEFAULT, 14 | TIMER_WHEEL_CONFIG_LOG_BITS_DEFAULT, 15 | NULL, /* Custom log map */ 16 | TIMER_WHEEL_CONFIG_LOG_CUSTOM_BITS_DEFAULT 17 | ); 18 | 19 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/timer_wheel_log.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #ifndef __TIMER_WHEEL_LOG_H__ 7 | #define __TIMER_WHEEL_LOG_H__ 8 | 9 | #define AIM_LOG_MODULE_NAME timer_wheel 10 | #include 11 | 12 | #endif /* __TIMER_WHEEL_LOG_H__ */ 13 | -------------------------------------------------------------------------------- /modules/timer_wheel/module/src/timer_wheel_module.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * 3 | * 4 | * 5 | *****************************************************************************/ 6 | #include 7 | 8 | #include "timer_wheel_log.h" 9 | 10 | static int 11 | datatypes_init__(void) 12 | { 13 | #define TIMER_WHEEL_ENUMERATION_ENTRY(_enum_name, _desc) AIM_DATATYPE_MAP_REGISTER(_enum_name, _enum_name##_map, _desc, AIM_LOG_INTERNAL); 14 | #include 15 | return 0; 16 | } 17 | 18 | void __timer_wheel_module_init__(void) 19 | { 20 | AIM_LOG_STRUCT_REGISTER(); 21 | datatypes_init__(); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /modules/timer_wheel/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # timer_wheel Unit Test Makefile. 4 | # 5 | ############################################################################### 6 | UMODULE := timer_wheel 7 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 8 | include $(BUILDER)/utest.mk 9 | -------------------------------------------------------------------------------- /modules/uCli/.gitignore: -------------------------------------------------------------------------------- 1 | /uCli.mk 2 | /doc 3 | -------------------------------------------------------------------------------- /modules/uCli/.module: -------------------------------------------------------------------------------- 1 | name: uCli 2 | -------------------------------------------------------------------------------- /modules/uCli/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | include ../../init.mk 21 | 22 | MODULE := uCli 23 | AUTOMODULE := uCli 24 | 25 | include $(BUILDER)/definemodule.mk 26 | -------------------------------------------------------------------------------- /modules/uCli/README: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # uCli 4 | # 5 | # Micro Command Line Interface 6 | # 7 | ############################################################################### 8 | 9 | The uCli module provides a framework for disjoint modules to define 10 | and register CLI components with a CLI managing instance. Modules 11 | define tables that map CLI commands to functionality. 12 | 13 | The uCli infrastructure is used for all command line interfaces and 14 | for options processing for all targets. 15 | 16 | -------------------------------------------------------------------------------- /modules/uCli/module/auto/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | uCli_AUTO_DEFS=module/auto/uCli.yml 21 | uCli_AUTO_DIRS=module/inc/uCli module/src 22 | 23 | -include $(BUILDER)/auto.mk 24 | -------------------------------------------------------------------------------- /modules/uCli/module/inc/uCli/ucli.x: -------------------------------------------------------------------------------- 1 | /**************************************************************** 2 | * 3 | * Copyright 2013, Big Switch Networks, Inc. 4 | * 5 | * Licensed under the Eclipse Public License, Version 1.0 (the 6 | * "License"); you may not use this file except in compliance 7 | * with the License. You may obtain a copy of the License at 8 | * 9 | * http://www.eclipse.org/legal/epl-v10.html 10 | * 11 | * Unless required by applicable law or agreed to in writing, 12 | * software distributed under the License is distributed on an 13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | * either express or implied. See the License for the specific 15 | * language governing permissions and limitations under the 16 | * License. 17 | * 18 | ***************************************************************/ 19 | 20 | #include 21 | 22 | /* <--auto.start.xmacro(ALL).define> */ 23 | /* */ 24 | -------------------------------------------------------------------------------- /modules/uCli/module/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | THISDIR := $(dir $(lastword $(MAKEFILE_LIST))) 21 | uCli_INCLUDES := -I $(THISDIR)inc 22 | uCli_INTERNAL_INCLUDES := -I $(THISDIR)src 23 | uCli_DEPENDMODULE_ENTRIES := init:ucli 24 | 25 | -------------------------------------------------------------------------------- /modules/uCli/module/src/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | ucli: 20 | @../../../../tools/uclihandlers.py ucli_handlers.c 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /modules/uCli/module/src/make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | LIBRARY := uCli 21 | uCli_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/lib.mk 23 | 24 | -------------------------------------------------------------------------------- /modules/uCli/utest/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | module: 20 | python handlers.py > modules.c_ 21 | @../../../tools/uclihandlers.py modules.c_ 22 | @../../../tools/uclihandlers.py main.c 23 | 24 | -------------------------------------------------------------------------------- /modules/uCli/utest/_make.mk: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | 20 | UMODULE := uCli 21 | UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST))) 22 | include $(BUILDER)/utest.mk 23 | 24 | -------------------------------------------------------------------------------- /targets/.gitignore: -------------------------------------------------------------------------------- 1 | dependmodules.x 2 | build/ 3 | *_utest.mk 4 | -------------------------------------------------------------------------------- /targets/utests/BigData/BigHash/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | include ../../../../init.mk 20 | 21 | MODULE := BigHash_utest 22 | TEST_MODULE := BigHash 23 | DEPENDMODULES := AIM murmur BigList 24 | 25 | include $(BUILDER)/build-unit-test.mk 26 | 27 | -------------------------------------------------------------------------------- /targets/utests/BigData/BigList/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################ 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################ 19 | include ../../../../init.mk 20 | 21 | MODULE := BigList_utest 22 | TEST_MODULE := BigList 23 | DEPENDMODULES := AIM 24 | 25 | 26 | include $(BUILDER)/build-unit-test.mk 27 | -------------------------------------------------------------------------------- /targets/utests/ELS/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | ############################################################ 5 | # 6 | # ELS Unit Testing Module Makefile 7 | # 8 | ############################################################ 9 | 10 | include ../../../init.mk 11 | 12 | MODULE := ELS_utest 13 | TEST_MODULE := ELS 14 | DEPENDMODULES := AIM OS 15 | 16 | GLOBAL_LINK_LIBS += -lpthread -ledit 17 | PEDANTIC := 1 18 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_POSIX=1 19 | 20 | include $(BUILDER)/build-unit-test.mk 21 | 22 | -------------------------------------------------------------------------------- /targets/utests/IOF/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../init.mk 20 | 21 | MODULE := IOF_utest 22 | TEST_MODULE := IOF 23 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_POSIX=1 24 | DEPENDMODULES := AIM 25 | PEDANTIC := 1 26 | 27 | include $(BUILDER)/build-unit-test.mk 28 | -------------------------------------------------------------------------------- /targets/utests/OS/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../init.mk 20 | 21 | MODULE := OS_utest 22 | TEST_MODULE := OS 23 | DEPENDMODULES := AIM 24 | GLOBAL_CFLAGS += -DOS_CONFIG_INCLUDE_POSIX=1 25 | LDFLAGS += -lpthread -lrt 26 | 27 | include $(BUILDER)/build-unit-test.mk 28 | 29 | -------------------------------------------------------------------------------- /targets/utests/OS/autoselect/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../../init.mk 20 | 21 | MODULE := OS_utest 22 | TEST_MODULE := OS 23 | DEPENDMODULES := AIM 24 | OS_MAKE_CONFIG_AUTOSELECT := 1 25 | 26 | include $(BUILDER)/build-unit-test.mk 27 | 28 | -------------------------------------------------------------------------------- /targets/utests/OS/none/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../../init.mk 20 | 21 | MODULE := OS_utest 22 | TEST_MODULE := OS 23 | DEPENDMODULES := AIM 24 | GLOBAL_CFLAGS += -DOS_CONFIG_INCLUDE_NONE=1 25 | 26 | include $(BUILDER)/build-unit-test.mk 27 | 28 | -------------------------------------------------------------------------------- /targets/utests/OS/osx/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../../init.mk 20 | 21 | MODULE := OS_utest 22 | TEST_MODULE := OS 23 | DEPENDMODULES := AIM 24 | OS_CFLAGS += -DOS_CONFIG_INCLUDE_OSX=1 25 | 26 | include $(BUILDER)/build-unit-test.mk 27 | 28 | -------------------------------------------------------------------------------- /targets/utests/OS/posix/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################# 2 | # 3 | # Copyright 2013, Big Switch Networks, Inc. 4 | # 5 | # Licensed under the Eclipse Public License, Version 1.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.eclipse.org/legal/epl-v10.html 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 14 | # either express or implied. See the License for the specific 15 | # language governing permissions and limitations under the 16 | # License. 17 | # 18 | ################################################################# 19 | include ../../../../init.mk 20 | 21 | MODULE := OS_utest 22 | TEST_MODULE := OS 23 | DEPENDMODULES := AIM 24 | GLOBAL_CFLAGS += -DOS_CONFIG_INCLUDE_POSIX=1 25 | GLOBAL_LINK_LIBS := -lpthread -lrt 26 | 27 | include $(BUILDER)/build-unit-test.mk 28 | -------------------------------------------------------------------------------- /targets/utests/PPE/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # PPE Unit Testing Module Makefile 4 | # 5 | # 6 | # 7 | ############################################################################### 8 | include ../../../init.mk 9 | 10 | DEPENDMODULES := AIM uCli BigList IOF 11 | 12 | MODULE := PPE_utest 13 | TEST_MODULE := PPE 14 | 15 | GLOBAL_CFLAGS += -DPPE_CONFIG_INCLUDE_UTM=1 -DPPE_CONFIG_INCLUDE_UCLI=1 16 | GLOBAL_CFLAGS += -DUCLI_CONFIG_INCLUDE_FGETS_LOOP=1 17 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 18 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_POSIX=1 19 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 20 | GLOBAL_LINK_LIBS += -lpthread 21 | PEDANTIC := 1 22 | 23 | include $(BUILDER)/build-unit-test.mk 24 | -------------------------------------------------------------------------------- /targets/utests/bloom_filter/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | include ../../../init.mk 8 | MODULE := bloom_filter_utest 9 | TEST_MODULE := bloom_filter 10 | DEPENDMODULES := AIM 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 12 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 13 | GLOBAL_LINK_LIBS += -lpthread 14 | include $(BUILDER)/build-unit-test.mk 15 | -------------------------------------------------------------------------------- /targets/utests/debug_counter/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | include ../../../init.mk 8 | MODULE := debug_counter_utest 9 | TEST_MODULE := debug_counter 10 | DEPENDMODULES := AIM 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 12 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 13 | GLOBAL_LINK_LIBS += -lpthread 14 | include $(BUILDER)/build-unit-test.mk 15 | -------------------------------------------------------------------------------- /targets/utests/murmur/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | include ../../../init.mk 8 | MODULE := murmur_utest 9 | TEST_MODULE := murmur 10 | DEPENDMODULES := AIM 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 12 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 13 | GLOBAL_LINK_LIBS += -lpthread 14 | include $(BUILDER)/build-unit-test.mk 15 | -------------------------------------------------------------------------------- /targets/utests/orc/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # 3 | # 4 | ############################################################ 5 | # 6 | # 7 | # 8 | ############################################################ 9 | 10 | include ../../../init.mk 11 | MODULE := orc_utest 12 | TEST_MODULE := orc 13 | DEPENDMODULES := AIM ELS OS uCli BigList IOF 14 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 15 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 16 | GLOBAL_LINK_LIBS += -ldl -rdynamic -lpthread # pthreads is needed to unbork gdb 17 | 18 | include $(BUILDER)/build-unit-test.mk 19 | -------------------------------------------------------------------------------- /targets/utests/slot_allocator/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | include ../../../init.mk 8 | MODULE := slot_allocator_utest 9 | TEST_MODULE := slot_allocator 10 | DEPENDMODULES := AIM 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 12 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 13 | GLOBAL_LINK_LIBS += -lpthread 14 | include $(BUILDER)/build-unit-test.mk 15 | -------------------------------------------------------------------------------- /targets/utests/timer_wheel/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # 3 | # 4 | # 5 | ############################################################################### 6 | 7 | include ../../../init.mk 8 | MODULE := timer_wheel_utest 9 | TEST_MODULE := timer_wheel 10 | DEPENDMODULES := AIM 11 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 12 | GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 13 | GLOBAL_LINK_LIBS += -lpthread 14 | include $(BUILDER)/build-unit-test.mk 15 | -------------------------------------------------------------------------------- /targets/vpi/jvpi/.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | com/bigswitch/vpi/native_/swig/*.java 3 | VPI_wrap.c 4 | jvpim.mk 5 | -------------------------------------------------------------------------------- /targets/vpi/jvpi/com/bigswitch/vpi/native_/swig/README: -------------------------------------------------------------------------------- 1 | All .java files in this directory are autogenerated using swig. 2 | All .java files in this directory are removed before generation. 3 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/.gitignore: -------------------------------------------------------------------------------- 1 | libvpim.mk 2 | *.build 3 | *.changes 4 | *.deb 5 | 6 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/.gitignore: -------------------------------------------------------------------------------- 1 | files 2 | libvpi/ 3 | tmp/ 4 | *.debhelper 5 | *.substvars 6 | *.log 7 | 8 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/changelog: -------------------------------------------------------------------------------- 1 | libvpi (0.1.0bsn1~ubuntu1) UNRELEASED; urgency=low 2 | 3 | * Initial release. 4 | 5 | -- Jeffrey Townsend Mon, 04 Mar 2013 16:48:36 -0800 6 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/control: -------------------------------------------------------------------------------- 1 | Source: libvpi 2 | Section: misc 3 | Priority: optional 4 | Maintainer: Jeffrey Townsend 5 | Build-Depends: debhelper (>= 9) 6 | Standards-Version: 3.8.4 7 | 8 | Package: libvpi 9 | Architecture: any 10 | Depends: libc6 11 | Description: VPI Shared Library 12 | This package provides VPI shared library. 13 | 14 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/copyright: -------------------------------------------------------------------------------- 1 | Copyright 2013 Big Switch Networks 2 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/libvpi.install: -------------------------------------------------------------------------------- 1 | usr/lib/* 2 | -------------------------------------------------------------------------------- /targets/vpi/libvpi/deb/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | DEB_DH_INSTALL_SOURCEDIR = debian/tmp 4 | INSTALL_DIR = $(CURDIR)/$(DEB_DH_INSTALL_SOURCEDIR) 5 | export TOOLCHAIN=$(DEB_HOST_GNU_TYPE) 6 | 7 | %: 8 | dh $@ 9 | 10 | build-arch: 11 | $(MAKE) -C .. 12 | 13 | clean: 14 | dh clean 15 | 16 | override_dh_auto_install: 17 | mkdir -p $(INSTALL_DIR)/usr/lib 18 | cp ../build/$(DEB_HOST_GNU_TYPE)/bin/libvpi.so $(INSTALL_DIR)/usr/lib/libvpi.so.1 19 | # Generic shared library 20 | cd $(INSTALL_DIR)/usr/lib && ln -s libvpi.so.1 libvpi.so 21 | 22 | 23 | -------------------------------------------------------------------------------- /targets/vpi/pyvpi/.gitignore: -------------------------------------------------------------------------------- 1 | pyvpim.mk 2 | *.deb 3 | *.tar.gz 4 | 5 | -------------------------------------------------------------------------------- /targets/vpi/pyvpi/MANIFEST: -------------------------------------------------------------------------------- 1 | setup.py 2 | vpi/__init__.py 3 | vpi/pyvpitool 4 | vpi/vpi.py 5 | build/gcc-local/bin/pyvpi.so 6 | -------------------------------------------------------------------------------- /targets/vpi/pyvpi/vpi/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floodlight/bigcode/4bd372b72472981b5c612b577004fc61c74d98aa/targets/vpi/pyvpi/vpi/__init__.py -------------------------------------------------------------------------------- /targets/vpi/vpitool/.gitignore: -------------------------------------------------------------------------------- 1 | vpitool.mk 2 | -------------------------------------------------------------------------------- /tools/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | --------------------------------------------------------------------------------