1#include "defs.h" 2 3static int igmpSState = 0; 4 5// Local function Prototypes 6int igmpProxyInit(); 7void igmpProxyCleanUp(); 8 9void 10setIgmpSState(int state) 11{ 12 igmpSState = state; 13} 14 15int 16getIgmpSState() 17{ 18 return igmpSState; 19} 20 21/** 22* Handles the initial startup of IGMP SNOOPING 23*/ 24int 25igmpSnoopInit() 26{ 27 atlog(LOG_DEBUG, 0, "igmpSnoopInit..."); 28 initFdbTable(); 29// enableHwIGMPS(); 30 31 //Disable unknown multicast packets over vlans. 32 // marked by Kane, to avoid switch block ipv6 packets 33// setMultiOnVlan(0); 34 35 //Insert 224.0.0.1 into ARL table 36 addMFdb(0xe0000001,30); 37 38 //initSnoopBr(); 39 40 return 1; 41} 42 43/** 44* Clean up all on exit... 45*/ 46void 47igmpSnoopCleanUp() 48{ 49 atlog(LOG_DEBUG, 0, "igmpSnoopCleanUp..."); 50 //clearSnoopBr(); 51 52 //Enable unknow multicaset packets over vlans. 53 // marked by Kane, to avoid switch block ipv6 packets 54// setMultiOnVlan(1); 55 56 // delete 224.0.0.1 from ARL table. 57 delMFdb(0xe0000001); 58 59 clearAllFdbs(); 60 disableHwIGMPS(); 61 62} 63