Patch for injecting information network->as_number from extrernal
sources (RIPE database, for example) into kernel and filling src and dst
AS-number in Netflow v5 datagrams.
+ o1=(htonl(rec->src_addr)>>24)&0xFF;
+ o2=(htonl(rec->src_addr)>>16)&0xFF;
+ o3=(htonl(rec->src_addr)>>8)&0xFF;
+ o4=(htonl(rec->src_addr))&0xFF;
+ a1=GetAsnumber(aaa,o1,o2,o3,o4);
Why do you need o* here?
Per-byte presentation of IPV4-address required because scheme of
storing based on it.
Why not using in_addr in GetAsnumber()?
Why you are using 255 as multiplier ?
255 - width of array. It's access to two-dimensonal array.
MALLOC(asn[255*i1+i2].ptr_low,struct ascelllow*, sizeof(struct
ascelllow),M_NETFLOW_HASH,M_NOWAIT);
^^ malloc() with M_WAITOK can be used here.
Ok, will be done.
You should support at least loading 32-bit ASNs (and convert them to
23456 for v5 export).
Ok, will be done.
+ case NGM_NETFLOW_DELETENETFROMAS:
+ {
+ break;
+ }
You should probably support deleting prefixes :)
"Global" delete (when destroing node) support now. But "partial"
deleting support need too, you're right.
+struct ascellhigh {
+ struct ascelllow* ptr_low;
+};
Do we need another layer here?
Current scheme was optimized for fast_search/small_memory_utilization
for IPV4-table. I suppose that for IPV6 we need something another.
While v5 export supports IPv4 and 2-byte ASNs only it is probably much
better to include IPv6 support at least in NGM_ messages ( like
ng_ksocket do ).
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"