[nox-dev] NOX compilation error
I recently tried a fresh NOX installation from the noxrepo git repo on Ubuntu 10.04. ./configure --with-python=yes fails with an error: configure: error: Could not link against ! The last few lines of the output are: checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for fdatasync... yes checking for ppoll... yes checking for boostlib = 1.34.1... yes checking whether the Boost::Filesystem library is available... yes configure: error: Could not link against ! This is most likely not a NOX problem, as I have compiled the source multiple times in the past, but on Debian machines. If anyone has encountered a similar problem on Ubuntu and managed to fix it, please let me know. Thanks, Nikhil ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
[nox-dev] dropping packets
Hi Everyone, I am running NOX and openflow on the same machine. I am coding the NOX controller in C++. I am trying to write code to selectively drop packets. For a quick test I tried to write code that would drop HTTP (i.e. tcp dst port 80) packets. The code correctly identifies the HTTP packet and it calls the send_openflow_command with no action. However the packets are not getting dropped. Below is initialisation of the openflow mod structure. Which is sent in the command. // setup the header ofm.header.version = OFP_VERSION; ofm.header.type = OFPT_FLOW_MOD; ofm.header.length = htons(sizeof ofm); // no extended action data // match the flow - therefore no wild-cards! ofm.match.wildcards = htonl(0); ofm.match.in_port = htons(flow.in_port); ofm.match.dl_vlan = flow.dl_vlan; memcpy(ofm.match.dl_src,flow.dl_src.octet,sizeof ofm.match.dl_src); memcpy(ofm.match.dl_dst,flow.dl_dst.octet,sizeof ofm.match.dl_dst); ofm.match.dl_type = flow.dl_type; ofm.match.nw_src = flow.nw_src; ofm.match.nw_dst = flow.nw_dst; ofm.match.nw_proto = flow.nw_proto; ofm.match.tp_src = flow.tp_src; ofm.match.tp_dst = flow.tp_dst; // add an entry - initalise entry housekeeping variables (see page 28 of OF spec) ofm.command = htons(OFPFC_ADD); ofm.buffer_id = htonl(packetid); ofm.idle_timeout = htons(OFP_FLOW_PERMANENT); ofm.hard_timeout = htons(OFP_FLOW_PERMANENT); ofm.priority = htons(OFP_DEFAULT_PRIORITY); ofm.flags = OFPFF_CHECK_OVERLAP; When I run dpctl dump-flows on the switch I get cookie=14431522174269325312, duration_sec=15s, duration_nsec=83200s, table_id=0, priority=65535, n_packets=3, n_bytes=222, idle_timeout=0,hard_timeout=0,tcp,in_port=1,dl_vlan=0x,dl_vlan_pcp=0x00,dl_src=00:07:e9:ae:04:c7,dl_dst=00:13:d3:c0:46:f2,nw_src=192.168.1.1,nw_dst=91.189.88.31,nw_tos=0x00,tp_src=58891,tp_dst=80,actions= Any ideas on what I am doing wrong? thanks in advance Iain ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
Hi guys, I don't think I made it clear in the previous post. The code in the previous post only gets called when the flow is identified as HTTP. Then I am trying to block that particular flow. I know it would make more sense to write general rule and send the command from the install method. I am just doing this initially to see if I can get any packets dropped. Thanks Again Iain On Jul 12 2010, i...@cs.nott.ac.uk wrote: Hi Everyone, I am running NOX and openflow on the same machine. I am coding the NOX controller in C++. I am trying to write code to selectively drop packets. For a quick test I tried to write code that would drop HTTP (i.e. tcp dst port 80) packets. The code correctly identifies the HTTP packet and it calls the send_openflow_command with no action. However the packets are not getting dropped. Below is initialisation of the openflow mod structure. Which is sent in the command. // setup the header ofm.header.version = OFP_VERSION; ofm.header.type = OFPT_FLOW_MOD; ofm.header.length = htons(sizeof ofm); // no extended action data // match the flow - therefore no wild-cards! ofm.match.wildcards = htonl(0); ofm.match.in_port = htons(flow.in_port); ofm.match.dl_vlan = flow.dl_vlan; memcpy(ofm.match.dl_src,flow.dl_src.octet,sizeof ofm.match.dl_src); memcpy(ofm.match.dl_dst,flow.dl_dst.octet,sizeof ofm.match.dl_dst); ofm.match.dl_type = flow.dl_type; ofm.match.nw_src = flow.nw_src; ofm.match.nw_dst = flow.nw_dst; ofm.match.nw_proto = flow.nw_proto; ofm.match.tp_src = flow.tp_src; ofm.match.tp_dst = flow.tp_dst; // add an entry - initalise entry housekeeping variables (see page 28 of OF spec) ofm.command = htons(OFPFC_ADD); ofm.buffer_id = htonl(packetid); ofm.idle_timeout = htons(OFP_FLOW_PERMANENT); ofm.hard_timeout = htons(OFP_FLOW_PERMANENT); ofm.priority = htons(OFP_DEFAULT_PRIORITY); ofm.flags = OFPFF_CHECK_OVERLAP; When I run dpctl dump-flows on the switch I get cookie=14431522174269325312, duration_sec=15s, duration_nsec=83200s, table_id=0, priority=65535, n_packets=3, n_bytes=222, idle_timeout=0,hard_timeout=0,tcp,in_port=1,dl_vlan=0x,dl_vlan_pcp=0x00,dl_src=00:07:e9:ae:04:c7,dl_dst=00:13:d3:c0:46:f2,nw_src=192.168.1.1,nw_dst=91.189.88.31,nw_tos=0x00,tp_src=58891,tp_dst=80,actions= Any ideas on what I am doing wrong? thanks in advance Iain ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
[nox-dev] [installation-problem] undefined refrence
Hello all I am trying to install NOX 0.6. But when I tried to make it it gives me this error. mv -f .deps/nox_main.Tpo .deps/nox_main.Po /bin/sh ../libtool --tag=CXX --mode=link g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -R/usr/local/bin -export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib -Wl,-E -o nox_core components.xsd.o nox.xsd.o nox_main.o ./builtin/.libs/libbuiltin.la ./lib/libnoxcore.la g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -Wl,-E -o .libs/nox_core components.xsd.o nox.xsd.o nox_main.o -Wl,--export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib ./builtin/.libs/libbuiltin.so ./lib/.libs/libnoxcore.so -Wl,--rpath -Wl,/usr/local/bin/builtin -Wl,--rpath -Wl,/usr/local/bin components.xsd.o: In function `~XMLAttDefList': /usr/local/include/xercesc/framework/XMLAttDefList.hpp:158: undefined reference to `xercesc_3_1::XMemory::operator delete(void*)' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x10): undefined reference to `xercesc_3_1::XMLAttDefList::isSerializable() const' *components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x14): undefined reference to `xercesc_3_1::XMLAttDefList::serialize(xercesc_3_1::XSerializeEngine)'* *components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x18): undefined reference to `xercesc_3_1::XMLAttDefList::getProtoType() const'* *./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMElementContentWhitespace'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLString::transcode(char const*, unsigned short*, unsigned int, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `typeinfo for xercesc_3_1::DOMException'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesSchemaFullChecking'* *./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercescDefaultLocale'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesUseCachedGrammarInParse'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMErrorHandler'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::Wrapper4InputSource::Wrapper4InputSource(xercesc_3_1::InputSource*, bool, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::MemBufInputSource::MemBufInputSource(unsigned char const*, unsigned int, char const*, bool, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesUserAdoptsDOMDocument'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMNamespaces'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::Wrapper4InputSource::~Wrapper4InputSource()'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_3_1::PanicHandler*, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `typeinfo for xercesc_3_1::XMLException'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::DOMImplementationRegistry::getDOMImplementation(unsigned short const*)'* *./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMValidate'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::MemBufInputSource::~MemBufInputSource()'* *./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesSchema'* *collect2: ld returned 1 exit status* *make[4]: *** [nox_core] Error 1* *make[4]: Leaving directory `/home/nox/build/src'* *make[3]: *** [all-recursive] Error 1* *make[3]: Leaving directory `/home/nox/build/src'* *make[2]: *** [all] Error 2* *make[2]: Leaving directory `/home/nox/build/src'* *make[1]: *** [all-recursive] Error 1* *make[1]: Leaving directory `/home/nox/build'* *make: *** [all] Error 2* Any idea how to resolve this ? Best Regards, M. Waqas Ahmad Daar MS Internetworking KTH Royal Institute of Technology, Stockholm Sweden. Cell: +46704058221 ___ nox-dev mailing list nox-dev@noxrepo.org
Re: [nox-dev] NOX compilation error
Hi Nikhil, More specifically, you can try libbooost-dev, libboost-filesystem-dev and libboost-test-dev. Regards KK On 12 July 2010 03:55, James Murphy McCauley jam...@nau.edu wrote: I am guessing this is a bug in the autoconf boost detection code. I'd try the following: First, apt-get install libboost-all-dev If that doesn't work, try manually setting the boost paths with the appropriate configure options (--with-boost=path and friends). If that still doesn't work, could you post your config.log (or the tail end of it anyway)? -- Murphy On Mon, 2010-07-12 at 01:50 -0700, Nikhil Handigol wrote: I recently tried a fresh NOX installation from the noxrepo git repo on Ubuntu 10.04. ./configure --with-python=yes fails with an error: configure: error: Could not link against ! The last few lines of the output are: checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for fdatasync... yes checking for ppoll... yes checking for boostlib = 1.34.1... yes checking whether the Boost::Filesystem library is available... yes configure: error: Could not link against ! This is most likely not a NOX problem, as I have compiled the source multiple times in the past, but on Debian machines. If anyone has encountered a similar problem on Ubuntu and managed to fix it, please let me know. Thanks, Nikhil ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
Hi Iain, Would you might looking at the control traffic dump to let us know if you keeping receiving more packet-in after inserting the flow rule? Also, is there any reason not to set the vlan_pcp? Regards KK On 12 July 2010 07:20, i...@cs.nott.ac.uk wrote: Hi guys, I don't think I made it clear in the previous post. The code in the previous post only gets called when the flow is identified as HTTP. Then I am trying to block that particular flow. I know it would make more sense to write general rule and send the command from the install method. I am just doing this initially to see if I can get any packets dropped. Thanks Again Iain On Jul 12 2010, i...@cs.nott.ac.uk wrote: Hi Everyone, I am running NOX and openflow on the same machine. I am coding the NOX controller in C++. I am trying to write code to selectively drop packets. For a quick test I tried to write code that would drop HTTP (i.e. tcp dst port 80) packets. The code correctly identifies the HTTP packet and it calls the send_openflow_command with no action. However the packets are not getting dropped. Below is initialisation of the openflow mod structure. Which is sent in the command. // setup the header ofm.header.version = OFP_VERSION; ofm.header.type = OFPT_FLOW_MOD; ofm.header.length = htons(sizeof ofm); // no extended action data // match the flow - therefore no wild-cards! ofm.match.wildcards = htonl(0); ofm.match.in_port = htons(flow.in_port); ofm.match.dl_vlan = flow.dl_vlan; memcpy(ofm.match.dl_src,flow.dl_src.octet,sizeof ofm.match.dl_src); memcpy(ofm.match.dl_dst,flow.dl_dst.octet,sizeof ofm.match.dl_dst); ofm.match.dl_type = flow.dl_type; ofm.match.nw_src = flow.nw_src; ofm.match.nw_dst = flow.nw_dst; ofm.match.nw_proto = flow.nw_proto; ofm.match.tp_src = flow.tp_src; ofm.match.tp_dst = flow.tp_dst; // add an entry - initalise entry housekeeping variables (see page 28 of OF spec) ofm.command = htons(OFPFC_ADD); ofm.buffer_id = htonl(packetid); ofm.idle_timeout = htons(OFP_FLOW_PERMANENT); ofm.hard_timeout = htons(OFP_FLOW_PERMANENT); ofm.priority = htons(OFP_DEFAULT_PRIORITY); ofm.flags = OFPFF_CHECK_OVERLAP; When I run dpctl dump-flows on the switch I get cookie=14431522174269325312, duration_sec=15s, duration_nsec=83200s, table_id=0, priority=65535, n_packets=3, n_bytes=222, idle_timeout=0,hard_timeout=0,tcp,in_port=1,dl_vlan=0x,dl_vlan_pcp=0x00,dl_src=00:07:e9:ae:04:c7,dl_dst=00:13:d3:c0:46:f2,nw_src=192.168.1.1,nw_dst=91.189.88.31,nw_tos=0x00,tp_src=58891,tp_dst=80,actions= Any ideas on what I am doing wrong? thanks in advance Iain ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] [installation-problem] undefined refrence
I have installed the 'xerces' and the output of the make install command is as follows. make[1]: Entering directory `/home/xerces-c-3.1.1/tests' make[2]: Entering directory `/home/xerces-c-3.1.1/tests' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/xerces-c-3.1.1/tests' make[1]: Leaving directory `/home/xerces-c-3.1.1/tests' Making install in samples make[1]: Entering directory `/home/xerces-c-3.1.1/samples' make[2]: Entering directory `/home/xerces-c-3.1.1/samples' test -z /usr/local/bin || /bin/mkdir -p /usr/local/bin /bin/sh ../libtool --mode=install /usr/bin/install -c CreateDOMDocument DOMCount DOMPrint EnumVal MemParse PParse PSVIWriter Redirect SAX2Count SAX2Print SAXCount SAXPrint SCMPrint SEnumVal StdInParse XInclude '/usr/local/bin' libtool: install: /usr/bin/install -c .libs/CreateDOMDocument /usr/local/bin/CreateDOMDocument libtool: install: /usr/bin/install -c .libs/DOMCount /usr/local/bin/DOMCount libtool: install: /usr/bin/install -c .libs/DOMPrint /usr/local/bin/DOMPrint libtool: install: /usr/bin/install -c .libs/EnumVal /usr/local/bin/EnumVal libtool: install: /usr/bin/install -c .libs/MemParse /usr/local/bin/MemParse libtool: install: /usr/bin/install -c .libs/PParse /usr/local/bin/PParse libtool: install: /usr/bin/install -c .libs/PSVIWriter /usr/local/bin/PSVIWriter libtool: install: /usr/bin/install -c .libs/Redirect /usr/local/bin/Redirect libtool: install: /usr/bin/install -c .libs/SAX2Count /usr/local/bin/SAX2Count libtool: install: /usr/bin/install -c .libs/SAX2Print /usr/local/bin/SAX2Print libtool: install: /usr/bin/install -c .libs/SAXCount /usr/local/bin/SAXCount libtool: install: /usr/bin/install -c .libs/SAXPrint /usr/local/bin/SAXPrint libtool: install: /usr/bin/install -c .libs/SCMPrint /usr/local/bin/SCMPrint libtool: install: /usr/bin/install -c .libs/SEnumVal /usr/local/bin/SEnumVal libtool: install: /usr/bin/install -c .libs/StdInParse /usr/local/bin/StdInParse libtool: install: /usr/bin/install -c .libs/XInclude /usr/local/bin/XInclude make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/xerces-c-3.1.1/samples' make[1]: Leaving directory `/home/xerces-c-3.1.1/samples' make[1]: Entering directory `/home/xerces-c-3.1.1' make[2]: Entering directory `/home/xerces-c-3.1.1' make[2]: Nothing to be done for `install-exec-am'. test -z /usr/local/lib/pkgconfig || /bin/mkdir -p /usr/local/lib/pkgconfig /usr/bin/install -c -m 644 xerces-c.pc '/usr/local/lib/pkgconfig' make[2]: Leaving directory `/home/xerces-c-3.1.1' make[1]: Leaving directory `/home/xerces-c-3.1.1' but I am confused how to set the PATH variable ? Best Regards, Waqas Daar On Mon, Jul 12, 2010 at 5:05 PM, kk yap yap...@stanford.edu wrote: Hi, Check if you have xerces installed correctly. Regards KK On 12 July 2010 07:49, Waqas Daar waqasd...@gmail.com wrote: Hello all I am trying to install NOX 0.6. But when I tried to make it it gives me this error. mv -f .deps/nox_main.Tpo .deps/nox_main.Po /bin/sh ../libtool --tag=CXX --mode=link g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -R/usr/local/bin -export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib -Wl,-E -o nox_core components.xsd.o nox.xsd.o nox_main.o ./builtin/.libs/libbuiltin.la ./lib/libnoxcore.la g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -Wl,-E -o .libs/nox_core components.xsd.o nox.xsd.o nox_main.o -Wl,--export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib ./builtin/.libs/libbuiltin.so ./lib/.libs/libnoxcore.so -Wl,--rpath -Wl,/usr/local/bin/builtin -Wl,--rpath -Wl,/usr/local/bin components.xsd.o: In function `~XMLAttDefList': /usr/local/include/xercesc/framework/XMLAttDefList.hpp:158: undefined reference to `xercesc_3_1::XMemory::operator delete(void*)' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x10): undefined reference to `xercesc_3_1::XMLAttDefList::isSerializable() const' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x14): undefined reference to `xercesc_3_1::XMLAttDefList::serialize(xercesc_3_1::XSerializeEngine)' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x18): undefined reference to `xercesc_3_1::XMLAttDefList::getProtoType() const' ./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMElementContentWhitespace' ./lib/.libs/libnoxcore.so: undefined reference to
Re: [nox-dev] dropping packets
Hello ikf. Some months ago I was with a similar issue. I was trying to do a test droping packets. I modified the component called pyswitch.py. This is my post: *Thanks Martin. I was looking the code of pyswitch.py and I found this: # don't forward lldp packets if packet.type == ethernet.LLDP_TYPE: return CONTINUE So, if I want to drop any kind of packet is just to specify its type? Like use packet.type == ethernet.TCP_TYPE to drop packet of tcp protocol? Thank you again for help me. * And he answered: *If you want to drop packets at the controller, then yes, you can simply return CONTINUE in a packet handler after checking the type. If you'd like packets to be dropped at the switch, you should install a flow entry with no actions which matches on the packets you'd like dropped. This is preferable since you don't exhaust bandwidth to the controller for packets which will ultimately be dropped* I don't know if this will help you, but maybe you can try it. Anyway, good luck. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
Hi Ricardo and ikf, Thanks for the refresh. I think ikf was trying to install the flow entry and it is not matching for some reason. But the refresh is definitely useful. Btw, I am replying just to correct a typo. You should return STOP to drop the packets, not CONTINUE. And do check nox.xml or nox.json in src/etc to ensure the order of the component being called by Packet_in_event. It is always cool to see the community chipping in. Allow me to say thanks to everyone that have done so, and hope others will help out too. THANKS. Regards KK On 12 July 2010 08:37, Ricardo Bennesby ricardo.benne...@gmail.com wrote: Hello ikf. Some months ago I was with a similar issue. I was trying to do a test droping packets. I modified the component called pyswitch.py. This is my post: Thanks Martin. I was looking the code of pyswitch.py and I found this: # don't forward lldp packets if packet.type == ethernet.LLDP_TYPE: return CONTINUE So, if I want to drop any kind of packet is just to specify its type? Like use packet.type == ethernet.TCP_TYPE to drop packet of tcp protocol? Thank you again for help me. And he answered: If you want to drop packets at the controller, then yes, you can simply return CONTINUE in a packet handler after checking the type. If you'd like packets to be dropped at the switch, you should install a flow entry with no actions which matches on the packets you'd like dropped. This is preferable since you don't exhaust bandwidth to the controller for packets which will ultimately be dropped I don't know if this will help you, but maybe you can try it. Anyway, good luck. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] [installation-problem] undefined refrence
Dear All, I am still getting this error while installing the NOX. I have checked that xerces is installed successfully. You can see the outcome of the previous post. Now I have to set the path of the libraries. I found that libraries are in that path /home/xerces-c-3.1.1/src/.libs. so I tried to set the path by this command export LD_LIBRARY_PATH=/home/xerces-c-3.1.1/src/.libs and when I run make to install NOX on debian virtual machine. I again get this error. make[5]: Entering directory `/home/nox/build/src/etc' make[5]: Leaving directory `/home/nox/build/src/etc' make[4]: Leaving directory `/home/nox/build/src/etc' make[4]: Entering directory `/home/nox/build/src' /bin/sh ../libtool --tag=CXX --mode=link g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -R/usr/local/bin -export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib -Wl,-E -o nox_core components.xsd.o nox.xsd.o nox_main.o ./builtin/.libs/libbuiltin.la ./lib/libnoxcore.la g++ -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -Wl,-E -o .libs/nox_core components.xsd.o nox.xsd.o nox_main.o -Wl,--export-dynamic -L/usr/lib -lboost_unit_test_framework-gcc42-1_35 -lboost_filesystem-gcc42-1_35 -lssl -L/usr/local/lib ./builtin/.libs/libbuiltin.so ./lib/.libs/libnoxcore.so -Wl,--rpath -Wl,/usr/local/bin/builtin -Wl,--rpath -Wl,/usr/local/bin components.xsd.o: In function `~XMLAttDefList': /usr/local/include/xercesc/framework/XMLAttDefList.hpp:158: undefined reference to `xercesc_3_1::XMemory::operator delete(void*)' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x10): undefined reference to `xercesc_3_1::XMLAttDefList::isSerializable() const' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x14): undefined reference to `xercesc_3_1::XMLAttDefList::serialize(xercesc_3_1::XSerializeEngine)' components.xsd.o:(.rodata._ZTVN11xercesc_3_113XMLAttDefListE[vtable for xercesc_3_1::XMLAttDefList]+0x18): undefined reference to `xercesc_3_1::XMLAttDefList::getProtoType() const' ./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLPlatformUtils::fgMemoryManager' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMElementContentWhitespace' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLString::transcode(char const*, unsigned short*, unsigned int, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `typeinfo for xercesc_3_1::DOMException' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesSchemaFullChecking' ./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLString::transcode(char const*, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercescDefaultLocale' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesUseCachedGrammarInParse' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMErrorHandler' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::Wrapper4InputSource::Wrapper4InputSource(xercesc_3_1::InputSource*, bool, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::MemBufInputSource::MemBufInputSource(unsigned char const*, unsigned int, char const*, bool, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesUserAdoptsDOMDocument' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMNamespaces' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLString::release(char**, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::Wrapper4InputSource::~Wrapper4InputSource()' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_3_1::PanicHandler*, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `typeinfo for xercesc_3_1::XMLException' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::DOMImplementationRegistry::getDOMImplementation(unsigned short const*)' ./builtin/.libs/libbuiltin.so: undefined reference to `xercesc_3_1::XMLString::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgDOMValidate' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::MemBufInputSource::~MemBufInputSource()' ./lib/.libs/libnoxcore.so: undefined reference to `xercesc_3_1::XMLUni::fgXercesSchema' collect2: ld returned 1 exit status make[4]: *** [nox_core] Error 1 make[4]: Leaving directory `/home/nox/build/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving
Re: [nox-dev] dropping packets
Hi KK. Thank you for reply. But just to have sure, in the pyswitch.py component there are originally in lines 140-149: * # don't forward lldp packets if packet.type == ethernet.LLDP_TYPE: return CONTINUE # learn MAC on incoming port do_l2_learning(dpid, inport, packet) forward_l2_packet(dpid, inport, packet, packet.arr, bufid) return CONTINUE * Doesn't it mean that the lldp packets are dropped, because no actions are specified and they are not forward? Thanks again. I agree with you when you say that the community participation is very important. If I'm wrong, please correct me. Regards. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
On 12 July 2010 18:19, Ricardo Bennesby ricardo.benne...@gmail.com wrote: [ snip STOP vs. CONTINUE examples ] Doesn't it mean that the lldp packets are dropped, because no actions are specified and they are not forward? as i understand it, if the packets end up being processed at the controller (nox_core running pyswitch.py in this case), return STOP will cause them to drop, and return CONTINUE will cause them to continue to be processed and thus forwarded. installing the flow entry at the switch (datapath) causes them not to even reach the controller in future unless so directed by the flow entry's action. (i also had similar problems when setting all this up on a single machine managing a single ethernet interface, but they went away once i moved to openvswitch, albeit to be replaced by other ones which i'm still in the process of understanding :) cheers, -- Richard Mortier m...@cantab.net ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
Hi, Yes. return CONTINUE passes it to the next component and return STOP prevents the next component from getting it. This is true for both C/C++ components and Python components. Regards KK On 12 July 2010 10:40, Richard Mortier m...@cantab.net wrote: On 12 July 2010 18:19, Ricardo Bennesby ricardo.benne...@gmail.com wrote: [ snip STOP vs. CONTINUE examples ] Doesn't it mean that the lldp packets are dropped, because no actions are specified and they are not forward? as i understand it, if the packets end up being processed at the controller (nox_core running pyswitch.py in this case), return STOP will cause them to drop, and return CONTINUE will cause them to continue to be processed and thus forwarded. installing the flow entry at the switch (datapath) causes them not to even reach the controller in future unless so directed by the flow entry's action. (i also had similar problems when setting all this up on a single machine managing a single ethernet interface, but they went away once i moved to openvswitch, albeit to be replaced by other ones which i'm still in the process of understanding :) cheers, -- Richard Mortier m...@cantab.net ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] dropping packets
Hi KK and Richard, Thank you for the answers. I understand it better now. Regards. ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] NOX compilation error
and I'd try removing the existing libboost package first (looks it's there) before reinstalling. That's to avoid getting the 'already installed' message in case of a broken installation On Mon, Jul 12, 2010 at 8:04 AM, kk yap yap...@stanford.edu wrote: Hi Nikhil, More specifically, you can try libbooost-dev, libboost-filesystem-dev and libboost-test-dev. Regards KK On 12 July 2010 03:55, James Murphy McCauley jam...@nau.edu wrote: I am guessing this is a bug in the autoconf boost detection code. I'd try the following: First, apt-get install libboost-all-dev If that doesn't work, try manually setting the boost paths with the appropriate configure options (--with-boost=path and friends). If that still doesn't work, could you post your config.log (or the tail end of it anyway)? -- Murphy On Mon, 2010-07-12 at 01:50 -0700, Nikhil Handigol wrote: I recently tried a fresh NOX installation from the noxrepo git repo on Ubuntu 10.04. ./configure --with-python=yes fails with an error: configure: error: Could not link against ! The last few lines of the output are: checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for fdatasync... yes checking for ppoll... yes checking for boostlib = 1.34.1... yes checking whether the Boost::Filesystem library is available... yes configure: error: Could not link against ! This is most likely not a NOX problem, as I have compiled the source multiple times in the past, but on Debian machines. If anyone has encountered a similar problem on Ubuntu and managed to fix it, please let me know. Thanks, Nikhil ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] NOX compilation error
HI, Installing libboost-all-dev did the trick for me. Thanks, Nikhil On Mon, Jul 12, 2010 at 11:13 AM, Kyriakos Zarifis kyr.zari...@gmail.comwrote: and I'd try removing the existing libboost package first (looks it's there) before reinstalling. That's to avoid getting the 'already installed' message in case of a broken installation On Mon, Jul 12, 2010 at 8:04 AM, kk yap yap...@stanford.edu wrote: Hi Nikhil, More specifically, you can try libbooost-dev, libboost-filesystem-dev and libboost-test-dev. Regards KK On 12 July 2010 03:55, James Murphy McCauley jam...@nau.edu wrote: I am guessing this is a bug in the autoconf boost detection code. I'd try the following: First, apt-get install libboost-all-dev If that doesn't work, try manually setting the boost paths with the appropriate configure options (--with-boost=path and friends). If that still doesn't work, could you post your config.log (or the tail end of it anyway)? -- Murphy On Mon, 2010-07-12 at 01:50 -0700, Nikhil Handigol wrote: I recently tried a fresh NOX installation from the noxrepo git repo on Ubuntu 10.04. ./configure --with-python=yes fails with an error: configure: error: Could not link against ! The last few lines of the output are: checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for fdatasync... yes checking for ppoll... yes checking for boostlib = 1.34.1... yes checking whether the Boost::Filesystem library is available... yes configure: error: Could not link against ! This is most likely not a NOX problem, as I have compiled the source multiple times in the past, but on Debian machines. If anyone has encountered a similar problem on Ubuntu and managed to fix it, please let me know. Thanks, Nikhil ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org -- /\/ ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
[nox-dev] nox
First of all, I would like to introduce myself that I am Vu Huong, an undergraduate of Faculty of Electronics and Telecommunications, Hanoi University of Technology in Vietnam. I am in charge of researching about NOX in open flow network, such as, module of nox, module that has someone setting up, However, I haven't got much experience in the issue since I have just started the project for a short time. As I have found you and your expertise from the website noxrepo.org, it would be great if you could do me a favor: where should I start? which of reference should I study,for example, white paper, website... Thank you very much in advance I am looking forward to your response Best regards, Vu Huong ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Trouble during make
I think this problem is just due to nox 0.5 (in the noxcore repo) not supporting xerces 3. This was addressed in nox 0.6. And in the future, the dependency on xerces will be removed. So any way you slice it -- yes, this has been resolved. If for some reason you really need nox 0.5, you can just install and build against xerces 2 (you may have to point at it when you run configure if you leave xerces 3 installed). Or -- since it doesn't look like the interface has changed at all -- you should be able to just copy the nox 0.6 version of xml-util.cc into nox 0.5. -- Murphy On Mon, 2010-07-12 at 11:36 -0700, Nikhil Handigol wrote: Has this issue been resolved? I get exactly the same error when I try to compile nox from git://noxrepo.org/noxcore. I can compile nox from git://noxrepo.org/nox just fine. I've attached my config.log. Thanks, Nikhil On Tue, Jan 12, 2010 at 9:17 PM, Martin Casado cas...@nicira.com wrote: It seems like xerces isn't being picked up. Can you send me your config.log? thanks. .m Dear Sir or Madam, Recently, I'm setting environment for openflow switches. But I have encountered some trouble when I install the NOX as follows: My software environment: Linux Ubuntu 9.10 Xerces C++ parser 3.1.0 Twisted 9.0.0 Mako 0.2.5 Boost C++ lib 1.41.0 Python 2.5 Swig 1.3.40 I have done some things successfully shown below: git clone git://noxrepo.org/nox cd nox *autoreconf --install --force* *mkdir build cd build/ ../configure --with-python=yes --enable-ndebug * However, when I try make, I get the following error: ... ... libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../src/lib -I../.. -DPKGDATADIR= \/usr/local/share/nox\ -DPKGLIBDIR= \/usr/local/bin/lib\ -DPKGLOCALSTATEDIR= \/usr/local/var/nox\ -DPKGSYSCONFDIR= \/usr/local/etc/nox\ -include ../../config.h -I ../../../src/include -I../../../src/include/openflow -I/usr/include -D_GNU_SOURCE=1 -g -DNDEBUG -D_REENTRANT -D__STDC_LIMIT_MACROS=1 -D__STDC_FORMAT_MACROS=1 -D__STDC_CONSTANT_MACROS=1 -I/usr/local/include/python2.6 -I../../../src/include/openflow -I../../../src/nox -fno-omit-frame-pointer -Wall -Wno-sign-compare -Winit-self -Wformat-nonliteral -Wformat-security -g -O2 -MT xml-util.lo -MD -MP -MF .deps/xml-util.Tpo -c ../../../src/lib/xml-util.cc -fPIC -DPIC -o .libs/xml-util.o ../../../src/lib/xml-util.cc:75: error: expected initializer before ‘*’ token ../../../src/lib/xml-util.cc:144: error: expected ‘}’ at end of input ../../../src/lib/xml-util.cc:144: error: expected ‘}’ at end of input make[5]: *** [xml-util.lo] Error 1 make[5]: Leaving directory `/home/sxia01/noxcore/build/src/lib' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/sxia01/noxcore/build/src/lib' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/sxia01/noxcore/build/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/sxia01/noxcore/build/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/sxia01/noxcore/build' make: *** [all] Error 2 For these reason, I cannot get nox_core, by which I start NOX, in the /noxcore/build/src/. I have found on google for three days, but I could not find any solutions. Please help me. I'm looking forward to your reply. Thanks, Sumin Xia ___ nox-dev mailing list nox-dev@noxrepo.org