Skip to content

Commit 948e235

Browse files
committed
Rename neighnat-only functions to reflect that fact
1 parent d774212 commit 948e235

File tree

4 files changed

+25
-36
lines changed

4 files changed

+25
-36
lines changed

include/dp_nat.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,13 @@ int dp_nat_chg_ipv4_to_ipv6_hdr(struct dp_flow *df, struct rte_mbuf *m, const un
9999

100100
void dp_del_vip_from_dnat(uint32_t d_ip, uint32_t vni);
101101

102-
int dp_add_network_nat_entry(uint32_t nat_ipv4,
103-
uint32_t vni, uint16_t min_port, uint16_t max_port,
104-
const union dp_ipv6 *ul_ipv6);
102+
int dp_add_neighnat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port,
103+
const union dp_ipv6 *ul_ipv6);
105104

106-
int dp_del_network_nat_entry(uint32_t nat_ipv4,
107-
uint32_t vni, uint16_t min_port, uint16_t max_port);
105+
int dp_del_neighnat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port);
108106

109107
int dp_allocate_network_snat_port(struct snat_data *snat_data, struct dp_flow *df, uint32_t vni);
110-
const union dp_ipv6 *dp_lookup_network_nat_underlay_ip(struct dp_flow *df);
108+
const union dp_ipv6 *dp_lookup_neighnat_underlay_ip(struct dp_flow *df);
111109
int dp_remove_network_snat_port(const struct flow_value *cntrack);
112110

113111
int dp_list_nat_local_entries(uint32_t nat_ip, struct dp_grpc_responder *responder);

src/dp_nat.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ static struct rte_hash *ipv4_snat_tbl = NULL;
3333

3434
static struct rte_hash *ipv4_netnat_portmap_tbl = NULL;
3535
static struct rte_hash *ipv4_netnat_portoverload_tbl = NULL;
36-
static struct nat_head nat_headp;
36+
static struct nat_head neighnat_head;
3737

3838
static uint64_t dp_nat_full_log_delay;
3939

@@ -61,7 +61,7 @@ int dp_nat_init(int socket_id)
6161
if (!ipv4_netnat_portoverload_tbl)
6262
return DP_ERROR;
6363

64-
TAILQ_INIT(&nat_headp);
64+
TAILQ_INIT(&neighnat_head);
6565

6666
dp_nat_full_log_delay = rte_get_timer_hz() * DP_NAT_FULL_LOG_DELAY;
6767

@@ -521,20 +521,20 @@ void dp_del_vip_from_dnat(uint32_t d_ip, uint32_t vni)
521521
struct nat_entry *entry;
522522

523523
// only delete the DNAT entry when this is the only range present for this IP
524-
// (i.e. if there still is an entry in the list, do nothing!)
525-
for (entry = TAILQ_FIRST(&nat_headp); entry != NULL; entry = TAILQ_NEXT(entry, entries))
524+
// (i.e. if there still is a neighnat entry in the list, do nothing!)
525+
for (entry = TAILQ_FIRST(&neighnat_head); entry != NULL; entry = TAILQ_NEXT(entry, entries))
526526
if (entry->vni == vni && entry->nat_ip == d_ip)
527527
return;
528528

529529
dp_del_dnat_ip(d_ip, vni);
530530
}
531531

532-
int dp_add_network_nat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port,
533-
const union dp_ipv6 *ul_ipv6)
532+
int dp_add_neighnat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port,
533+
const union dp_ipv6 *ul_ipv6)
534534
{
535535
struct nat_entry *next, *new_entry;
536536

537-
TAILQ_FOREACH(next, &nat_headp, entries) {
537+
TAILQ_FOREACH(next, &neighnat_head, entries) {
538538
if (dp_is_network_nat_entry_port_overlap(next, nat_ip, min_port, max_port)) {
539539
DPS_LOG_WARNING("Cannot add a nat entry that has an overlapping port range with an existing one",
540540
DP_LOG_IPV4(nat_ip), DP_LOG_VNI(vni), DP_LOG_MINPORT(min_port), DP_LOG_MAXPORT(max_port));
@@ -555,28 +555,28 @@ int dp_add_network_nat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, u
555555
new_entry->port_range[1] = max_port;
556556
dp_copy_ipv6(&new_entry->dst_ipv6, ul_ipv6);
557557

558-
TAILQ_INSERT_TAIL(&nat_headp, new_entry, entries);
558+
TAILQ_INSERT_TAIL(&neighnat_head, new_entry, entries);
559559

560560
return DP_GRPC_OK;
561561

562562
}
563563

564-
int dp_del_network_nat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port)
564+
int dp_del_neighnat_entry(uint32_t nat_ip, uint32_t vni, uint16_t min_port, uint16_t max_port)
565565
{
566566
struct nat_entry *item, *tmp_item;
567567

568-
for (item = TAILQ_FIRST(&nat_headp); item != NULL; item = tmp_item) {
568+
for (item = TAILQ_FIRST(&neighnat_head); item != NULL; item = tmp_item) {
569569
tmp_item = TAILQ_NEXT(item, entries);
570570
if (dp_is_same_network_nat_entry(item, nat_ip, vni, min_port, max_port)) {
571-
TAILQ_REMOVE(&nat_headp, item, entries);
571+
TAILQ_REMOVE(&neighnat_head, item, entries);
572572
rte_free(item);
573573
return DP_GRPC_OK;
574574
}
575575
}
576576
return DP_GRPC_ERR_NOT_FOUND;
577577
}
578578

579-
const union dp_ipv6 *dp_lookup_network_nat_underlay_ip(struct dp_flow *df)
579+
const union dp_ipv6 *dp_lookup_neighnat_underlay_ip(struct dp_flow *df)
580580
{
581581
struct nat_entry *current;
582582
uint16_t dst_port;
@@ -590,7 +590,7 @@ const union dp_ipv6 *dp_lookup_network_nat_underlay_ip(struct dp_flow *df)
590590
else
591591
dst_port = ntohs(df->l4_info.trans_port.dst_port);
592592

593-
TAILQ_FOREACH(current, &nat_headp, entries) {
593+
TAILQ_FOREACH(current, &neighnat_head, entries) {
594594
if (dp_is_network_nat_port(current, dst_ip, dst_vni, dst_port))
595595
return &current->dst_ipv6;
596596
}
@@ -821,7 +821,7 @@ int dp_list_nat_neigh_entries(uint32_t nat_ip, struct dp_grpc_responder *respond
821821

822822
dp_grpc_set_multireply(responder, sizeof(*reply));
823823

824-
TAILQ_FOREACH(current, &nat_headp, entries) {
824+
TAILQ_FOREACH(current, &neighnat_head, entries) {
825825
if (nat_ip == 0 || current->nat_ip == nat_ip) {
826826
reply = dp_grpc_add_reply(responder);
827827
if (!reply)
@@ -862,10 +862,10 @@ void dp_del_all_neigh_nat_entries_in_vni(uint32_t vni)
862862
{
863863
struct nat_entry *item, *tmp_item;
864864

865-
for (item = TAILQ_FIRST(&nat_headp); item != NULL; item = tmp_item) {
865+
for (item = TAILQ_FIRST(&neighnat_head); item != NULL; item = tmp_item) {
866866
tmp_item = TAILQ_NEXT(item, entries);
867867
if ((item->vni == vni) || (vni == DP_NETWORK_NAT_ALL_VNI)) {
868-
TAILQ_REMOVE(&nat_headp, item, entries);
868+
TAILQ_REMOVE(&neighnat_head, item, entries);
869869
rte_free(item);
870870
}
871871
}

src/grpc/dp_grpc_impl.c

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -703,20 +703,14 @@ static int dp_process_create_neighnat(struct dp_grpc_responder *responder)
703703
if (request->addr.is_v6)
704704
return DP_GRPC_ERR_BAD_IPVER;
705705

706-
ret = dp_add_network_nat_entry(request->addr.ipv4,
707-
request->vni,
708-
request->min_port,
709-
request->max_port,
710-
&request->neigh_addr6);
706+
ret = dp_add_neighnat_entry(request->addr.ipv4, request->vni, request->min_port, request->max_port,
707+
&request->neigh_addr6);
711708
if (DP_FAILED(ret))
712709
return ret;
713710

714711
ret = dp_set_dnat_ip(request->addr.ipv4, 0, request->vni);
715712
if (DP_FAILED(ret) && ret != DP_GRPC_ERR_DNAT_EXISTS) {
716-
dp_del_network_nat_entry(request->addr.ipv4,
717-
request->vni,
718-
request->min_port,
719-
request->max_port);
713+
dp_del_neighnat_entry(request->addr.ipv4, request->vni, request->min_port, request->max_port);
720714
return ret;
721715
}
722716

@@ -731,10 +725,7 @@ static int dp_process_delete_neighnat(struct dp_grpc_responder *responder)
731725
if (request->addr.is_v6)
732726
return DP_GRPC_ERR_BAD_IPVER;
733727

734-
ret = dp_del_network_nat_entry(request->addr.ipv4,
735-
request->vni,
736-
request->min_port,
737-
request->max_port);
728+
ret = dp_del_neighnat_entry(request->addr.ipv4, request->vni, request->min_port, request->max_port);
738729
if (ret == DP_GRPC_ERR_NOT_FOUND)
739730
return ret;
740731

src/nodes/dnat_node.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static __rte_always_inline rte_edge_t get_next_index(__rte_unused struct rte_nod
5454
}
5555

5656
// only perform this lookup on unknown dnat (Distributed NAted) traffic flows
57-
underlay_dst = dp_lookup_network_nat_underlay_ip(df);
57+
underlay_dst = dp_lookup_neighnat_underlay_ip(df);
5858
if (underlay_dst) {
5959
cntrack->nf_info.nat_type = DP_FLOW_NAT_TYPE_NETWORK_NEIGH;
6060
df->nat_type = DP_CHG_UL_DST_IP;

0 commit comments

Comments
 (0)