[Bro-Dev] declaration error: &default function type clash

Aashish Sharma asharma at lbl.gov
Thu May 12 10:12:41 PDT 2016


Jan, 

> I guess the function for initialization receives the index that should
> be initialized. 

Thank you. This works! 

For future reference:

I also needed to convert the following table to use opaque of cardinality for this table grows reasonably big: 

global distinct_backscatter_peers: table[addr] of table[port] of set[addr] &read_expire=1 day;


Here is how I did this one: 

type bs: table[port] of opaque of cardinality &default=function(p:port): opaque of cardinality {return hll_cardinality_init(0.1, 0.95); };
global c_distinct_backscatter_peers: table[addr] of bs  &read_expire=1 day ;

and to access: 


        if ( orig !in c_distinct_backscatter_peers)
                c_distinct_backscatter_peers[orig] = table() ;

	if (s_port !in c_distinct_backscatter_peers[orig])
       	{
       		local cp: opaque of cardinality = hll_cardinality_init(0.1, 0.95);
               	c_distinct_backscatter_peers[orig][s_port]=cp ;
	}

       	hll_cardinality_add(c_distinct_backscatter_peers[orig][s_port], resp);

       	local d_val = double_to_count(hll_cardinality_estimate(c_distinct_backscatter_peers[orig][s_port]));

	### use d_val here .... 


Now may be there is a better more elegant way to do this, but above seems to work for me.

Again, thanks Jan!! 

Aashish 





On Thu, May 12, 2016 at 04:36:36PM +0200, Jan Grashöfer wrote:
> > how do I declare (3) so that I can avoid the "&default function type clash"  error above.
> 
> I guess the function for initialization receives the index that should
> be initialized. In this case the index consists of two values. I tried
> the following and Bro did not complain:
> 
> global c_likely_scanner: table[addr,port] of opaque of cardinality
>         &default = function(a: addr, p: port): opaque of cardinality {
> return hll_cardinality_init(0.1, 0.95); }
>         &read_expire=1 day;
> 
> Hope that works for you!
> 
> Regards,
> Jan
> _______________________________________________
> bro-dev mailing list
> bro-dev at bro.org
> http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev


More information about the bro-dev mailing list