On ΧΤ, 2004-03-02 at 11:26 +0300, Gleb Smirnoff wrote: (missed CCs) Hi > Currently I'm working on my Netflow implementation, and I have faced the > following problem: I've already got global routing in my routing table, but it > lacks AS (Autonomous System) information. The routing daemon (zebra in my case) > already knows ASes, but this informations is lost when routing information is > injected into kernel. It'll be nice to add AS path to struct rtentry. > Seems like there is no problem with extending struct rtentry, but injecting > this info from userland requires changes to routing API. I see two ways of > implementing it: What for you need have as-path in FIB (forwarding information base) ? If you are going to do as-path policy routing then , I think, it is invalid solution, because on next step you will import community-list into FIB, and etc. IMHO, Better solution will be ability to refer from route entry some additional route information block, and then (on phase of routing decision) examine this block by loadable routing decisions modules. So, any 3rd-party software (like zebra) will install it's own routing decisions module(s) and supply additional routing information blocks (not stored in rtentry). Anyway kernel still should have ability to add more then one entry for single prefix to FIB. > 1) Simply add new field into struct rt_msghdr, and bump RTM_VERSION. I have > done this, it works. But I don't like it, since RTM_VERSION has changed. > 2) Create new sockaddr, called sockaddr_aspath. Define RTAX_ASPATH, increase > RTAX_MAX. Pass this sockaddr_aspath in rti_info[] array of a routing message > into kernel. Unparse it in the kernel, fill in new field of struct rtentry. > > While I haven't yet started working on 2), I'd be very glad to hear comments > from FreeBSD developers. Thanks in advance. > > -- > Totus tuus, Glebius. > GLEBIUS-RIPN GLEB-RIPEReceived on Tue Mar 02 2004 - 01:05:18 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:45 UTC