_(ICMP_PACKETS, "ICMP packets") \
_(OTHER_PACKETS, "other protocol packets") \
_(FRAGMENTS, "fragments") \
-_(CACHED_FRAGMENTS, "cached fragments") \
-_(PROCESSED_FRAGMENTS, "processed fragments")
+_(CANNOT_CREATE_USER, "cannot create NAT user")
typedef enum
{
thread_index);
if (!u)
{
- nat_elog_warn ("create NAT user failed");
+ b0->error = node->errors[SNAT_IN2OUT_ERROR_CANNOT_CREATE_USER];
return SNAT_IN2OUT_NEXT_DROP;
}
&sm_fib_index, 0, 0, 0, &lb, 0, &identity_nat))
{
s = nat_ed_session_alloc (sm, thread_index, now, proto);
- if (!s)
- {
- nat_elog_warn ("create NAT session failed");
- b->error = node->errors[NAT_IN2OUT_ED_ERROR_MAX_USER_SESS_EXCEEDED];
- return NAT_NEXT_DROP;
- }
+ ASSERT (s);
s->in2out.addr = l_addr;
s->in2out.port = l_port;
s->nat_proto = nat_proto;
return next;
}
s = nat_ed_session_alloc (sm, thread_index, now, proto);
- if (!s)
- {
- nat_elog_warn ("create NAT session failed");
- b->error = node->errors[NAT_IN2OUT_ED_ERROR_MAX_USER_SESS_EXCEEDED];
- return NAT_NEXT_DROP;
- }
+ ASSERT (s);
s->out2in.addr = sm_addr;
s->out2in.port = sm_port;
s->in2out.addr = l_addr;
s = nat_ed_session_alloc (sm, thread_index, now, ip->protocol);
if (!s)
{
- b->error = node->errors[NAT_IN2OUT_ED_ERROR_MAX_USER_SESS_EXCEEDED];
+ b->error = node->errors[NAT_IN2OUT_ED_ERROR_MAX_SESSIONS_EXCEEDED];
nat_elog_warn ("create NAT session failed");
return 0;
}
_(OUT_OF_PORTS, "out of ports") \
_(BAD_ICMP_TYPE, "unsupported ICMP type") \
_(MAX_SESSIONS_EXCEEDED, "maximum sessions exceeded") \
-_(MAX_USER_SESS_EXCEEDED, "max user sessions exceeded") \
_(DROP_FRAGMENT, "drop fragment") \
-_(CANNOT_CREATE_USER, "cannot create NAT user") \
_(NON_SYN, "non-SYN packet try to create session") \
_(TCP_PACKETS, "TCP packets") \
_(TCP_CLOSED, "drops due to TCP in transitory timeout") \
_(UDP_PACKETS, "UDP packets") \
_(ICMP_PACKETS, "ICMP packets") \
_(OTHER_PACKETS, "other protocol packets") \
-_(FRAGMENTS, "fragments") \
-_(CACHED_FRAGMENTS, "cached fragments") \
-_(PROCESSED_FRAGMENTS, "processed fragments")
+_(FRAGMENTS, "fragments")
typedef enum
{
_(UDP_PACKETS, "UDP packets") \
_(ICMP_PACKETS, "ICMP packets") \
_(OTHER_PACKETS, "other protocol packets") \
-_(FRAGMENTS, "fragments") \
-_(CACHED_FRAGMENTS, "cached fragments") \
-_(PROCESSED_FRAGMENTS, "processed fragments")
+_(FRAGMENTS, "fragments")
typedef enum
{
_(ICMP_PACKETS, "ICMP packets") \
_(OTHER_PACKETS, "other protocol packets") \
_(FRAGMENTS, "fragments") \
-_(CACHED_FRAGMENTS, "cached fragments") \
-_(PROCESSED_FRAGMENTS, "processed fragments")
+_(CANNOT_CREATE_USER, "cannot create NAT user")
typedef enum
{
u = nat_user_get_or_create (sm, &i2o_addr, i2o_fib_index, thread_index);
if (!u)
{
- nat_elog_warn ("create NAT user failed");
+ b0->error = node->errors[SNAT_OUT2IN_ERROR_CANNOT_CREATE_USER];
return 0;
}