diff options
author | Ravi Gummadidala <rgummadi@codeaurora.org> | 2013-03-07 21:42:25 -0800 |
---|---|---|
committer | Ravi Gummadidala <rgummadi@codeaurora.org> | 2013-03-07 23:11:25 -0800 |
commit | 18067b91fbc19838bd4c4abdd77a21e87be638d7 (patch) | |
tree | d0770626791e0855780851adeafac7d44f1b7f43 /ipanat | |
parent | fe84c855cb867cfd5e7e266503c0b1f922314b4a (diff) | |
download | ipacfg-mgr-18067b91fbc19838bd4c4abdd77a21e87be638d7.tar.gz |
Additional fixes from bring-up:
1. added support for wlan events
2. disabled wlan power events
3. fixed issues found during testing
4. changed dump messages format of ipa nat table
Change-Id: I6d2b3caeb2061db0a59ccd843606e05901533f76
Diffstat (limited to 'ipanat')
-rw-r--r-- | ipanat/inc/ipa_nat_drvi.h | 3 | ||||
-rw-r--r-- | ipanat/inc/ipa_nat_logi.h | 6 | ||||
-rw-r--r-- | ipanat/src/ipa_nat_drvi.c | 106 |
3 files changed, 28 insertions, 87 deletions
diff --git a/ipanat/inc/ipa_nat_drvi.h b/ipanat/inc/ipa_nat_drvi.h index 9b56cf1..25309e1 100644 --- a/ipanat/inc/ipa_nat_drvi.h +++ b/ipanat/inc/ipa_nat_drvi.h @@ -466,9 +466,8 @@ void ipa_nati_del_dead_ipv4_head_nodes(uint8_t tbl_indx); ========================================================*/ #ifdef NAT_DUMP void ipa_nati_print_rule(struct ipa_nat_rule *rule, uint32_t rule_id); -void ipa_nati_dump_rule_buf(void *param1, uint8_t size, uint32_t rule_id); void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl); -void ipa_nati_dump_index_rule_buf(void *param1, uint8_t size, uint32_t rule_id); +void ipa_nati_print_index_rule(struct ipa_nat_indx_tbl_rule *param, uint32_t rule_id); #endif #endif /* #ifndef IPA_NAT_DRVI_H */ diff --git a/ipanat/inc/ipa_nat_logi.h b/ipanat/inc/ipa_nat_logi.h index 0ffa672..e98445a 100644 --- a/ipanat/inc/ipa_nat_logi.h +++ b/ipanat/inc/ipa_nat_logi.h @@ -69,6 +69,12 @@ extern "C" log_nat_message(nat_log_buf);\ } +#define IPADUMP(fmt, ...) {\ + int n =0; \ + snprintf((nat_log_buf+n), (sizeof(nat_log_buf)-1), fmt, ##__VA_ARGS__);\ + log_nat_message(nat_log_buf);\ + } + extern void log_nat_message(char *msg); extern char nat_log_buf[NAT_LOG_SIZE]; diff --git a/ipanat/src/ipa_nat_drvi.c b/ipanat/src/ipa_nat_drvi.c index d542a88..106abac 100644 --- a/ipanat/src/ipa_nat_drvi.c +++ b/ipanat/src/ipa_nat_drvi.c @@ -797,7 +797,9 @@ int ipa_nati_alloc_table(uint16_t number_of_entries, /* Calclate the memory size for both table and index table entries */ mem->size = (IPA_NAT_TABLE_ENTRY_SIZE * total_entries); + IPADBG("Nat Table size: %d\n", mem->size); mem->size += (IPA_NAT_INDEX_TABLE_ENTRY_SIZE * total_entries); + IPADBG("Nat Base and Index Table size: %d\n", mem->size); if (!ipv4_nat_cache.ipa_fd) { @@ -2220,9 +2222,6 @@ void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl) { atl_one = 1; ipa_nati_print_rule(&tbl_ptr[cnt], cnt); - ipa_nati_dump_rule_buf(&tbl_ptr[cnt], - sizeof(struct ipa_nat_rule), - cnt); } } if(!atl_one) @@ -2243,9 +2242,6 @@ void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl) ENABLE_FIELD)) { ipa_nati_print_rule(&tbl_ptr[cnt], cnt); - ipa_nati_dump_rule_buf(&tbl_ptr[cnt], - sizeof(struct ipa_nat_rule), - cnt); } } if(!atl_one) @@ -2265,9 +2261,8 @@ void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl) if (Read16BitFieldValue(indx_tbl_ptr[cnt].tbl_entry_nxt_indx, INDX_TBL_TBL_ENTRY_FIELD)) { - ipa_nati_dump_index_rule_buf(&indx_tbl_ptr[cnt], - sizeof(struct ipa_nat_indx_tbl_rule), - cnt); + ipa_nati_print_index_rule(&indx_tbl_ptr[cnt], cnt); + //ipa_nati_dump_index_rule_buf(&indx_tbl_ptr[cnt], sizeof(struct ipa_nat_indx_tbl_rule), cnt); } } if(!atl_one) @@ -2288,9 +2283,8 @@ void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl) if (Read16BitFieldValue(indx_tbl_ptr[cnt].tbl_entry_nxt_indx, INDX_TBL_TBL_ENTRY_FIELD)) { - ipa_nati_dump_index_rule_buf(&indx_tbl_ptr[cnt], - sizeof(struct ipa_nat_indx_tbl_rule), - cnt); + ipa_nati_print_index_rule(&indx_tbl_ptr[cnt], cnt); + //ipa_nati_dump_index_rule_buf(&indx_tbl_ptr[cnt], sizeof(struct ipa_nat_indx_tbl_rule), cnt); } } if(!atl_one) @@ -2301,87 +2295,29 @@ void ipa_nat_dump_ipv4_table(uint32_t tbl_hdl) } - -void ipa_nati_dump_rule_buf(void *param1, uint8_t size, uint32_t rule_id) -{ - int cnt = 0; - uint8_t temp[IPA_NAT_TABLE_ENTRY_SIZE]; - uint64_t *rule = NULL; - - memcpy(&temp, param1, sizeof(temp)); - rule = (uint64_t *)temp; - - IPADBG("Address :%p, rule id: %d size: %d\n", - rule, rule_id, size); - for(; cnt<size; ) - { - uint8_t *byte = (uint8_t *)rule; - - IPADBG("uint64[%d]: 0x%x:\n", cnt, (unsigned int)rule); - IPADBG("%02x\t%02x\t%02x\t%02x\n", byte[0], byte[1], byte[2], byte[3]); - IPADBG("%02x\t%02x\t%02x\t%02x\n", byte[4], byte[5], byte[6], byte[7]); - - cnt += 8; - rule++; - } - - return; -} - -void ipa_nati_dump_index_rule_buf(void *param1, uint8_t size, uint32_t rule_id) +void ipa_nati_print_rule(struct ipa_nat_rule *param, uint32_t rule_id) { - int cnt = 0; - uint8_t temp[IPA_NAT_INDEX_TABLE_ENTRY_SIZE]; - uint16_t *rule = NULL; - - memcpy(&temp, param1, sizeof(temp)); - rule = (uint16_t *)temp; - - IPADBG("Address :%p, rule id: %d size: %d\n", - rule, rule_id, size); - - for(; cnt<size; ) - { - uint8_t *byte = (uint8_t *)rule; - - IPADBG("uint64[%d]: 0x%x:\n", cnt, (unsigned int)rule); - IPADBG("%02x\t%02x\n", byte[0], byte[1]); - IPADBG("\n"); - - cnt += 2; - rule++; - } + struct ipa_nat_sw_rule sw_rule; + memcpy(&sw_rule, param, sizeof(sw_rule)); + IPADUMP("rule-id:%d Trgt-IP:0x%x Trgt-Port:0x%x ",rule_id, sw_rule.target_ip, sw_rule.target_port); + IPADUMP("Priv-IP:0x%x Priv-Port:0x%x ", sw_rule.private_ip, sw_rule.private_port); + IPADUMP("Pub-Port:0x%x Nxt-indx:0x%x ", sw_rule.public_port, sw_rule.next_index); + IPADUMP("IP-cksm:0x%x En-bit:0x%x ", sw_rule.ip_chksum, sw_rule.enable); + IPADUMP("TS:0x%x Proto:0x%x ", sw_rule.time_stamp, sw_rule.protocol); + IPADUMP("Prv-indx:0x%x nxt-indx:0x%x Tcp-udp-cksum:0x%x", sw_rule.prev_index, sw_rule.next_index, sw_rule.tcp_udp_chksum); + IPADUMP("\n"); return; } -void ipa_nati_print_rule(struct ipa_nat_rule *param, uint32_t rule_id) +void ipa_nati_print_index_rule(struct ipa_nat_indx_tbl_rule *param, uint32_t rule_id) { - struct ipa_nat_sw_rule sw_rule; + struct ipa_nat_sw_indx_tbl_rule sw_rule; memcpy(&sw_rule, param, sizeof(sw_rule)); - IPADBG("Printing NAT Rule:%d at memory location:%p\n", rule_id, param); - - IPADBG("Target IP: 0x%x Target Port: 0x%x\n", - sw_rule.target_ip, sw_rule.target_port); - - IPADBG("Private IP: 0x%x Private Port: 0x%x\n", - sw_rule.private_ip, sw_rule.private_port); - - IPADBG("Public Port: 0x%x Next index: 0x%x\n", - sw_rule.public_port, sw_rule.next_index); - - IPADBG("IP ChkSum: 0x%x Enable bit: 0x%x\n", - sw_rule.ip_chksum, sw_rule.enable); - - IPADBG("Time Stamp: 0x%x Protocol: 0x%x\n", - sw_rule.time_stamp, sw_rule.protocol); - - IPADBG("Prev Index: 0x%x Next Index: 0x%x\n", - sw_rule.prev_index, sw_rule.next_index); - - IPADBG("TCP UDP Chksum: 0x%x\n", sw_rule.tcp_udp_chksum); - + IPADUMP("rule-id:%d Table_entry:0x%x Next_index:0x%x", + rule_id, sw_rule.tbl_entry, sw_rule.next_index); + IPADUMP("\n"); return; } #endif |