aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/lb-plugin/lb
diff options
context:
space:
mode:
authorPierre Pfister <ppfister@cisco.com>2016-10-07 16:31:57 +0100
committerDamjan Marion <dmarion.lists@gmail.com>2016-10-10 21:05:14 +0000
commitf588f35d665425324af87378e09b40920e44a548 (patch)
tree41cad1fdcc358295bc190251fa7875d67d7b6813 /plugins/lb-plugin/lb
parent51ffa817d910ba058cd76f2b7dd9a4142944f2ee (diff)
Test: Add test case for Load Balancer plugin
This adds a basic test for the four existing encap modes for the load balancer plugin. - ip4 over gre4 - ip4 over gre6 - ip6 over gre4 - ip6 over gre6 Apparently, scapy does not support GRE and IPv6 combinations. Hence, those tests do send packets through VPP, but only ip4 over gre4 output is actually parsed and verified. Change-Id: I7cedb0f88fd0788ee51b1428ddf9cff7c037511f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Diffstat (limited to 'plugins/lb-plugin/lb')
-rw-r--r--plugins/lb-plugin/lb/lb.c4
-rw-r--r--plugins/lb-plugin/lb/node.c12
2 files changed, 13 insertions, 3 deletions
diff --git a/plugins/lb-plugin/lb/lb.c b/plugins/lb-plugin/lb/lb.c
index 6af4697e37c..69bd660aba3 100644
--- a/plugins/lb-plugin/lb/lb.c
+++ b/plugins/lb-plugin/lb/lb.c
@@ -118,7 +118,9 @@ u8 *format_lb_vip (u8 * s, va_list * args)
u8 *format_lb_as (u8 * s, va_list * args)
{
lb_as_t *as = va_arg (*args, lb_as_t *);
- return format(s, "%U %s", format_ip46_address, &as->address, (as->flags & LB_AS_FLAGS_USED)?"used":"removed");
+ return format(s, "%U %s", format_ip46_address,
+ &as->address, IP46_TYPE_ANY,
+ (as->flags & LB_AS_FLAGS_USED)?"used":"removed");
}
u8 *format_lb_vip_detailed (u8 * s, va_list * args)
diff --git a/plugins/lb-plugin/lb/node.c b/plugins/lb-plugin/lb/node.c
index 77beaac9bb2..82f0cb529aa 100644
--- a/plugins/lb-plugin/lb/node.c
+++ b/plugins/lb-plugin/lb/node.c
@@ -48,8 +48,16 @@ format_lb_trace (u8 * s, va_list * args)
CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
lb_trace_t *t = va_arg (*args, lb_trace_t *);
- s = format(s, "lb vip[%d]: %U\n", t->vip_index, format_lb_vip, &lbm->vips[t->vip_index]);
- s = format(s, "lb as[%d]: %U\n", t->as_index, format_lb_as, &lbm->ass[t->as_index]);
+ if (pool_is_free_index(lbm->vips, t->vip_index)) {
+ s = format(s, "lb vip[%d]: This VIP was freed since capture\n");
+ } else {
+ s = format(s, "lb vip[%d]: %U\n", t->vip_index, format_lb_vip, &lbm->vips[t->vip_index]);
+ }
+ if (pool_is_free_index(lbm->ass, t->as_index)) {
+ s = format(s, "lb as[%d]: This AS was freed since capture\n");
+ } else {
+ s = format(s, "lb as[%d]: %U\n", t->as_index, format_lb_as, &lbm->ass[t->as_index]);
+ }
return s;
}