Hi Arc,
What kind of traffic throughput is the kernel module capable of? Does the module multithread properly for multicore utilization? Would a FPGA variant be needed to have a "mesh switch" or would a high-end multicore ARM be reasonably able to handle say an 8-port gigabit mesh switch?
Concerning the multithreading of the batman daemon, if batman supports multi- threads, you can distribute this on different cores definitely:
Concerning FPGA and the batman daemon (both userspace and kernelspace), it will depend on the FPGA you want to use (FPGAs from the two major vendors, Xilinx and Altera, are divided into two families based on the number of logical gates they have - huge Xilinx VIRTEX5 and coming 6 are even embarking one or event 2 PowerPCs next to the FPGA gates). Large FPGAs could embark part of the daemon in the CPU hardwired in the chip and the rest (for instance intensive functions like packet routing and filtering). Small FPGAs would run the daemon in the softcore (OpenRISC, Microblaze, aEMB) either "userspace" or "kernelspace" in the softcore or directly with the daemon in low level langage (VHDL or VERILOG) after porting the C code into this HDL langages. Core- networking routers from CISCO, JUNIPER are loaded with FPGAs to process the packet filtering and routing the closest from the physical layer.
Concerning ARM and 8-port gigabit mesh switch, the power of even a coming multicore ARM13 would not be sufficient to run the packet routing and filtering for the 8xGigabits ports. ARM had been primarly developed for embedded devices and not for powerful applications such as switching and routing.
Xavier.