Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
api: ip_source_check_interface_add_del api is added.
[vpp.git]
/
src
/
vnet
/
ip
/
ip6_forward.c
diff --git
a/src/vnet/ip/ip6_forward.c
b/src/vnet/ip/ip6_forward.c
index
be0037e
..
3c0dcbf
100644
(file)
--- a/
src/vnet/ip/ip6_forward.c
+++ b/
src/vnet/ip/ip6_forward.c
@@
-371,6
+371,7
@@
VNET_FEATURE_ARC_INIT (ip6_unicast, static) =
{
.arc_name = "ip6-unicast",
.start_nodes = VNET_FEATURES ("ip6-input"),
{
.arc_name = "ip6-unicast",
.start_nodes = VNET_FEATURES ("ip6-input"),
+ .last_in_arc = "ip6-lookup",
.arc_index_ptr = &ip6_main.lookup_main.ucast_feature_arc_index,
};
.arc_index_ptr = &ip6_main.lookup_main.ucast_feature_arc_index,
};
@@
-442,6
+443,7
@@
VNET_FEATURE_ARC_INIT (ip6_multicast, static) =
{
.arc_name = "ip6-multicast",
.start_nodes = VNET_FEATURES ("ip6-input"),
{
.arc_name = "ip6-multicast",
.start_nodes = VNET_FEATURES ("ip6-input"),
+ .last_in_arc = "ip6-mfib-forward-lookup",
.arc_index_ptr = &ip6_main.lookup_main.mcast_feature_arc_index,
};
.arc_index_ptr = &ip6_main.lookup_main.mcast_feature_arc_index,
};
@@
-468,6
+470,7
@@
VNET_FEATURE_ARC_INIT (ip6_output, static) =
{
.arc_name = "ip6-output",
.start_nodes = VNET_FEATURES ("ip6-rewrite", "ip6-midchain", "ip6-dvr-dpo"),
{
.arc_name = "ip6-output",
.start_nodes = VNET_FEATURES ("ip6-rewrite", "ip6-midchain", "ip6-dvr-dpo"),
+ .last_in_arc = "interface-output",
.arc_index_ptr = &ip6_main.lookup_main.output_feature_arc_index,
};
.arc_index_ptr = &ip6_main.lookup_main.output_feature_arc_index,
};
@@
-883,9
+886,9
@@
ip6_forward_next_trace (vlib_main_t * vm,
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b0)->sw_if_index[VLIB_RX]);
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b0)->sw_if_index[VLIB_RX]);
- clib_memcpy (t0->packet_data,
- vlib_buffer_get_current (b0),
- sizeof (t0->packet_data));
+ clib_memcpy
_fast
(t0->packet_data,
+
vlib_buffer_get_current (b0),
+
sizeof (t0->packet_data));
}
if (b1->flags & VLIB_BUFFER_IS_TRACED)
{
}
if (b1->flags & VLIB_BUFFER_IS_TRACED)
{
@@
-898,9
+901,9
@@
ip6_forward_next_trace (vlib_main_t * vm,
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b1)->sw_if_index[VLIB_RX]);
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b1)->sw_if_index[VLIB_RX]);
- clib_memcpy (t1->packet_data,
- vlib_buffer_get_current (b1),
- sizeof (t1->packet_data));
+ clib_memcpy
_fast
(t1->packet_data,
+
vlib_buffer_get_current (b1),
+
sizeof (t1->packet_data));
}
from += 2;
n_left -= 2;
}
from += 2;
n_left -= 2;
@@
-927,9
+930,9
@@
ip6_forward_next_trace (vlib_main_t * vm,
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b0)->sw_if_index[VLIB_RX]);
vec_elt (im->fib_index_by_sw_if_index,
vnet_buffer (b0)->sw_if_index[VLIB_RX]);
- clib_memcpy (t0->packet_data,
- vlib_buffer_get_current (b0),
- sizeof (t0->packet_data));
+ clib_memcpy
_fast
(t0->packet_data,
+
vlib_buffer_get_current (b0),
+
sizeof (t0->packet_data));
}
from += 1;
n_left -= 1;
}
from += 1;
n_left -= 1;
@@
-1530,8
+1533,8
@@
ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, u32 sw_if_index,
sw_if_index);
}
sw_if_index);
}
- clib_memcpy (h->link_layer_option.ethernet_address, hi->hw_address,
- vec_len (hi->hw_address));
+ clib_memcpy
_fast
(h->link_layer_option.ethernet_address, hi->hw_address,
+
vec_len (hi->hw_address));
h->neighbor.icmp.checksum =
ip6_tcp_udp_icmp_compute_checksum (vm, 0, &h->ip, &bogus_length);
h->neighbor.icmp.checksum =
ip6_tcp_udp_icmp_compute_checksum (vm, 0, &h->ip, &bogus_length);
@@
-2415,7
+2418,7
@@
ip6_hop_by_hop (vlib_main_t * vm,
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
- clib_memcpy (t->option_data, hbh0, trace_len);
+ clib_memcpy
_fast
(t->option_data, hbh0, trace_len);
}
if (b1->flags & VLIB_BUFFER_IS_TRACED)
{
}
if (b1->flags & VLIB_BUFFER_IS_TRACED)
{
@@
-2429,7
+2432,7
@@
ip6_hop_by_hop (vlib_main_t * vm,
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
- clib_memcpy (t->option_data, hbh1, trace_len);
+ clib_memcpy
_fast
(t->option_data, hbh1, trace_len);
}
}
}
}
@@
-2510,7
+2513,7
@@
ip6_hop_by_hop (vlib_main_t * vm,
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
ARRAY_LEN (t->option_data) ? trace_len :
ARRAY_LEN (t->option_data);
t->trace_len = trace_len;
- clib_memcpy (t->option_data, hbh0, trace_len);
+ clib_memcpy
_fast
(t->option_data, hbh0, trace_len);
}
b0->error = error_node->errors[error0];
}
b0->error = error_node->errors[error0];