void cmd_promisc(int argc, char **argv) { int duration; #if CONFIG_INIC_CMD_RSP inic_frame_tail = inic_frame = pvPortMalloc(sizeof(struct inic_eth_frame)*MAX_INIC_FRAME_NUM); if(inic_frame == NULL){ inic_c2h_msg("ATWM", RTW_BUFFER_UNAVAILABLE_TEMPORARY, NULL, 0); return; } #endif #ifdef CONFIG_PROMISC wifi_init_packet_filter(); #endif if((argc == 2) && ((duration = atoi(argv[1])) > 0)) //promisc_test(duration, 0); promisc_test_all(duration, 0); else if((argc == 3) && ((duration = atoi(argv[1])) > 0) && (strcmp(argv[2], "with_len") == 0)) promisc_test(duration, 1); else printf("\n\rUsage: %s DURATION_SECONDS [with_len]", argv[0]); #if CONFIG_INIC_CMD_RSP if(inic_frame) vPortFree(inic_frame); inic_frame_tail = NULL; inic_frame_cnt = 0; #endif }
void cmd_promisc(int argc, char **argv) { int duration; #ifdef CONFIG_PROMISC wifi_init_packet_filter(); #endif if((argc == 2) && ((duration = atoi(argv[1])) > 0)) //promisc_test(duration, 0); promisc_test_all(duration, 0); else if((argc == 3) && ((duration = atoi(argv[1])) > 0) && (strcmp(argv[2], "with_len") == 0)) promisc_test(duration, 1); else printf("\n\rUsage: %s DURATION_SECONDS [with_len]", argv[0]); }
void filter_add_enable(){ u8 mask[MASK_SIZE]={0xFF,0xFF,0xFF}; u8 pattern[MASK_SIZE]={0x01,0x00,0x5e}; rtw_packet_filter_pattern_t packet_filter; rtw_packet_filter_rule_e rule; packet_filter.offset = 0; packet_filter.mask_size = 3; packet_filter.mask = mask; packet_filter.pattern = pattern; rule = RTW_POSITIVE_MATCHING; wifi_init_packet_filter(); wifi_add_packet_filter(1, &packet_filter,rule); wifi_enable_packet_filter(1); }