new clients rc.66 on the server

Carter Bullard carter at qosient.com
Fri Dec 28 18:14:51 EST 2007


The ip address for the -C option is the address of the local interface
that you want to listen to.  It must be the same address that the
netflow records are being sent to.  So it should be the IP address
on your local machine.

Carter

On Dec 28, 2007, at 2:12 PM, Peter Van Epp wrote:

> On Thu, Dec 27, 2007 at 03:52:33PM -0500, Carter Bullard wrote:
>> Gentle people,
>> I have upload
>>  ftp://qosient.com/dev/argus-3.0/argus-clients-3.0.0.rc.66.tar.gz
>>
>> This fixes all reported bugs except the GRE flow parsing problem.
>> The bugs include:
>>  clients can now be compiled without threads support (.threads
>> tagfile).
>>  netflow interface binding  -  this has caused us to change the
>>     command line interface for specifying Cisco data sources
>>     using the -C option.   Now the -C option acts much like the
>>     -S option now, where you specify a host and port pair for
>>     where the data will come from ( so -CS host:port is now -C
>> host:port).
>>     Please see the man page for ra() to see the changes.
>>
>>  racluster RACLUSTER_AUTO_CORRECTION=no parsing fixed.
>>  ra() not printing data by default.  this is now fixed.
>>  ragrep() fixes for specifying hex patterns in regular expression.
>>  rahisto() keywords for rate and load are now correct.
>>
>> Plus a number of undocumented issues in documentation.
>> Please take a look at this release candidate and see if it addresses
>> your particular issue.
>>
>> Thanks, and I hope all had a wonderful holiday!!!!!!
>>
>> Carter
>>
>>
>>
>
> 	Closer but still no cookie (at least here :-). On rc.66:
>
> vanepp at sniffer1:~> gdb ra3
> GNU gdb 6.5
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and  
> you are
> welcome to change it and/or distribute copies of it under certain  
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for  
> details.
> This GDB was configured as "ppc-suse-linux"...Using host  
> libthread_db library "/lib/power5+/libthread_db.so.1".
>
> (gdb) l ArgusGetServerSocket
> ...
> (gdb) r -C 192.75.244.195:1025 -n
> Starting program: /usr/local/bin/ra3 -C 192.75.244.195:1025 -n
> [Thread debugging using libthread_db enabled]
> [New Thread -134574080 (LWP 3910)]
> [Switching to Thread -134574080 (LWP 3910)]
>
> Breakpoint 1, ArgusGetServerSocket (input=0xf7f48008, timeout=5)
>   at ./argus_client.c:2256
> 2256             if (hp != NULL)
> (gdb) l
> 2251             } while (hp && (retn < 0));
> 2252             break;
> 2253          }
> 2254
> 2255          case ARGUS_CISCO_DATA_SOURCE: {
> 2256             if (hp != NULL)
> 2257                s = socket (hp->ai_family, hp->ai_socktype, hp- 
> >ai_protocol);
> 2258             else
> 2259                s = socket (AF_INET, SOCK_DGRAM, 0);
> 2260
> (gdb) l
> 2261             if (s >= 0) {
> 2262                if (hp != NULL) {
> 2263                   if (getnameinfo(hp->ai_addr, hp->ai_addrlen,  
> hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST |  
> NI_NUMERICSERV))
> 2264                      ArgusLog(LOG_ERR, "could not get numeric  
> hostname");
> 2265
> 2266                   if (hp->ai_canonname) {
> 2267                      if (input->hostname)
> 2268                         free(input->hostname);
> 2269                      input->hostname = strdup(hp->ai_canonname);
> 2270                   } else {
> (gdb) l
> 2271                      if (input->hostname)
> 2272                         free(input->hostname);
> 2273                      input->hostname = strdup(hbuf);
> 2274                   }
> 2275
> 2276                   if (hp->ai_socktype == SOCK_DGRAM) {
> 2277    #ifdef ARGUSDEBUG
> 2278                      ArgusLog (1, "Binding %s:%s Expecting %s  
> records", input->hostname, sbuf, ArgusRecordType);
> 2279    #endif
> 2280                      if ((retn = bind (s, hp->ai_addr, hp- 
> >ai_addrlen)) < 0) {
> (gdb) l
> 2281                         ArgusLog(LOG_WARNING, "connect to %s:%s  
> failed '%s'", input->hostname, sbuf, strerror(errno));
> 2282                         hp = hp->ai_next;
> 2283                      } else {
> 2284                         retn = s;
> 2285                         input->fd = s;
> 2286                      }
> 2287
> 2288                   } else {
> 2289                      if (setsockopt(s, SOL_SOCKET,  
> SO_KEEPALIVE, (char *)&optval, sizeof(int)) < 0) {
> 2290    #ifdef ARGUSDEBUG
> (gdb) b 2280
> Breakpoint 2 at 0x1005a5bc: file ./argus_client.c, line 2280.
> (gdb) c
> Continuing.
> ra3[3910]: 07-12-28 11:02:49 Binding 192.75.244.195:1025 Expecting  
> Netflow records
>
> Breakpoint 2, ArgusGetServerSocket (input=0xf7f48008, timeout=5)
>   at ./argus_client.c:2280
> 2280                      if ((retn = bind (s, hp->ai_addr, hp- 
> >ai_addrlen)) < 0) {
> (gdb) print *hp
> $3 = {ai_flags = 0, ai_family = 2, ai_socktype = 2, ai_protocol = 17,
> ai_addrlen = 16, ai_addr = 0x101f5298, ai_canonname = 0x0, ai_next =  
> 0x0}
> (gdb) print *hp->ai_addr
> $4 = {sa_family = 2, sa_data = "\004\001 at KtC 
> \000\000\000\000\000\000\000"}
> (gdb) s
> 2281                         ArgusLog(LOG_WARNING, "connect to %s:%s  
> failed '%s'", input->hostname, sbuf, strerror(errno));
> (gdb)
> ra3[3910]: 07-12-28 11:04:38 connect to 192.75.244.195:1025 failed  
> 'Cannot assign requested address'
>
> Program exited normally.
>
> 	So unless I don't understand what is wanted (I'm assuming the remote
> netflow host ip and port number) there looks to be something still  
> wrong. As
> usual this is Linux on PPC 64 bit without threads (although gdb  
> claims it is
> using the threads librarys it does seem to be a single thread).
>
> Peter Van Epp / Operations and Technical Support
> Simon Fraser University, Burnaby, B.C. Canada
>




More information about the argus mailing list