Hi
Yes, I'm using router-plugin from VPPSB.

Of course, the problem was found:

Here is the problem:
       *** In files mapper.c and tap_inject_netlink.c, there are functions
to add new route to the IP FIB.
            These functions are "ip4_add_del_route_next_hop() for VPP 16"
and "fib_table_entry_path_add for VPP 18"
            The problem is that for version 16, one can specify add/del by
setting parameter is_del of the ip4_add_del_route_next_hop()
            But in version 18, there are two different versions of function
one for add and one for delete, namely: fib_table_entry_path_add() and
fib_table_entry_path_remove()

Here is the Solution:
      ****In the original code only fib_table_entry_path_add() is called so
we can only add new route. To fix the problem, I change it this way:

      if(is_del){
            fib_table_entry_path_remove(0, &prefix, FIB_SOURCE_API,
                                        prefix.fp_proto,
                                        &nh, sw_if_index, 0,
                                        0 /* weight */,
                                        FIB_ROUTE_PATH_FLAG_NONE);
        }
        else{
            fib_table_entry_path_add(0, &prefix, FIB_SOURCE_API,
                                     FIB_ENTRY_FLAG_NONE, prefix.fp_proto,
                                     &nh, sw_if_index, 0,
                                     0 /* weight */, NULL,
                                     FIB_ROUTE_PATH_FLAG_NONE);
        }

then I build the code again and test it to see add and delete works
perfectly.



On Mon, Feb 26, 2018 at 3:28 PM, Ray Kinsella <m...@ashroe.eu> wrote:

> Hi Gulakh,
>
> Are you using the router plugin from the VPPSB?
>
> Ray K
>
> On 25/02/2018 11:36, Gulakh wrote:
>
>> Hi,
>>
>> I'm using VPP as data plane  with router plugin installed and FRR as
>> control plane.
>> I set a new static ip route and check that it is inserted in both linux
>> kernel and vpp (sh ip fib)
>> but then I delete this route by FRR and check that this route is deleted
>> from kernel and FRR but it is still in VPP.
>>
>> ========================================
>> to add it:
>> FRR:
>>             >> ip route 1.2.3.4/32 <http://1.2.3.4/32> 4.4.4.4 label 70
>> VPP:
>>             >> show ip fib              (it shows the new route)
>>
>> then to delete it:
>> FRR:
>>             >> no ip route 1.2.3.4/32 <http://1.2.3.4/32> 4.4.4.4 label
>> 70
>> VPP:
>>             >> show ip fib              (the added route is still
>> there!!!)
>>
>> ========================================
>> Questions:
>>
>> Q1) Is it a bug?? if not, why is n't it deleted??
>>
>> Q2) it seems that router plugin does not support mpls, because label 70
>> is not shown in IP fib. is it so?
>>
>> Thanks
>> 
>>
>

Reply via email to