X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Freass%2Fip6_sv_reass.c;h=0837f0606ec27c1939df6e11ec7b1024fc8cb2d5;hb=f50bac1bb25b02d7f086627c4c0a0709ee0f61d5;hp=a7f360eb583c14853216cd8331296434dae782b8;hpb=3a1ef47c39eacdb2177cedca48db543d1c514f9c;p=vpp.git diff --git a/src/vnet/ip/reass/ip6_sv_reass.c b/src/vnet/ip/reass/ip6_sv_reass.c index a7f360eb583..0837f0606ec 100644 --- a/src/vnet/ip/reass/ip6_sv_reass.c +++ b/src/vnet/ip/reass/ip6_sv_reass.c @@ -546,6 +546,8 @@ ip6_sv_reassembly_inline (vlib_main_t * vm, next0 = IP6_SV_REASSEMBLY_NEXT_INPUT; goto packet_enqueue; } + vnet_buffer (b0)->ip.reass.ip6_frag_hdr_offset = + (u8 *) frag_hdr - (u8 *) ip0; if (0 == ip6_frag_hdr_offset (frag_hdr)) { // first fragment - verify upper-layer is present @@ -564,8 +566,6 @@ ip6_sv_reassembly_inline (vlib_main_t * vm, next0 = IP6_SV_REASSEMBLY_NEXT_ICMP_ERROR; goto packet_enqueue; } - vnet_buffer (b0)->ip.reass.ip6_frag_hdr_offset = - (u8 *) frag_hdr - (u8 *) ip0; ip6_sv_reass_kv_t kv; u8 do_handoff = 0; @@ -818,7 +818,7 @@ typedef struct clib_bihash_48_8_t *new_hash; } ip6_rehash_cb_ctx; -static void +static int ip6_rehash_cb (clib_bihash_kv_48_8_t * kv, void *_ctx) { ip6_rehash_cb_ctx *ctx = _ctx; @@ -826,6 +826,7 @@ ip6_rehash_cb (clib_bihash_kv_48_8_t * kv, void *_ctx) { ctx->failure = 1; } + return (BIHASH_WALK_CONTINUE); } static void @@ -1288,7 +1289,7 @@ ip6_sv_reass_enable_disable_with_refcnt (u32 sw_if_index, int is_enable) "ip6-sv-reassembly-feature", sw_if_index, 0, 0, 0); } - return -1; + return 0; } #endif