Issue while using NS3 Topology generator - ns-3

can anybody help me with the use of NS3 topology generators such as Topology_Generator.
I am getting this error.

The codebase is very old (3+ years), so it probably won't work with your version of NS-3 (which you didn't specified too).
I suggest you write your topology on the simulation file and verify it using the netanim tool.

Related

Run Chaos Monkey locally on mac

I was trying to setup chaos monkey locally on my mac. Couldn't find much documentations regarding this. The official docs are incomplete/ or in progress. I'm new to chaos engineering and have never worked with the simian army tools.
I was able to find a lot of guides to install chaos-monkey on distribution platforms. But couldn't find any useful documentation for doing the same on a local system to test.
I'm aware that I'll need spinnaker and mysql set up for it to run.
I was thinking of installing spinnaker on a local kubernetes cluster and then try configuring that to set up chaos-monkey. I found this guide to do the same. But ended up overloading my mac (has 8GB ram) and it shut down.
Also tried setting up spinnaker on docker using this guide, but ran into some version issues.
Is there any other memory efficient way to install chaos_monkey locally and use it to attack kubernetes nodes or even VMs? I'm aware of kube-monkey, but that's not what I'm trying to test here.
Any suggestions on how to set this up locally are also welcome.
I ran into this same problem around Chaos Monkey a couple of years ago. The setup is complex enough that finding foolproof steps is a little challenging. Here's a comprehensive guide that is useful: https://www.gremlin.com/chaos-monkey/chaos-monkey-tutorial/
As an alternative, Gremlin's Free Product isn't open source, but gives you Chaos Monkey / shutdown functionality with a very simple install process. gremlin.com/gremlin-free-software.

about BRO: how to intercept AMQP messages(RabbitMQ) in OpenStack

I've been doing some experiment with BRO in OpenStack, and first of all, i need to intercept all the RabbitMQ messages with BRO, but i'm not really familiar with this tool and I've followed the step of the following git blog
https://github.com/packetsled/bro_amqp_plugin
and there is an error
the error
Do anyone know what's wrong with my step? Thank you very much!
Sorry for the delayed response, but that version of the plugin is quite old, and not maintained. An updated version for Zeek (formally known as Bro) 3.x is available at https://github.com/mixmodeai/bro_amqp_plugin. I'm working on updating to 4.x, but it is a background task.
Please post the full text of the command you used for configuration and make, as well as the output.

SCIP-SDP through Matlab

I am I trying to install SCIP-SDP. As I am not a Linux user, I have found the instructions for installing SCIP very confusing, and have not managed to install it.
I have then chosen to use SCIP through Matlab by using Opti. I have managed to solve some LPs with SCIP through Opti. Is it possible to use SCIP-SDP through Opti? If so, could you please give me some guidelines on how to do it?
There exists an interface from the optitoolbox to SCIP-SDP, but this is quite old and will only work with SCIP-SDP 1.0, but since I haven't used the toolbox myself, I can't give you any more details. There is also the possibility to use SCIP-SDP via the neos-server, but this is also only SCIP-SDP 2.0 (and you should give a settings file, since the default settings are sometimes a little bit strange). For the most current version, you will unfortunately need to install it through the console, and this is really only tested on Linux. Perhaps you could try to use a virtual machine? If there are any specific problems with installing SCIP or SCIP-SDP (preferably on Linux), then feel free to ask, either here or via mail.

Building kernel modules for different linux version

I am new to writing kernel modules, so facing few non-technical problems.
Since for creating kernel module for a specific kernel version ( say 3.0.0-10, 10 is patch number) requires same version kernel headers, so it looks straight to install kernel headers and start development over there.
But kernel headers for patched kernel version are not available.
As I have a guest kernel vmlinuz-3.0.0-10 running in machine and upon downloading kernel headers it says not found.
other approach is to get the source for that specific kernel, but again problem is same source for patched kernel is not available ( its not necessary to get sources of linux-kernel-3.0.0-10 or even linux-kernel-3.0.0 and 10th patch). In some situation it is possible to get source of running kernel, but not always possible.
another is to build kernel other than the running kernel and place built kernel in the machine. But it requires to build the modules of that kernel that is time-consuming and space-consuming process.
So intention of asking this is to know what are the preferences of kernel driver developers. Are there other alternatives ?
Is it possible to compile kernel module in one version and run in another version ( though it is going to give error, but are there any workaround for this ?)
So, building a new kernel is not a good option as it will require :
building kernel
building modules and firmware
building headers
Moving all of above things in appropriate location (if your machine is not same on which you are going to develop module)
So if you have kernel headers for running system then you dont need to download a source code for any kernel version, and while making module use
make -C /lib/modules/kernel-headers-x.y.z/build M=`pwd` modules
and your module will be ready.
If there would be better answers, i will not hesitate to accept any of them.
I know it's a long time since this question asked. I am new in the kernel development. I have also encountered the same error. But now I am able to load my module in the different kernel by which I have built it. Following is the solution:
download the kernel-devel related to the image that you are running. It should have version as close as possible.
Check that the functions you are using in the module are mapped with the header files you have in the kernel-devel.
change the include/generated/utsrelease.h file for UTS_RELEASE value. change it to the version of kernel image running on your HW.
Compile the module using this kernel tree.
Now you can insert your module inside kernel.
Note:: It may cause some unwanted events to be happened as Shahbaz mentioned above. But if you are doing this just for experiments I think its good to go. :)
There is a way to build a module on one kernel and insert it in another. It is by turning off a certain configuration. I am not telling you which configuration it is because this is ABSOLUTELY DANGEROUS. The reason is that there may be changes between the kernels that could cause your module to behave differently, often resulting in a total freeze.
What you should do is to build the module against an already-built kernel (or at least a configured one). If you have a patched kernel, the best thing you can do is to build that kernel and boot your OS with that.
I know this is time consuming. I have done it many many times and I know how boring it can get, but once you do it right, it makes your life much easier. Kernel compilation takes about 2 hours or so, but you can parallelize it if you have a multi-core CPU. Also, you can always let it compile before you leave the office (or if at home, before going to bed) and let it work at night.
In short, I strongly recommend that you build the kernel you are interested in yourself.

DbLinq and Mono 2.4: Working Together?

Hopefully this is a silly question and there's really a simple solution somewhere out there but...
Has anybody successfully gotten DbLinq to play nicely with Mono 2.4 on Mac OS X 10.5?
I've got my SQLite database ready but for the life of me, I can't find sqlmetal to generate my objects.
I'm guessing I might have to download a previous version of Mono that included sqlmetal, build and install it, and then just use the code generated from that version on Mono 2.4...but I'm hoping to avoid it at all costs.
I'd avoid using DBLinq for production code... many of Linq-To-SQL's features aren't implemented, and walking through the source code shows a low level of maturity... many of the methods are not implemented or marked as "unterminated".
...you've been warned!
Using the pre-compiled binary in this case just doesn't work.
To get a properly generated DbLinq data layer, you have to use the sqlmetal tool included with Mono (but, apparently, not with the pre-compiled binaries for OS X). You have to pull down the Mono trunk (along with all the dependencies) and build Mono from the source.
Once you build and install Mono from source, you should have the sqlmetal tool. Once you generate your code, it's as easy as including the generated *.cs file and importing Mono.Data.Sqlite.
Mono 2.6 will include for the first time a preview of DbLinq with Mono. You can take it out for a spin today if you install DbLinq on your own side-by-side with your current Mono setup.