Re: [vpp-dev] How can i use VPP as MPLS PE/P device

2017-12-11 Thread Michael Borokhovich
Thanks, Ray. Do you know if HC BGP supports EVPN? Also, is there current or
planned OSPF and LDP support in HC?

On Mon, Dec 11, 2017 at 6:39 AM, Kinsella, Ray  wrote:

> At the moment - there is no direct/easy way to do this AFAIK.
>
> Router plugin is the best example of this, the other option is to use HC
> instead of FRR for BGP.
>
> Ray K
>
>
> On 08/12/2017 21:23, Michael Borokhovich wrote:
>
>> So, for the control plane, we can use e.g., FRR that will populate
>> Linux's FIB and MPLS table. Then, we need to sync this info to VPP's FIB
>> and VPP's MPLS table.
>>
>> While the "router plugin" provides support for FIB synchronization, there
>> is no support for MPLS sync. Does anyone know if there are plans to add
>> this MPLS support to router plugin? Otherwise, what would be the
>> alternative best way of synchronizing Linux MPLS table with VPP?
>>
>> Thanks!
>> Michael.
>>
>>
>> On Wed, Dec 6, 2017 at 2:15 PM, Luke, Chris > <mailto:chris_l...@comcast.com>> wrote:
>>
>> But to make sure we’re clear, while VPP can provide the dataplane
>> of a P/PE, but something else has to provide the control plane
>> (eg, LDP, BGP, SDN controller, etc)
>>
>> Chris.
>>
>> *From: *> <mailto:vpp-dev-boun...@lists.fd.io>> on behalf of "Neale Ranns
>> (nranns)" mailto:nra...@cisco.com>>
>> *Date: *Wednesday, December 6, 2017 at 09:33
>> *To: *"wangchuan...@163.com <mailto:wangchuan...@163.com>"
>> mailto:wangchuan...@163.com>>, vpp-dev
>> mailto:vpp-dev@lists.fd.io>>
>> *Subject: *Re: [vpp-dev] How can i use VPP as MPLS PE/P device
>>
>> Another hastily assembled, on-demand guide:
>>
>> https://wiki.fd.io/view/VPP/MPLS_FIB<https://wiki.fd.io/view
>> /VPP/MPLS_FIB>
>>
>> /neale
>>
>> *From: *> <mailto:vpp-dev-boun...@lists.fd.io>> on behalf of
>> "wangchuan...@163.com <mailto:wangchuan...@163.com>"
>> mailto:wangchuan...@163.com>>
>> *Date: *Wednesday, 6 December 2017 at 09:11
>> *To: *vpp-dev mailto:vpp-dev@lists.fd.io>>
>> *Subject: *[vpp-dev] How can i use VPP as MPLS PE/P device
>>
>> hi all,
>>
>> I want to configure my testing MPLS network.
>>
>> how can I configure VPP to act as PE or P using CLI cmd?
>>
>> who can help?
>>
>>
>>
>>
>> best regards!
>>
>> 
>> 
>>
>> simon wang
>>
>>
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>> <https://lists.fd.io/mailman/listinfo/vpp-dev>
>>
>>
>>
>>
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] How can i use VPP as MPLS PE/P device

2017-12-08 Thread Michael Borokhovich
So, for the control plane, we can use e.g., FRR that will populate Linux's
FIB and MPLS table. Then, we need to sync this info to VPP's FIB and VPP's
MPLS table.

While the "router plugin" provides support for FIB synchronization, there
is no support for MPLS sync. Does anyone know if there are plans to add
this MPLS support to router plugin? Otherwise, what would be the
alternative best way of synchronizing Linux MPLS table with VPP?

Thanks!
Michael.


On Wed, Dec 6, 2017 at 2:15 PM, Luke, Chris  wrote:

> But to make sure we’re clear, while VPP can provide the dataplane of a
> P/PE, but something else has to provide the control plane (eg, LDP, BGP,
> SDN controller, etc)
>
>
>
> Chris.
>
>
>
> *From: * on behalf of "Neale Ranns (nranns)"
> 
> *Date: *Wednesday, December 6, 2017 at 09:33
> *To: *"wangchuan...@163.com" , vpp-dev <
> vpp-dev@lists.fd.io>
> *Subject: *Re: [vpp-dev] How can i use VPP as MPLS PE/P device
>
>
>
>
>
> Another hastily assembled, on-demand guide:
>
>   https://wiki.fd.io/view/VPP/MPLS_FIB
>
>
>
> /neale
>
>
>
> *From: * on behalf of "wangchuan...@163.com"
> 
> *Date: *Wednesday, 6 December 2017 at 09:11
> *To: *vpp-dev 
> *Subject: *[vpp-dev] How can i use VPP as MPLS PE/P device
>
>
>
> hi all,
>
> I want to configure my testing MPLS network.
>
> how can I configure VPP to act as PE or P using CLI cmd?
>
> who can help?
>
>
>
>
> best regards!
>
>
> --
>
> simon wang
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Router plugin capability question (VRFs and MPLS)

2017-11-27 Thread Michael Borokhovich
I see... Thanks, Ray!
We will see what will be the best approach to pass this information (MPLS,
VRFs) from the Linux control plane to the VPP.

On Fri, Nov 24, 2017 at 1:01 PM, Kinsella, Ray  wrote:

>
> If you mean the router plugin from the sandbox,
> the short answer is yes, it doesn't support any of these.
>
> Better approach is to use Honeycomb, with or without ODL.
>
> Ray K
>
>
>
> On 22/11/2017 18:53, Michael Borokhovich wrote:
>
>> Hi,
>>
>> Does router plugin support the following features?
>>
>> 1) Multiple VRFs
>> 2) MPLS
>>
>> From our initial experiments, the above features are not supported.
>> Multiple VRFs do not work (I tried with namespaces).
>> The MPLS information is not passed from Linux to VPP's FIBs.
>>
>> Please let me know what you think.
>>
>> Thanks,
>> Michael.
>>
>>
>>
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Router plugin capability question (VRFs and MPLS)

2017-11-22 Thread Michael Borokhovich
Hi,

Does router plugin support the following features?

1) Multiple VRFs
2) MPLS

>From our initial experiments, the above features are not supported.
Multiple VRFs do not work (I tried with namespaces).
The MPLS information is not passed from Linux to VPP's FIBs.

Please let me know what you think.

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] [vppsb-dev] Router plugin and MPLS

2017-11-21 Thread Michael Borokhovich
Hi Mostafa,

It looks like it does not support MPLS and VRFs. But I would like to hear
additional oppinions.

Thanks,
Michael.



On Tue, Nov 21, 2017 at 06:31 Mostafa Salari  wrote:

> Hi Michael,
> This is exactly my question also,
> Does router plugin is a glue between Linux's and VPP's mpls fib?
>
> Thanks
>
>
> On Tue, Nov 14, 2017 at 9:26 PM, Michael Borokhovich  > wrote:
>
>> Hi,
>>
>> Does router plugin (vppsb) support MPLS? We would like to use FRR's LDP
>> in the control plane and VPP in the data plane.
>>
>> Thanks,
>> Michael.
>>
>> On Mon, Nov 13, 2017 at 1:18 PM, Michael Borokhovich <
>> michael...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Does router plugin (vppsb) support MPLS? We would like to use FRR's LDP
>>> in the control plane and VPP in the data plane.
>>>
>>> Thanks,
>>> Michael.
>>>
>>>
>>
>> ___
>> vppsb-dev mailing list
>> vppsb-...@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vppsb-dev
>>
>>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Mapping multiple FIBs from Linux to VPP

2017-11-16 Thread Michael Borokhovich
Hi,

I can see in "vppsb/netlink/librtnl/mapper.h" that each Linux namespace is
mapped to a separate FIB in VPP.

However, the 4.6 Linux kernel has support for VRFs (e.g., using "ip link
add dev NAME type vrf table ID").

If we use the second (VRFs) approach to create multiple FIBs in Linux, can
the Router-Plugin synchronize them with the VPP FIBs? Or we must use
namespaces approach in Linux?

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Router plugin and MPLS

2017-11-13 Thread Michael Borokhovich
Hi,

Does router plugin (vppsb) support MPLS? We would like to use FRR's LDP in
the control plane and VPP in the data plane.

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-11 Thread Michael Borokhovich
Hi Neale,

Was the mfib present in 1704? If not, maybe I can try router plugin with
the recent fixes on 1704?

Thanks,
Michael.


On Wed, Oct 11, 2017 at 4:59 AM, Neale Ranns (nranns) 
wrote:

> Hi Michael,
>
>
>
> It doesn’t work in 17.07 because we introduced the IP-multicast FIB
> (mfib). Your 224.0.0.0/24 route now needs to be in the mfib not the
> unicast FIB. Please try the mfib APIs I mentioned in my previous mail.
>
>
>
> Thanks,
>
> Neale
>
>
>
>
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Wednesday, 11 October 2017 at 05:34
> *To: *"Neale Ranns (nranns)" 
> *Cc: *"Shaw, Jeffrey B" , "vppsb-...@lists.fd.io"
> , vpp-dev 
> *Subject: *Re: [vpp-dev] [vppsb-dev] Router plugin with VPP 1707 -
> incoming OSPF Hello packets are dropped by VPP
>
>
>
> Hi Neale,
>
>
>
> In the router plugin, the code below ("vppsb/router/router/tap_inject.c")
> should make sure that incoming multicast packets are forwarded from VPP to
> Linux. However, it does not work if "FIN_VERSION" is not 1 (i.e., it works
> for 1609 but not for 1707). Do you have any idea why?
>
>
>
> Thanks!
>
> Michael.
>
>
>
> Hi Michael,
>
> Both of;
>   vppctl ip mroute 224.0.0.0/8 via GigabitEthernet0/4/0 Accept
>   vppctl ip mroute 224.0.0.0/8 via local Forward
> the first says you are accepting (i.e RPF checks on) GigE0/4/0 the second
> says you are ‘forwarding/replicating’ to VPP’s local IP stack.
>
> The mfib equivalent of the fib API you were using is;
>   extern fib_node_index_t mfib_table_entry_special_add(u32 fib_index,
>  const mfib_prefix_t
> *prefix,
>  mfib_source_t source,
>  mfib_entry_flags_t
> flags,
>  index_t rep_dpo);
>
> if you include the flag MFIB_ENTRY_ACCEPT_ALL_ITF then mfib will accept
> from any incoming interface, hence you won’t need an explicit ‘Accept’
> rule. But this API is strict about the last argument ‘dpo’ being a
> replicate DPO type. See the mfib_test.c examples on how to construct one
> for use with the API.
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-10 Thread Michael Borokhovich
Hi Neale,

Below is the trace.

Thanks!
Michael.

00:05:18:275995: dpdk-input

  GigabitEthernet0/4/0 rx queue 0

  buffer 0x446a: current data 14, length 68, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x1

  PKT MBUF: port 0, nb_segs 1, pkt_len 82

buf_len 2176, data_len 82, ol_flags 0x0, data_off 128, phys_addr
0x6990d980

packet_type 0x0

  IP4: fa:16:3e:4a:b3:60 -> 01:00:5e:00:00:05

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276166: ip4-input

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276403: ip4-mfib-forward-lookup

  fib 0 entry 0

00:05:18:276503: ip4-mfib-forward-rpf

  entry 0 -1

00:05:18:276516: ip4-drop

OSPF: 10.0.10.1 -> 224.0.0.5

  tos 0xc0, ttl 1, length 68, checksum 0x2986

  fragment id 0x9b15

00:05:18:276595: error-drop

  ip4-input: ip4 adjacency drop



On Tue, Oct 10, 2017 at 4:31 AM, Neale Ranns (nranns) 
wrote:

>
>
> Hi Michael,
>
>
>
> Could you give me a ‘sh trace’ ?
>
>
>
> Thanks,
>
> neale
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Monday, 9 October 2017 at 18:14
> *To: *vpp-dev 
> *Subject: *[vpp-dev] Router plugin with VPP 1707 - incoming OSPF Hello
> packets are dropped by VPP
>
>
>
> Hi,
>
>
>
> After applying the fixes suggested by Jeff, I was able to compile the
> router plugin with VPP 1707.
>
>
>
> It runs and allows to enable tap-inject and set up interfaces addresses
> without crashing.
>
>
>
> The problem I'm facing now is with setting up FRR OSPF on top of the
> VPP+router plugin.
>
>
>
> FRR OSPF is configured and I see OSPF Hello packets flowing out of the
> machine. However, the incoming OSPF Hello packets are dropped by VPP (with
> the reason "ip4 adjacency drop") and never reach the FRR.
>
>
>
> The same settings worked with VPP 1609 + router plugin. Maybe I need to
> configure something manually in VPP to allow reception of OSPF multicast
> packets?
>
>
>
> So, to summarize the problem, incoming OSPF Hello packets are dropped by
> VPP, while the outgoing hello packets successfully sent by FRR via VPP to
> the neighbouring router.
>
>
>
> Any help is appreciated.
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-09 Thread Michael Borokhovich
I tried various options, like below, but none of the work. How can I use
the mroute to specify a node (and not an interface or an address)?

vppctl ip *mroute* 224.0.0.0/8 via GigabitEthernet0/4/0

vppctl ip *mroute* 224.0.0.0/8 via GigabitEthernet0/4/0 Accept

vppctl ip *mroute* 224.0.0.0/8 via GigabitEthernet0/4/0 Forward

On Mon, Oct 9, 2017 at 6:36 PM, Shaw, Jeffrey B 
wrote:

> Probably, but I don’t know the command.  Essentially you want a CLI
> command that configures a fib to direct packets/flows to an arbitrary node.
>
>
>
> Maybe “ip route” or “ip mroute” has what you need.
>
>
>
> DBGvpp# ip help
>
>   mroute ip mroute [add|del] /
> [table ] [via  [],
>
> …
>
>   route  ip route [add|del] [count ]
> / [table ] [via  \
>
>[] [weight
> ]] | [via arp  ] |
>
>[via
> drop|punt|local|arp|classify ] [lookup in table
> ]
>
>
>
> -Jeff
>
>
>
> *From:* Michael Borokhovich [mailto:michael...@gmail.com]
> *Sent:* Monday, October 09, 2017 3:26 PM
> *To:* Shaw, Jeffrey B 
> *Cc:* vpp-dev ; vppsb-...@lists.fd.io
>
> *Subject:* Re: [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF
> Hello packets are dropped by VPP
>
>
>
> Jef, is there a cli command I can use to instruct VPP to forward
> multicast to that node?
>
>
>
> On Mon, Oct 9, 2017 at 6:23 PM, Shaw, Jeffrey B 
> wrote:
>
> We have this code, which is supposed to tell the fib that packets going to
> the 224.0.0.x/24 network should be delivered to our node.
>
>
>
>   {
>
> dpo_proto_t proto = 0;
>
> dpo_id_t dpo = DPO_INVALID;
>
> fib_prefix_t pfx = {};
>
>
>
> pfx.fp_addr.ip4.as_u32 = 0x00E0; /* 224.0.0.0 */
>
> pfx.fp_len = 24;
>
> pfx.fp_proto = FIB_PROTOCOL_IP4;
>
> proto = DPO_PROTO_IP4;
>
>
>
> vlib_node_add_next (vm, ip4_lookup_node.index, im->tx_node_index);
>
>
>
> dpo_set(&dpo, tap_inject_dpo_type, proto, ~0);
>
>
>
> fib_table_entry_special_dpo_add(0,
>
>   &pfx,
>
>   FIB_SOURCE_API,
>
>   FIB_ENTRY_FLAG_EXCLUSIVE,
>
>   &dpo);
>
>
>
> dpo_reset(&dpo);
>
>   }
>
>
>
> It is possible this code isn’t working the same as it has in the past.
>
>
>
> With the FIB changes since the router plugin was initially developed,
> there might be a different/better way to get multicast packets delivered to
> our node.
>
>
>
> -Jef
>
>
>
>
>
> *From:* vppsb-dev-boun...@lists.fd.io [mailto:vppsb-dev-bounces@
> lists.fd.io] *On Behalf Of *Michael Borokhovich
> *Sent:* Monday, October 09, 2017 3:16 PM
> *To:* vpp-dev ; vppsb-...@lists.fd.io
> *Subject:* Re: [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF
> Hello packets are dropped by VPP
>
>
>
> Here is the trace of the packet that is dropped. Any help is very
> appreciated.
>
>
>
> 00:05:18:275995: dpdk-input
>
>   GigabitEthernet0/4/0 rx queue 0
>
>   buffer 0x446a: current data 14, length 68, free-list 0, clone-count 0,
> totlen-nifb 0, trace 0x1
>
>   PKT MBUF: port 0, nb_segs 1, pkt_len 82
>
> buf_len 2176, data_len 82, ol_flags 0x0, data_off 128, phys_addr
> 0x6990d980
>
> packet_type 0x0
>
>   IP4: fa:16:3e:4a:b3:60 -> 01:00:5e:00:00:05
>
>   OSPF: 10.0.10.1 -> 224.0.0.5
>
> tos 0xc0, ttl 1, length 68, checksum 0x2986
>
> fragment id 0x9b15
>
> 00:05:18:276166: ip4-input
>
>   OSPF: 10.0.10.1 -> 224.0.0.5
>
> tos 0xc0, ttl 1, length 68, checksum 0x2986
>
> fragment id 0x9b15
>
> 00:05:18:276403: ip4-mfib-forward-lookup
>
>   fib 0 entry 0
>
> 00:05:18:276503: ip4-mfib-forward-rpf
>
>   entry 0 -1
>
> 00:05:18:276516: ip4-drop
>
> OSPF: 10.0.10.1 -> 224.0.0.5
>
>   tos 0xc0, ttl 1, length 68, checksum 0x2986
>
>   fragment id 0x9b15
>
> 00:05:18:276595: error-drop
>
>   ip4-input: ip4 adjacency drop
>
>
>
> On Mon, Oct 9, 2017 at 12:14 PM, Michael Borokhovich 
> wrote:
>
> Hi,
>
>
>
> After applying the fixes suggested by Jeff, I was able to compile the
> router plugin with VPP 1707.
>
>
>
> It runs and allows to enable tap-inject and set up interfaces addresses
> without crashing.
>
>
>
> The problem I'm facing now is with setting up FRR OSPF on top of the
> VPP

Re: [vpp-dev] [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-09 Thread Michael Borokhovich
Jef, is there a cli command I can use to instruct VPP to forward
multicast to that node?

On Mon, Oct 9, 2017 at 6:23 PM, Shaw, Jeffrey B 
wrote:

> We have this code, which is supposed to tell the fib that packets going to
> the 224.0.0.x/24 network should be delivered to our node.
>
>
>
>   {
>
> dpo_proto_t proto = 0;
>
> dpo_id_t dpo = DPO_INVALID;
>
> fib_prefix_t pfx = {};
>
>
>
> pfx.fp_addr.ip4.as_u32 = 0x00E0; /* 224.0.0.0 */
>
> pfx.fp_len = 24;
>
> pfx.fp_proto = FIB_PROTOCOL_IP4;
>
> proto = DPO_PROTO_IP4;
>
>
>
> vlib_node_add_next (vm, ip4_lookup_node.index, im->tx_node_index);
>
>
>
> dpo_set(&dpo, tap_inject_dpo_type, proto, ~0);
>
>
>
> fib_table_entry_special_dpo_add(0,
>
>   &pfx,
>
>   FIB_SOURCE_API,
>
>   FIB_ENTRY_FLAG_EXCLUSIVE,
>
>   &dpo);
>
>
>
> dpo_reset(&dpo);
>
>   }
>
>
>
> It is possible this code isn’t working the same as it has in the past.
>
>
>
> With the FIB changes since the router plugin was initially developed,
> there might be a different/better way to get multicast packets delivered to
> our node.
>
>
>
> -Jef
>
>
>
>
>
> *From:* vppsb-dev-boun...@lists.fd.io [mailto:vppsb-dev-bounces@list
> s.fd.io] *On Behalf Of *Michael Borokhovich
> *Sent:* Monday, October 09, 2017 3:16 PM
> *To:* vpp-dev ; vppsb-...@lists.fd.io
> *Subject:* Re: [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF
> Hello packets are dropped by VPP
>
>
>
> Here is the trace of the packet that is dropped. Any help is very
> appreciated.
>
>
>
> 00:05:18:275995: dpdk-input
>
>   GigabitEthernet0/4/0 rx queue 0
>
>   buffer 0x446a: current data 14, length 68, free-list 0, clone-count 0,
> totlen-nifb 0, trace 0x1
>
>   PKT MBUF: port 0, nb_segs 1, pkt_len 82
>
> buf_len 2176, data_len 82, ol_flags 0x0, data_off 128, phys_addr
> 0x6990d980
>
> packet_type 0x0
>
>   IP4: fa:16:3e:4a:b3:60 -> 01:00:5e:00:00:05
>
>   OSPF: 10.0.10.1 -> 224.0.0.5
>
> tos 0xc0, ttl 1, length 68, checksum 0x2986
>
> fragment id 0x9b15
>
> 00:05:18:276166: ip4-input
>
>   OSPF: 10.0.10.1 -> 224.0.0.5
>
> tos 0xc0, ttl 1, length 68, checksum 0x2986
>
> fragment id 0x9b15
>
> 00:05:18:276403: ip4-mfib-forward-lookup
>
>   fib 0 entry 0
>
> 00:05:18:276503: ip4-mfib-forward-rpf
>
>   entry 0 -1
>
> 00:05:18:276516: ip4-drop
>
> OSPF: 10.0.10.1 -> 224.0.0.5
>
>   tos 0xc0, ttl 1, length 68, checksum 0x2986
>
>   fragment id 0x9b15
>
> 00:05:18:276595: error-drop
>
>   ip4-input: ip4 adjacency drop
>
>
>
> On Mon, Oct 9, 2017 at 12:14 PM, Michael Borokhovich 
> wrote:
>
> Hi,
>
>
>
> After applying the fixes suggested by Jeff, I was able to compile the
> router plugin with VPP 1707.
>
>
>
> It runs and allows to enable tap-inject and set up interfaces addresses
> without crashing.
>
>
>
> The problem I'm facing now is with setting up FRR OSPF on top of the
> VPP+router plugin.
>
>
>
> FRR OSPF is configured and I see OSPF Hello packets flowing out of the
> machine. However, the incoming OSPF Hello packets are dropped by VPP (with
> the reason "ip4 adjacency drop") and never reach the FRR.
>
>
>
> The same settings worked with VPP 1609 + router plugin. Maybe I need to
> configure something manually in VPP to allow reception of OSPF multicast
> packets?
>
>
>
> So, to summarize the problem, incoming OSPF Hello packets are dropped by
> VPP, while the outgoing hello packets successfully sent by FRR via VPP to
> the neighbouring router.
>
>
>
> Any help is appreciated.
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-09 Thread Michael Borokhovich
Here is the trace of the packet that is dropped. Any help is very
appreciated.

00:05:18:275995: dpdk-input

  GigabitEthernet0/4/0 rx queue 0

  buffer 0x446a: current data 14, length 68, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x1

  PKT MBUF: port 0, nb_segs 1, pkt_len 82

buf_len 2176, data_len 82, ol_flags 0x0, data_off 128, phys_addr
0x6990d980

packet_type 0x0

  IP4: fa:16:3e:4a:b3:60 -> 01:00:5e:00:00:05

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276166: ip4-input

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276403: ip4-mfib-forward-lookup

  fib 0 entry 0

00:05:18:276503: ip4-mfib-forward-rpf

  entry 0 -1

00:05:18:276516: ip4-drop

OSPF: 10.0.10.1 -> 224.0.0.5

  tos 0xc0, ttl 1, length 68, checksum 0x2986

  fragment id 0x9b15

00:05:18:276595: error-drop

  ip4-input: ip4 adjacency drop

On Mon, Oct 9, 2017 at 12:14 PM, Michael Borokhovich 
wrote:

> Hi,
>
> After applying the fixes suggested by Jeff, I was able to compile the
> router plugin with VPP 1707.
>
> It runs and allows to enable tap-inject and set up interfaces addresses
> without crashing.
>
> The problem I'm facing now is with setting up FRR OSPF on top of the
> VPP+router plugin.
>
> FRR OSPF is configured and I see OSPF Hello packets flowing out of the
> machine. However, the incoming OSPF Hello packets are dropped by VPP (with
> the reason "ip4 adjacency drop") and never reach the FRR.
>
> The same settings worked with VPP 1609 + router plugin. Maybe I need to
> configure something manually in VPP to allow reception of OSPF multicast
> packets?
>
> So, to summarize the problem, incoming OSPF Hello packets are dropped by
> VPP, while the outgoing hello packets successfully sent by FRR via VPP to
> the neighbouring router.
>
> Any help is appreciated.
>
> Thanks,
> Michael.
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-09 Thread Michael Borokhovich
Just tried the routing plugin with the fixes. Unfortunately, incoming
multicast packets are dropped by VPP. Here is the packet trace. Do you have
any idea? The same setup worked with VPP 1609...

00:05:18:275995: dpdk-input

  GigabitEthernet0/4/0 rx queue 0

  buffer 0x446a: current data 14, length 68, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x1

  PKT MBUF: port 0, nb_segs 1, pkt_len 82

buf_len 2176, data_len 82, ol_flags 0x0, data_off 128, phys_addr
0x6990d980

packet_type 0x0

  IP4: fa:16:3e:4a:b3:60 -> 01:00:5e:00:00:05

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276166: ip4-input

  OSPF: 10.0.10.1 -> 224.0.0.5

tos 0xc0, ttl 1, length 68, checksum 0x2986

fragment id 0x9b15

00:05:18:276403: ip4-mfib-forward-lookup

  fib 0 entry 0

00:05:18:276503: ip4-mfib-forward-rpf

  entry 0 -1

00:05:18:276516: ip4-drop

OSPF: 10.0.10.1 -> 224.0.0.5

  tos 0xc0, ttl 1, length 68, checksum 0x2986

  fragment id 0x9b15

00:05:18:276595: error-drop

  ip4-input: ip4 adjacency drop





On Mon, Oct 9, 2017 at 1:18 PM, Shaw, Jeffrey B 
wrote:

> I’ve submitted changes 8716, 8717, and 8718, which should fix the issues
> we’ve discussed in this thread.
>
>
>
> Thanks,
>
> Jeff
>
>
>
> *From:* Michael Borokhovich [mailto:michael...@gmail.com]
> *Sent:* Monday, October 09, 2017 9:07 AM
> *To:* Ni, Hongjun 
> *Cc:* Neale Ranns (nranns) ; Shaw, Jeffrey B <
> jeffrey.b.s...@intel.com>; vppsb-...@lists.fd.io; vpp-dev <
> vpp-dev@lists.fd.io>
>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Thanks, Hongjun,
>
>
>
> I will check this once I see that the routing plugin works with VPP1707.
>
>
>
> On Fri, Oct 6, 2017 at 7:25 PM, Ni, Hongjun  wrote:
>
> Hi Michael and Neale,
>
>
>
> As per my previous fixing experience on router plugin, I guess that the
> cause may locate at:
>
> Function tap_inject_enabel(): add IPv4 multicast route.
>
> Please take a look at this function and multicast route involved.
>
>
>
> -Hongjun
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Michael Borokhovich
> *Sent:* Friday, October 6, 2017 11:22 PM
> *To:* Neale Ranns (nranns) 
> *Cc:* Shaw, Jeffrey B ; vppsb-...@lists.fd.io;
> vpp-dev 
>
>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> I will look into it. It looks like the calling function is in the file "
> turbotap/turbotap/device.c" in vppsb. However, I'm not familiar with the
> logic there...
>
>
>
> I will try to fix it temporary locally directly in the "
> vlib_increment_simple_counter" function and see if it works.
>
>
>
> Thanks!
>
>
>
>
>
>
>
> On Fri, Oct 6, 2017 at 11:08 AM, Neale Ranns (nranns) 
> wrote:
>
> Hi Michael,
>
>
>
> It would be best if you fixed the caller to not pass ~0. In this case the
> ~0 is coming from the packet VLIB_RX interface. So best to find and fix the
> input node that should have set this correctly.
>
>
>
> /neale
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Friday, 6 October 2017 at 15:49
> *To: *"Shaw, Jeffrey B" 
> *Cc: *"Pierre Pfister (ppfister)" , Florin Coras <
> fcoras.li...@gmail.com>, vpp-dev , "Neale Ranns
> (nranns)" , "vppsb-...@lists.fd.io" <
> vppsb-...@lists.fd.io>
>
>
> *Subject: *Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Jeff,
>
>
>
> Regarding the workaround for the problem [3] (segfault). Do you think it
> is enough just to add a simple check e.g., if(index != ~0)? Or we have a
> problem somewhere else since the ~0 index should not be passed to this
> function?
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Thu, Oct 5, 2017 at 1:03 PM, Shaw, Jeffrey B 
> wrote:
>
> Hi Michael, do you really need the router plugin?  Based on the commands
> you’re using it seems you’re adding routes using the vpp cli interface,
> which is not how the router plugin is supposed to work.  Those routes won’t
> show up on the control side (i.e. Linux).  Nor is there any support for
> multiple routing tables.  The routes should be added from the control side,
> then they are mirrored to VPP.
>
>
>
> @Pierre,
>
> I was able to get the router plugin to work with VPP 1707 (348edb1
> [origin/stable/1707] Set MAC address needs the HW interface index).
>
> I used vppsb commit 529ec1b [origin/master] Fix name of VCL LD_PRELOAD lib
> dir env var.
>
>
>
> A few things went wrong:
>
> 1)  Had to disable testrtnl_plugin in vpp

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-09 Thread Michael Borokhovich
That's great. Thanks a lot, Jeff. So maybe now the OSPF also will work. My
fix of the segfault was just adding "if" in "src/vlib/counter.h". So maybe
this broke the multicast forwarding from VPP to Linux...

I will try the version with your fixes.

On Mon, Oct 9, 2017 at 1:18 PM, Shaw, Jeffrey B 
wrote:

> I’ve submitted changes 8716, 8717, and 8718, which should fix the issues
> we’ve discussed in this thread.
>
>
>
> Thanks,
>
> Jeff
>
>
>
> *From:* Michael Borokhovich [mailto:michael...@gmail.com]
> *Sent:* Monday, October 09, 2017 9:07 AM
> *To:* Ni, Hongjun 
> *Cc:* Neale Ranns (nranns) ; Shaw, Jeffrey B <
> jeffrey.b.s...@intel.com>; vppsb-...@lists.fd.io; vpp-dev <
> vpp-dev@lists.fd.io>
>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Thanks, Hongjun,
>
>
>
> I will check this once I see that the routing plugin works with VPP1707.
>
>
>
> On Fri, Oct 6, 2017 at 7:25 PM, Ni, Hongjun  wrote:
>
> Hi Michael and Neale,
>
>
>
> As per my previous fixing experience on router plugin, I guess that the
> cause may locate at:
>
> Function tap_inject_enabel(): add IPv4 multicast route.
>
> Please take a look at this function and multicast route involved.
>
>
>
> -Hongjun
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Michael Borokhovich
> *Sent:* Friday, October 6, 2017 11:22 PM
> *To:* Neale Ranns (nranns) 
> *Cc:* Shaw, Jeffrey B ; vppsb-...@lists.fd.io;
> vpp-dev 
>
>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> I will look into it. It looks like the calling function is in the file "
> turbotap/turbotap/device.c" in vppsb. However, I'm not familiar with the
> logic there...
>
>
>
> I will try to fix it temporary locally directly in the "
> vlib_increment_simple_counter" function and see if it works.
>
>
>
> Thanks!
>
>
>
>
>
>
>
> On Fri, Oct 6, 2017 at 11:08 AM, Neale Ranns (nranns) 
> wrote:
>
> Hi Michael,
>
>
>
> It would be best if you fixed the caller to not pass ~0. In this case the
> ~0 is coming from the packet VLIB_RX interface. So best to find and fix the
> input node that should have set this correctly.
>
>
>
> /neale
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Friday, 6 October 2017 at 15:49
> *To: *"Shaw, Jeffrey B" 
> *Cc: *"Pierre Pfister (ppfister)" , Florin Coras <
> fcoras.li...@gmail.com>, vpp-dev , "Neale Ranns
> (nranns)" , "vppsb-...@lists.fd.io" <
> vppsb-...@lists.fd.io>
>
>
> *Subject: *Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Jeff,
>
>
>
> Regarding the workaround for the problem [3] (segfault). Do you think it
> is enough just to add a simple check e.g., if(index != ~0)? Or we have a
> problem somewhere else since the ~0 index should not be passed to this
> function?
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Thu, Oct 5, 2017 at 1:03 PM, Shaw, Jeffrey B 
> wrote:
>
> Hi Michael, do you really need the router plugin?  Based on the commands
> you’re using it seems you’re adding routes using the vpp cli interface,
> which is not how the router plugin is supposed to work.  Those routes won’t
> show up on the control side (i.e. Linux).  Nor is there any support for
> multiple routing tables.  The routes should be added from the control side,
> then they are mirrored to VPP.
>
>
>
> @Pierre,
>
> I was able to get the router plugin to work with VPP 1707 (348edb1
> [origin/stable/1707] Set MAC address needs the HW interface index).
>
> I used vppsb commit 529ec1b [origin/master] Fix name of VCL LD_PRELOAD lib
> dir env var.
>
>
>
> A few things went wrong:
>
> 1)  Had to disable testrtnl_plugin in vppsb/netlink[1] to get netlink
> to compile
>
> 2)  Delete the reference to vlib_buffer_chain_validate() in
> vppsb/router after symbol lookup failure[2]
>
> 3)  Work-around a segmentation fault[3] in
> vlib_increment_simple_counter()due to an index being set to ~0
>
>
>
> I can submit two patches to fix 1 and 2.
>
>
>
> For number 3, it looks like we might want to check for an invalid
> interface?  This function is probably used often, so adding that check will
> be bad for performance.  Maybe we can check for invalid interface in
> process_drop_punt() instead.
>
>
>
> always_inline void
>
> vlib_increment_simple_counter (vlib_simple_counter_main_t * cm,
>
>u32 thread_index, u32 index, u64 increment)
>
> {
>
>

[vpp-dev] Router plugin with VPP 1707 - incoming OSPF Hello packets are dropped by VPP

2017-10-09 Thread Michael Borokhovich
Hi,

After applying the fixes suggested by Jeff, I was able to compile the
router plugin with VPP 1707.

It runs and allows to enable tap-inject and set up interfaces addresses
without crashing.

The problem I'm facing now is with setting up FRR OSPF on top of the
VPP+router plugin.

FRR OSPF is configured and I see OSPF Hello packets flowing out of the
machine. However, the incoming OSPF Hello packets are dropped by VPP (with
the reason "ip4 adjacency drop") and never reach the FRR.

The same settings worked with VPP 1609 + router plugin. Maybe I need to
configure something manually in VPP to allow reception of OSPF multicast
packets?

So, to summarize the problem, incoming OSPF Hello packets are dropped by
VPP, while the outgoing hello packets successfully sent by FRR via VPP to
the neighbouring router.

Any help is appreciated.

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-09 Thread Michael Borokhovich
Thanks, Hongjun,

I will check this once I see that the routing plugin works with VPP1707.

On Fri, Oct 6, 2017 at 7:25 PM, Ni, Hongjun  wrote:

> Hi Michael and Neale,
>
>
>
> As per my previous fixing experience on router plugin, I guess that the
> cause may locate at:
>
> Function tap_inject_enabel(): add IPv4 multicast route.
>
> Please take a look at this function and multicast route involved.
>
>
>
> -Hongjun
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Michael Borokhovich
> *Sent:* Friday, October 6, 2017 11:22 PM
> *To:* Neale Ranns (nranns) 
> *Cc:* Shaw, Jeffrey B ; vppsb-...@lists.fd.io;
> vpp-dev 
>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> I will look into it. It looks like the calling function is in the file "
> turbotap/turbotap/device.c" in vppsb. However, I'm not familiar with the
> logic there...
>
>
>
> I will try to fix it temporary locally directly in the "
> vlib_increment_simple_counter" function and see if it works.
>
>
>
> Thanks!
>
>
>
>
>
>
>
> On Fri, Oct 6, 2017 at 11:08 AM, Neale Ranns (nranns) 
> wrote:
>
> Hi Michael,
>
>
>
> It would be best if you fixed the caller to not pass ~0. In this case the
> ~0 is coming from the packet VLIB_RX interface. So best to find and fix the
> input node that should have set this correctly.
>
>
>
> /neale
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Friday, 6 October 2017 at 15:49
> *To: *"Shaw, Jeffrey B" 
> *Cc: *"Pierre Pfister (ppfister)" , Florin Coras <
> fcoras.li...@gmail.com>, vpp-dev , "Neale Ranns
> (nranns)" , "vppsb-...@lists.fd.io" <
> vppsb-...@lists.fd.io>
>
>
> *Subject: *Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Jeff,
>
>
>
> Regarding the workaround for the problem [3] (segfault). Do you think it
> is enough just to add a simple check e.g., if(index != ~0)? Or we have a
> problem somewhere else since the ~0 index should not be passed to this
> function?
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Thu, Oct 5, 2017 at 1:03 PM, Shaw, Jeffrey B 
> wrote:
>
> Hi Michael, do you really need the router plugin?  Based on the commands
> you’re using it seems you’re adding routes using the vpp cli interface,
> which is not how the router plugin is supposed to work.  Those routes won’t
> show up on the control side (i.e. Linux).  Nor is there any support for
> multiple routing tables.  The routes should be added from the control side,
> then they are mirrored to VPP.
>
>
>
> @Pierre,
>
> I was able to get the router plugin to work with VPP 1707 (348edb1
> [origin/stable/1707] Set MAC address needs the HW interface index).
>
> I used vppsb commit 529ec1b [origin/master] Fix name of VCL LD_PRELOAD lib
> dir env var.
>
>
>
> A few things went wrong:
>
> 1)  Had to disable testrtnl_plugin in vppsb/netlink[1] to get netlink
> to compile
>
> 2)  Delete the reference to vlib_buffer_chain_validate() in
> vppsb/router after symbol lookup failure[2]
>
> 3)  Work-around a segmentation fault[3] in
> vlib_increment_simple_counter()due to an index being set to ~0
>
>
>
> I can submit two patches to fix 1 and 2.
>
>
>
> For number 3, it looks like we might want to check for an invalid
> interface?  This function is probably used often, so adding that check will
> be bad for performance.  Maybe we can check for invalid interface in
> process_drop_punt() instead.
>
>
>
> always_inline void
>
> vlib_increment_simple_counter (vlib_simple_counter_main_t * cm,
>
>u32 thread_index, u32 index, u64 increment)
>
> {
>
>   counter_t *my_counters;
>
>
>
>   my_counters = cm->counters[thread_index];
>
>   my_counters[index] += increment;
> <--- seg-fault happens here when index is ~0, maybe check it?
>
> }
>
>
>
>
>
> -Jeff
>
>
>
> More details…
>
>
>
> [1] Building netlink fails... need to disable test.c
>
>
>
> /root/vpp/build-data/../netlink/test/test.c: In function
> ‘mapper_ns_add_command_fn’:
>
> /root/vpp/build-data/../netlink/test/test.c:125:14: error: implicit
> declaration of function ‘ip4_fib_index_from_table_id’
> [-Werror=implicit-function-declaration]
>
>u32 fib4 = ip4_fib_index_from_table_id(table_id);
>
>   ^
>
> /root/vpp/build-data/../netlink/test/test.c:126:14: error: implicit
> declaration of function ‘ip6_fib_index_from_table_id’
> [-Werror=imp

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-06 Thread Michael Borokhovich
I will look into it. It looks like the calling function is in the file "
turbotap/turbotap/device.c" in vppsb. However, I'm not familiar with the
logic there...

I will try to fix it temporary locally directly in the "
vlib_increment_simple_counter" function and see if it works.

Thanks!



On Fri, Oct 6, 2017 at 11:08 AM, Neale Ranns (nranns) 
wrote:

> Hi Michael,
>
>
>
> It would be best if you fixed the caller to not pass ~0. In this case the
> ~0 is coming from the packet VLIB_RX interface. So best to find and fix the
> input node that should have set this correctly.
>
>
>
> /neale
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Friday, 6 October 2017 at 15:49
> *To: *"Shaw, Jeffrey B" 
> *Cc: *"Pierre Pfister (ppfister)" , Florin Coras <
> fcoras.li...@gmail.com>, vpp-dev , "Neale Ranns
> (nranns)" , "vppsb-...@lists.fd.io" <
> vppsb-...@lists.fd.io>
>
> *Subject: *Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Jeff,
>
>
>
> Regarding the workaround for the problem [3] (segfault). Do you think it
> is enough just to add a simple check e.g., if(index != ~0)? Or we have a
> problem somewhere else since the ~0 index should not be passed to this
> function?
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Thu, Oct 5, 2017 at 1:03 PM, Shaw, Jeffrey B 
> wrote:
>
> Hi Michael, do you really need the router plugin?  Based on the commands
> you’re using it seems you’re adding routes using the vpp cli interface,
> which is not how the router plugin is supposed to work.  Those routes won’t
> show up on the control side (i.e. Linux).  Nor is there any support for
> multiple routing tables.  The routes should be added from the control side,
> then they are mirrored to VPP.
>
>
>
> @Pierre,
>
> I was able to get the router plugin to work with VPP 1707 (348edb1
> [origin/stable/1707] Set MAC address needs the HW interface index).
>
> I used vppsb commit 529ec1b [origin/master] Fix name of VCL LD_PRELOAD lib
> dir env var.
>
>
>
> A few things went wrong:
>
> 1)  Had to disable testrtnl_plugin in vppsb/netlink[1] to get netlink
> to compile
>
> 2)  Delete the reference to vlib_buffer_chain_validate() in
> vppsb/router after symbol lookup failure[2]
>
> 3)  Work-around a segmentation fault[3] in
> vlib_increment_simple_counter()due to an index being set to ~0
>
>
>
> I can submit two patches to fix 1 and 2.
>
>
>
> For number 3, it looks like we might want to check for an invalid
> interface?  This function is probably used often, so adding that check will
> be bad for performance.  Maybe we can check for invalid interface in
> process_drop_punt() instead.
>
>
>
> always_inline void
>
> vlib_increment_simple_counter (vlib_simple_counter_main_t * cm,
>
>u32 thread_index, u32 index, u64 increment)
>
> {
>
>   counter_t *my_counters;
>
>
>
>   my_counters = cm->counters[thread_index];
>
>   my_counters[index] += increment;
> <--- seg-fault happens here when index is ~0, maybe check it?
>
> }
>
>
>
>
>
> -Jeff
>
>
>
> More details…
>
>
>
> [1] Building netlink fails... need to disable test.c
>
>
>
> /root/vpp/build-data/../netlink/test/test.c: In function
> ‘mapper_ns_add_command_fn’:
>
> /root/vpp/build-data/../netlink/test/test.c:125:14: error: implicit
> declaration of function ‘ip4_fib_index_from_table_id’
> [-Werror=implicit-function-declaration]
>
>u32 fib4 = ip4_fib_index_from_table_id(table_id);
>
>   ^
>
> /root/vpp/build-data/../netlink/test/test.c:126:14: error: implicit
> declaration of function ‘ip6_fib_index_from_table_id’
> [-Werror=implicit-function-declaration]
>
>u32 fib6 = ip6_fib_index_from_table_id(table_id);
>
>   ^
>
> cc1: all warnings being treated as errors
>
>
>
>
>
> [2] After "enable tap-inject", we see vpp0 in the Linux "ip link". Setting
> "ip link set dev vpp0 up" produces the following error... need to not call
> that function.
>
>
>
> /root/vpp/build-root/install-vpp_debug-native/vpp/bin/vpp: symbol lookup
> error: /usr/lib/vpp_plugins/router.so: undefined symbol:
> vlib_buffer_chain_validate
>
>
>
>
>
> [3] Segmentation fault because the "index" is ~0
>
> Thread 1 "vpp_main" received signal SIGSEGV, Segmentation fault.
>
> 0x76d985a6 in vlib_increment_simple_counter (cm=0x7fffb67143bc,
> thread_index=0, index=4294967295, increment=1) at
> /root/vpp/build-data/../src

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-06 Thread Michael Borokhovich
66
>
> #5  0x778f6725 in vlib_main_or_worker_loop (vm=0x77b9d440
> , is_main=1) at /root/vpp/build-data/../src/
> vlib/main.c:1625
>
> #6  0x778f67d6 in vlib_main_loop (vm=0x77b9d440
> ) at /root/vpp/build-data/../src/vlib/main.c:1644
>
> #7  0x778f6e61 in vlib_main (vm=0x77b9d440 ,
> input=0x7fffb669efb0) at /root/vpp/build-data/../src/vlib/main.c:1774
>
> #8  0x779647d1 in thread0 (arg=140737349538880) at
> /root/vpp/build-data/../src/vlib/unix/main.c:514
>
> #9  0x7663100c in clib_calljmp () at /root/vpp/build-data/../src/
> vppinfra/longjmp.S:110
>
> #10 0x7fffd380 in ?? ()
>
> #11 0x77964c24 in vlib_unix_main (argc=25, argv=0x6f6840) at
> /root/vpp/build-data/../src/vlib/unix/main.c:577
>
> #12 0x004079ea in main (argc=25, argv=0x6f6840) at
> /root/vpp/build-data/../src/vpp/vnet/main.c:202
>
>
>
>
>
> *From:* Michael Borokhovich [mailto:michael...@gmail.com]
> *Sent:* Thursday, October 05, 2017 9:39 AM
> *To:* Pierre Pfister (ppfister) 
> *Cc:* Florin Coras ; vpp-dev ;
> Neale Ranns (nranns) ; Shaw, Jeffrey B <
> jeffrey.b.s...@intel.com>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Pierre,
>
>
>
> I would like to have two VRFs. The first interface belongs to VRF-1, the
> second to VRF-2 and the third should be shared between the VRFS (i.e., the
> default VRF-0, as I understand...).
>
>
>
> Now, if a packet arrives at the first or the second interface, it should
> be forwarded via the third interface.
>
>
>
> I tried multiple routing configurations but they didn't work. However,
> they do work in VPP 1710... In my first email in this thread, I mention
> what configurations I tried and what were the symptoms.
>
>
>
> Ideally, would be to use 1710. But unfortunately, router plugin works only
> with VPP 1609...
>
>
>
> Thanks!
>
> Michael.
>
>
>
>
>
>
>
>
>
>
>
> On Thu, Oct 5, 2017 at 3:41 AM, Pierre Pfister (ppfister) <
> ppfis...@cisco.com> wrote:
>
> Hello Michael,
>
>
>
> Can you be more specific about what doesn't work ?
>
>
>
> Jeff, do you have some time to look at the router plugin ?
>
>
>
> Thanks,
>
>
>
> - Pierre
>
>
>
>
>
> Le 5 oct. 2017 à 05:22, Michael Borokhovich  a
> écrit :
>
>
>
> Hi Florin,
>
>
>
> Thank you for the response. The reason I stick to 1609 is the router
> plugin (vppsb) that works with 1609 but does not with any other VPP version
> I tried. So, I'm trying to get multiple VRFs works with 1609 since I also
> need the router plugin for the project...
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Wed, Oct 4, 2017 at 10:33 PM, Florin Coras 
> wrote:
>
> Michael,
>
>
>
> I would recommend you switched to a newer release (17.07 or the soon to be
> release 17.10) since the fib code has been completely reworked in 17.01.
>
>
>
> Florin
>
>
>
> On Oct 4, 2017, at 7:13 PM, Michael Borokhovich 
> wrote:
>
>
>
> Hi,
>
>
>
> I'm trying to configure the following setup.
>
>
>
> GigabitEthernet0/4/0 - Table 1
>
> GigabitEthernet0/5/0 - Table 2
>
> GigabitEthernet0/6/0 - Table 0 (default)
>
>
>
> If a packet with DST_IP="10.5.1.0/24" received at GigabitEthernet0/4/0 or
> GigabitEthernet0/5/0 it needs to be sent via GigabitEthernet0/6/0.
>
>
>
> The following works for VPP 1710:
>
> vppctl ip route add 10.5.1.0/24 table 1 via 10.5.4.11 GigabitEthernet0/6/0
>
>
>
> vppctl ip route add 10.5.1.0/24 table 2 via 10.5.4.11 GigabitEthernet0/6/0
>
> But for 1609 it does not work. The routes are added to the default table 0
> instead of tables 1 and 2.
>
> If I do just this (just interface name, without the next ho IP):
>
> vppctl ip route add 10.5.1.0/24 table 1 via GigabitEthernet0/6/0
>
> Then the route is installed correctly to table 1 but the outgoing packets
> are messed up - sent without ethernet header.
>
>
>
> Any ideas how to make multiple VRFs woks in 1609?
>
>
>
> Thanks,
>
> Michael.
>
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-05 Thread Michael Borokhovich
2800753683)
> at /root/vpp/build-data/../src/vlib/main.c:1166
>
> #5  0x778f6725 in vlib_main_or_worker_loop (vm=0x77b9d440
> , is_main=1) at /root/vpp/build-data/../src/
> vlib/main.c:1625
>
> #6  0x778f67d6 in vlib_main_loop (vm=0x77b9d440
> ) at /root/vpp/build-data/../src/vlib/main.c:1644
>
> #7  0x778f6e61 in vlib_main (vm=0x77b9d440 ,
> input=0x7fffb669efb0) at /root/vpp/build-data/../src/vlib/main.c:1774
>
> #8  0x779647d1 in thread0 (arg=140737349538880) at
> /root/vpp/build-data/../src/vlib/unix/main.c:514
>
> #9  0x7663100c in clib_calljmp () at /root/vpp/build-data/../src/
> vppinfra/longjmp.S:110
>
> #10 0x7fffd380 in ?? ()
>
> #11 0x77964c24 in vlib_unix_main (argc=25, argv=0x6f6840) at
> /root/vpp/build-data/../src/vlib/unix/main.c:577
>
> #12 0x004079ea in main (argc=25, argv=0x6f6840) at
> /root/vpp/build-data/../src/vpp/vnet/main.c:202
>
>
>
>
>
> *From:* Michael Borokhovich [mailto:michael...@gmail.com]
> *Sent:* Thursday, October 05, 2017 9:39 AM
> *To:* Pierre Pfister (ppfister) 
> *Cc:* Florin Coras ; vpp-dev ;
> Neale Ranns (nranns) ; Shaw, Jeffrey B <
> jeffrey.b.s...@intel.com>
> *Subject:* Re: [vpp-dev] Multiple VRFs in 1609
>
>
>
> Hi Pierre,
>
>
>
> I would like to have two VRFs. The first interface belongs to VRF-1, the
> second to VRF-2 and the third should be shared between the VRFS (i.e., the
> default VRF-0, as I understand...).
>
>
>
> Now, if a packet arrives at the first or the second interface, it should
> be forwarded via the third interface.
>
>
>
> I tried multiple routing configurations but they didn't work. However,
> they do work in VPP 1710... In my first email in this thread, I mention
> what configurations I tried and what were the symptoms.
>
>
>
> Ideally, would be to use 1710. But unfortunately, router plugin works only
> with VPP 1609...
>
>
>
> Thanks!
>
> Michael.
>
>
>
>
>
>
>
>
>
>
>
> On Thu, Oct 5, 2017 at 3:41 AM, Pierre Pfister (ppfister) <
> ppfis...@cisco.com> wrote:
>
> Hello Michael,
>
>
>
> Can you be more specific about what doesn't work ?
>
>
>
> Jeff, do you have some time to look at the router plugin ?
>
>
>
> Thanks,
>
>
>
> - Pierre
>
>
>
>
>
> Le 5 oct. 2017 à 05:22, Michael Borokhovich  a
> écrit :
>
>
>
> Hi Florin,
>
>
>
> Thank you for the response. The reason I stick to 1609 is the router
> plugin (vppsb) that works with 1609 but does not with any other VPP version
> I tried. So, I'm trying to get multiple VRFs works with 1609 since I also
> need the router plugin for the project...
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
> On Wed, Oct 4, 2017 at 10:33 PM, Florin Coras 
> wrote:
>
> Michael,
>
>
>
> I would recommend you switched to a newer release (17.07 or the soon to be
> release 17.10) since the fib code has been completely reworked in 17.01.
>
>
>
> Florin
>
>
>
> On Oct 4, 2017, at 7:13 PM, Michael Borokhovich 
> wrote:
>
>
>
> Hi,
>
>
>
> I'm trying to configure the following setup.
>
>
>
> GigabitEthernet0/4/0 - Table 1
>
> GigabitEthernet0/5/0 - Table 2
>
> GigabitEthernet0/6/0 - Table 0 (default)
>
>
>
> If a packet with DST_IP="10.5.1.0/24" received at GigabitEthernet0/4/0 or
> GigabitEthernet0/5/0 it needs to be sent via GigabitEthernet0/6/0.
>
>
>
> The following works for VPP 1710:
>
> vppctl ip route add 10.5.1.0/24 table 1 via 10.5.4.11 GigabitEthernet0/6/0
>
>
>
> vppctl ip route add 10.5.1.0/24 table 2 via 10.5.4.11 GigabitEthernet0/6/0
>
> But for 1609 it does not work. The routes are added to the default table 0
> instead of tables 1 and 2.
>
> If I do just this (just interface name, without the next ho IP):
>
> vppctl ip route add 10.5.1.0/24 table 1 via GigabitEthernet0/6/0
>
> Then the route is installed correctly to table 1 but the outgoing packets
> are messed up - sent without ethernet header.
>
>
>
> Any ideas how to make multiple VRFs woks in 1609?
>
>
>
> Thanks,
>
> Michael.
>
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-05 Thread Michael Borokhovich
Hi Pierre,

I would like to have two VRFs. The first interface belongs to VRF-1, the
second to VRF-2 and the third should be shared between the VRFS (i.e., the
default VRF-0, as I understand...).

Now, if a packet arrives at the first or the second interface, it should be
forwarded via the third interface.

I tried multiple routing configurations but they didn't work. However, they
do work in VPP 1710... In my first email in this thread, I mention what
configurations I tried and what were the symptoms.

Ideally, would be to use 1710. But unfortunately, router plugin works only
with VPP 1609...

Thanks!
Michael.





On Thu, Oct 5, 2017 at 3:41 AM, Pierre Pfister (ppfister) <
ppfis...@cisco.com> wrote:

> Hello Michael,
>
> Can you be more specific about what doesn't work ?
>
> Jeff, do you have some time to look at the router plugin ?
>
> Thanks,
>
> - Pierre
>
>
> Le 5 oct. 2017 à 05:22, Michael Borokhovich  a
> écrit :
>
> Hi Florin,
>
> Thank you for the response. The reason I stick to 1609 is the router
> plugin (vppsb) that works with 1609 but does not with any other VPP version
> I tried. So, I'm trying to get multiple VRFs works with 1609 since I also
> need the router plugin for the project...
>
> Thanks,
> Michael.
>
>
> On Wed, Oct 4, 2017 at 10:33 PM, Florin Coras 
> wrote:
>
>> Michael,
>>
>> I would recommend you switched to a newer release (17.07 or the soon to
>> be release 17.10) since the fib code has been completely reworked in 17.01.
>>
>> Florin
>>
>> On Oct 4, 2017, at 7:13 PM, Michael Borokhovich 
>> wrote:
>>
>> Hi,
>>
>> I'm trying to configure the following setup.
>>
>> GigabitEthernet0/4/0 - Table 1
>> GigabitEthernet0/5/0 - Table 2
>> GigabitEthernet0/6/0 - Table 0 (default)
>>
>> If a packet with DST_IP="10.5.1.0/24" received at
>> GigabitEthernet0/4/0 or GigabitEthernet0/5/0 it needs to be sent via
>> GigabitEthernet0/6/0.
>>
>> The following works for VPP 1710:
>>
>> vppctl ip route add 10.5.1.0/24 table 1 via 10.5.4.11
>> GigabitEthernet0/6/0
>>
>> vppctl ip route add 10.5.1.0/24 table 2 via 10.5.4.11
>> GigabitEthernet0/6/0
>>
>> But for 1609 it does not work. The routes are added to the default table
>> 0 instead of tables 1 and 2.
>>
>> If I do just this (just interface name, without the next ho IP):
>>
>> vppctl ip route add 10.5.1.0/24 table 1 via GigabitEthernet0/6/0
>>
>> Then the route is installed correctly to table 1 but the outgoing packets
>> are messed up - sent without ethernet header.
>>
>>
>> Any ideas how to make multiple VRFs woks in 1609?
>>
>>
>> Thanks,
>>
>> Michael.
>>
>>
>> ___
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev
>>
>>
>>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Multiple VRFs in 1609

2017-10-04 Thread Michael Borokhovich
Hi Florin,

Thank you for the response. The reason I stick to 1609 is the router plugin
(vppsb) that works with 1609 but does not with any other VPP version I
tried. So, I'm trying to get multiple VRFs works with 1609 since I also
need the router plugin for the project...

Thanks,
Michael.


On Wed, Oct 4, 2017 at 10:33 PM, Florin Coras 
wrote:

> Michael,
>
> I would recommend you switched to a newer release (17.07 or the soon to be
> release 17.10) since the fib code has been completely reworked in 17.01.
>
> Florin
>
> On Oct 4, 2017, at 7:13 PM, Michael Borokhovich 
> wrote:
>
> Hi,
>
> I'm trying to configure the following setup.
>
> GigabitEthernet0/4/0 - Table 1
> GigabitEthernet0/5/0 - Table 2
> GigabitEthernet0/6/0 - Table 0 (default)
>
> If a packet with DST_IP="10.5.1.0/24" received at GigabitEthernet0/4/0 or
> GigabitEthernet0/5/0 it needs to be sent via GigabitEthernet0/6/0.
>
> The following works for VPP 1710:
>
> vppctl ip route add 10.5.1.0/24 table 1 via 10.5.4.11 GigabitEthernet0/6/0
>
> vppctl ip route add 10.5.1.0/24 table 2 via 10.5.4.11 GigabitEthernet0/6/0
>
> But for 1609 it does not work. The routes are added to the default table 0
> instead of tables 1 and 2.
>
> If I do just this (just interface name, without the next ho IP):
>
> vppctl ip route add 10.5.1.0/24 table 1 via GigabitEthernet0/6/0
>
> Then the route is installed correctly to table 1 but the outgoing packets
> are messed up - sent without ethernet header.
>
>
> Any ideas how to make multiple VRFs woks in 1609?
>
>
> Thanks,
>
> Michael.
>
>
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Multiple VRFs in 1609

2017-10-04 Thread Michael Borokhovich
Hi,

I'm trying to configure the following setup.

GigabitEthernet0/4/0 - Table 1
GigabitEthernet0/5/0 - Table 2
GigabitEthernet0/6/0 - Table 0 (default)

If a packet with DST_IP="10.5.1.0/24" received at GigabitEthernet0/4/0 or
GigabitEthernet0/5/0 it needs to be sent via GigabitEthernet0/6/0.

The following works for VPP 1710:

vppctl ip route add 10.5.1.0/24 table 1 via 10.5.4.11 GigabitEthernet0/6/0

vppctl ip route add 10.5.1.0/24 table 2 via 10.5.4.11 GigabitEthernet0/6/0

But for 1609 it does not work. The routes are added to the default table 0
instead of tables 1 and 2.

If I do just this (just interface name, without the next ho IP):

vppctl ip route add 10.5.1.0/24 table 1 via GigabitEthernet0/6/0

Then the route is installed correctly to table 1 but the outgoing packets
are messed up - sent without ethernet header.


Any ideas how to make multiple VRFs woks in 1609?


Thanks,

Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Forwarding control plane packets to/from Linux kernel

2017-10-02 Thread Michael Borokhovich
Hi,

Is it possible to forward some specific packets (e.g., OSPF control
packets) from VPP to Linux kernel where the routing daemon would run?
I know that router plugin is intended to do this. However, it is not
supported anymore and does not work with the latest VPP.
Is there a way to achieve the same functionality in a simpler way? E.g., by
configuring tap interfaces and some forwarding rules via VPP CLI?

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Failed to build vpp with vppsb

2017-09-27 Thread Michael Borokhovich
Thanks a lot, Burt! I will try this.

On Wed, Sep 27, 2017 at 4:04 PM, Burt Silverman  wrote:

> The basic "include-what-you-use" philosophy would say that it is *smart*
> (vs. necessary) to add the #include you added, Michael, but on the other
> hand, I believe vppinfra/file.h is included in vlib/unix/unix.h is included
> in rtnl.c, so I do not understand why you got that compiler error. Oh,
> maybe you tried to build something partial without following the "plan"
> spelled out in vppsb/router/README.md. I mean to say, (one more try,) it
> appears that the README.md in vppsb/router is more reliable than the
> README.md in vppsb/netlink: the reliable README.md will make certain that
> the header files get installed as needed into vpp/build-root/install-vpp-
> native/vpp/include/
>
> Burt
>
> On Wed, Sep 27, 2017 at 2:50 PM, Michael Borokhovich  > wrote:
>
>> Thanks, Burt!
>>
>> I've realized that I also need to add #include  to the
>> rtnl.c
>>
>> However it says: "*fatal error: *vppinfra/file.h: No such file or
>> directory"
>>
>> Do you have any suggestions for this? Otherwise, I will try to figure it
>> out.
>>
>> Michael.
>>
>>
>>
>>
>>
>> On Wed, Sep 27, 2017 at 2:06 PM, Burt Silverman  wrote:
>>
>>> Hi Michael,
>>>
>>> I came up with a patch that compiles, but I have not tested it.
>>> Hopefully it is this simple:
>>>
>>> burts@burtvb:~/vppsb/netlink/librtnl$ git diff .
>>> diff --git a/netlink/librtnl/rtnl.c b/netlink/librtnl/rtnl.c
>>> index 04f0440..fa31617 100644
>>> --- a/netlink/librtnl/rtnl.c
>>> +++ b/netlink/librtnl/rtnl.c
>>> @@ -31,6 +31,7 @@
>>>
>>>  #include 
>>>  #include 
>>> +#include 
>>>
>>>  #undef DBL_MAX
>>>  #define DBL_MAX 10.0
>>> @@ -102,7 +103,7 @@ rtnl_cancel_timeout(rtnl_ns_t *ns)
>>>ns->timeout = DBL_MAX;
>>>  }
>>>
>>> -static clib_error_t *rtnl_read_cb(struct unix_file * f)
>>> +static clib_error_t *rtnl_read_cb(struct clib_file * f)
>>>  {
>>>rtnl_main_t *rm = &rtnl_main;
>>>vlib_main_t *vm = vlib_get_main();
>>> @@ -138,7 +139,7 @@ int rtnl_dump_request(rtnl_ns_t *ns, int type, void
>>> *req, size_t len)
>>>
>>>  static void rtnl_socket_close(rtnl_ns_t *ns)
>>>  {
>>> -  unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
>>> +  clib_file_del(&file_main, &file_main.file_pool[ns->unix_index]);
>>>close(ns->rtnl_socket);
>>>  }
>>>
>>> @@ -259,11 +260,11 @@ static int rtnl_socket_open(rtnl_ns_t *ns)
>>>  return -3;
>>>}
>>>
>>> -  unix_file_t template = {0};
>>> +  clib_file_t template = {0};
>>>template.read_function = rtnl_read_cb;
>>>template.file_descriptor = ns->rtnl_socket;
>>>template.private_data = (uword) (ns - rm->streams);
>>> -  ns->unix_index = unix_file_add (&unix_main, &template);
>>> +  ns->unix_index = clib_file_add (&file_main, &template);
>>>return 0;
>>>  }
>>>
>>>
>>> On Wed, Sep 27, 2017 at 1:41 PM, Michael Borokhovich <
>>> michael...@gmail.com> wrote:
>>>
>>>> Hi Burt, Pawel,
>>>>
>>>> Did you eventually manage to install the router plugin with the latest
>>>> VPP?
>>>>
>>>> Thanks,
>>>> Michael.
>>>>
>>>>
>>>> On Tue, Sep 19, 2017 at 6:05 PM, Burt Silverman 
>>>> wrote:
>>>>
>>>>> Same problem here. I guess the vlib code was updated but the vppsb has
>>>>> not caught up.
>>>>>
>>>>> Burt
>>>>>
>>>>> On Mon, Sep 18, 2017 at 12:56 PM, Paweł Staszewski <
>>>>> pstaszew...@itcare.pl> wrote:
>>>>>
>>>>>> Trying to add netlink from vppsb to the latest vpp git but :
>>>>>>
>>>>>>
>>>>>>  Building netlink in 
>>>>>> /git/vpp/build-root/build-vpp_debug-native/netlink
>>>>>> 
>>>>>> make[1]: Entering directory '/git/vpp/build-root/build-vpp
>>>>>> _debug-native/netlink'
>>>>>>   CC   librtnl/netns.lo
>>>>>>   CC   librtnl/rtnl.lo
>>>>>>   CC   librtnl/mapper.lo
&

Re: [vpp-dev] Failed to build vpp with vppsb

2017-09-27 Thread Michael Borokhovich
Thanks, Burt!

I've realized that I also need to add #include  to the
rtnl.c

However it says: "*fatal error: *vppinfra/file.h: No such file or directory"

Do you have any suggestions for this? Otherwise, I will try to figure it
out.

Michael.





On Wed, Sep 27, 2017 at 2:06 PM, Burt Silverman  wrote:

> Hi Michael,
>
> I came up with a patch that compiles, but I have not tested it. Hopefully
> it is this simple:
>
> burts@burtvb:~/vppsb/netlink/librtnl$ git diff .
> diff --git a/netlink/librtnl/rtnl.c b/netlink/librtnl/rtnl.c
> index 04f0440..fa31617 100644
> --- a/netlink/librtnl/rtnl.c
> +++ b/netlink/librtnl/rtnl.c
> @@ -31,6 +31,7 @@
>
>  #include 
>  #include 
> +#include 
>
>  #undef DBL_MAX
>  #define DBL_MAX 10.0
> @@ -102,7 +103,7 @@ rtnl_cancel_timeout(rtnl_ns_t *ns)
>ns->timeout = DBL_MAX;
>  }
>
> -static clib_error_t *rtnl_read_cb(struct unix_file * f)
> +static clib_error_t *rtnl_read_cb(struct clib_file * f)
>  {
>rtnl_main_t *rm = &rtnl_main;
>vlib_main_t *vm = vlib_get_main();
> @@ -138,7 +139,7 @@ int rtnl_dump_request(rtnl_ns_t *ns, int type, void
> *req, size_t len)
>
>  static void rtnl_socket_close(rtnl_ns_t *ns)
>  {
> -  unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
> +  clib_file_del(&file_main, &file_main.file_pool[ns->unix_index]);
>close(ns->rtnl_socket);
>  }
>
> @@ -259,11 +260,11 @@ static int rtnl_socket_open(rtnl_ns_t *ns)
>  return -3;
>}
>
> -  unix_file_t template = {0};
> +  clib_file_t template = {0};
>template.read_function = rtnl_read_cb;
>template.file_descriptor = ns->rtnl_socket;
>template.private_data = (uword) (ns - rm->streams);
> -  ns->unix_index = unix_file_add (&unix_main, &template);
> +  ns->unix_index = clib_file_add (&file_main, &template);
>return 0;
>  }
>
>
> On Wed, Sep 27, 2017 at 1:41 PM, Michael Borokhovich  > wrote:
>
>> Hi Burt, Pawel,
>>
>> Did you eventually manage to install the router plugin with the latest
>> VPP?
>>
>> Thanks,
>> Michael.
>>
>>
>> On Tue, Sep 19, 2017 at 6:05 PM, Burt Silverman  wrote:
>>
>>> Same problem here. I guess the vlib code was updated but the vppsb has
>>> not caught up.
>>>
>>> Burt
>>>
>>> On Mon, Sep 18, 2017 at 12:56 PM, Paweł Staszewski <
>>> pstaszew...@itcare.pl> wrote:
>>>
>>>> Trying to add netlink from vppsb to the latest vpp git but :
>>>>
>>>>
>>>>  Building netlink in /git/vpp/build-root/build-vpp_debug-native/netlink
>>>> 
>>>> make[1]: Entering directory '/git/vpp/build-root/build-vpp
>>>> _debug-native/netlink'
>>>>   CC   librtnl/netns.lo
>>>>   CC   librtnl/rtnl.lo
>>>>   CC   librtnl/mapper.lo
>>>>   CC   test/test.lo
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:105:42: error: ‘struct
>>>> unix_file’ declared inside parameter list will not be visible outside of
>>>> this definition or declaration [-Werror]
>>>>  static clib_error_t *rtnl_read_cb(struct unix_file * f)
>>>>   ^
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>>>> ‘rtnl_read_cb’:
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:109:33: error:
>>>> dereferencing pointer to incomplete type ‘struct unix_file’
>>>>rtnl_ns_t *ns = &rm->streams[f->private_data];
>>>>  ^~
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>>>> ‘rtnl_socket_close’:
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:141:3: error: implicit
>>>> declaration of function ‘unix_file_del’ [-Werror=implicit-function-dec
>>>> laration]
>>>>unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
>>>>^
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:141:39: error:
>>>> ‘unix_main_t {aka struct }’ has no member named ‘file_pool’
>>>>unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
>>>>^
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>>>> ‘rtnl_socket_open’:
>>>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:262:3: error: unknown
>>>> type name ‘unix_file_t’
>>>>unix_file_t temp

Re: [vpp-dev] Failed to build vpp with vppsb

2017-09-27 Thread Michael Borokhovich
Hi Burt, Pawel,

Did you eventually manage to install the router plugin with the latest VPP?

Thanks,
Michael.


On Tue, Sep 19, 2017 at 6:05 PM, Burt Silverman  wrote:

> Same problem here. I guess the vlib code was updated but the vppsb has not
> caught up.
>
> Burt
>
> On Mon, Sep 18, 2017 at 12:56 PM, Paweł Staszewski 
> wrote:
>
>> Trying to add netlink from vppsb to the latest vpp git but :
>>
>>
>>  Building netlink in /git/vpp/build-root/build-vpp_debug-native/netlink
>> 
>> make[1]: Entering directory '/git/vpp/build-root/build-vpp
>> _debug-native/netlink'
>>   CC   librtnl/netns.lo
>>   CC   librtnl/rtnl.lo
>>   CC   librtnl/mapper.lo
>>   CC   test/test.lo
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:105:42: error: ‘struct
>> unix_file’ declared inside parameter list will not be visible outside of
>> this definition or declaration [-Werror]
>>  static clib_error_t *rtnl_read_cb(struct unix_file * f)
>>   ^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>> ‘rtnl_read_cb’:
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:109:33: error:
>> dereferencing pointer to incomplete type ‘struct unix_file’
>>rtnl_ns_t *ns = &rm->streams[f->private_data];
>>  ^~
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>> ‘rtnl_socket_close’:
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:141:3: error: implicit
>> declaration of function ‘unix_file_del’ [-Werror=implicit-function-dec
>> laration]
>>unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
>>^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:141:39: error:
>> ‘unix_main_t {aka struct }’ has no member named ‘file_pool’
>>unix_file_del(&unix_main, &unix_main.file_pool[ns->unix_index]);
>>^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c: In function
>> ‘rtnl_socket_open’:
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:262:3: error: unknown type
>> name ‘unix_file_t’
>>unix_file_t template = {0};
>>^~~
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:263:11: error: request for
>> member ‘read_function’ in something not a structure or union
>>template.read_function = rtnl_read_cb;
>>^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:264:11: error: request for
>> member ‘file_descriptor’ in something not a structure or union
>>template.file_descriptor = ns->rtnl_socket;
>>^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:265:11: error: request for
>> member ‘private_data’ in something not a structure or union
>>template.private_data = (uword) (ns - rm->streams);
>>^
>> /git/vpp/build-data/../netlink/librtnl/rtnl.c:266:20: error: implicit
>> declaration of function ‘unix_file_add’ [-Werror=implicit-function-dec
>> laration]
>>ns->unix_index = unix_file_add (&unix_main, &template);
>> ^
>> cc1: all warnings being treated as errors
>> Makefile:520: recipe for target 'librtnl/rtnl.lo' failed
>> make[1]: *** [librtnl/rtnl.lo] Error 1
>> make[1]: *** Waiting for unfinished jobs
>> /git/vpp/build-data/../netlink/test/test.c: In function
>> ‘mapper_ns_add_command_fn’:
>> /git/vpp/build-data/../netlink/test/test.c:125:14: error: implicit
>> declaration of function ‘ip4_fib_index_from_table_id’
>> [-Werror=implicit-function-declaration]
>>u32 fib4 = ip4_fib_index_from_table_id(table_id);
>>   ^~~
>> /git/vpp/build-data/../netlink/test/test.c:126:14: error: implicit
>> declaration of function ‘ip6_fib_index_from_table_id’
>> [-Werror=implicit-function-declaration]
>>u32 fib6 = ip6_fib_index_from_table_id(table_id);
>>   ^~~
>> cc1: all warnings being treated as errors
>> Makefile:520: recipe for target 'test/test.lo' failed
>> make[1]: *** [test/test.lo] Error 1
>> make[1]: Leaving directory '/git/vpp/build-root/build-vpp
>> _debug-native/netlink'
>> Makefile:698: recipe for target 'netlink-build' failed
>> make: *** [netlink-build] Error 2
>>
>>
>>
>>
>>
>> W dniu 2017-09-17 o 16:27, Paweł Staszewski pisze:
>>
>> Also latest vpp from git without including vppsb
>>>
>>> Sep 17 16:28:02 ubuntu systemd[1]: vpp.service: Service hold-off time
>>> over, scheduling restart.
>>> Sep 17 16:28:02 ubuntu systemd[1]: Stopped vector packet processing
>>> engine.
>>> Sep 17 16:28:02 ubuntu systemd[1]: Starting vector packet processing
>>> engine...
>>> Sep 17 16:28:02 ubuntu systemd[1]: Started vector packet processing
>>> engine.
>>> Sep 17 16:28:02 ubuntu vpp[1557]: vlib_plugin_early_init:356: plugin
>>> path /usr/lib/vpp_plugins
>>> Sep 17 16:28:02 ubuntu vpp[1557]: load_one_plugin:184: Loaded plugin:
>>> acl_plugin.so (Access Control Lists)
>>> Sep 17 16:28:02 ubuntu vpp[1557]: load_one_plugin:142:
>>> /usr/lib/vpp_plugins/dpdk_plugin.so: undefined symbol:
>>> aes_gcm_enc_128_sse

[vpp-dev] VPP API for setting routes and MPLS

2017-09-15 Thread Michael Borokhovich
Hi,

Are there APIs available for setting routes and MPLS labels?
Would be great to have REST APIs, but it looks like Honecomb does not
support these operations.

Are there Jvpp APIs for these operations so that we would be able to create
Honecomb plugins for them?

The operations I'm talking about are e.g.,

vppctl mpls local-label add eos 333 ip4-lookup-in-table 2

vppctl ip route add 10.0.0.0/24 table 1 via 10.0.4.12 GigabitEthernet0/6/0
out-label 222

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP Packet Generator and pg0 IP address

2017-08-15 Thread Michael Borokhovich
Got it. Thanks, Neale!

On Tue, Aug 15, 2017 at 4:45 AM, Neale Ranns (nranns) 
wrote:

> Hi Michael,
>
>
>
> Yes you do have to give the pg interface an IP address before it will
> accept IP packets.
>
> We use pg interfaces in the unit-tests so they have to act like real
> interfaces for us to be able to test all the features.
>
>
>
> Regards,
>
> Neale
>
>
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Monday, 14 August 2017 at 23:03
> *To: *"vpp-dev@lists.fd.io" 
> *Subject: *[vpp-dev] VPP Packet Generator and pg0 IP address
>
>
>
> Hi,
>
>
>
> Is it true that in VPP 1707 we have to give IP to the pg0 interface?
>
>
>
> In the previous VPP version (1609), the packet generator worked without IP
> address on pg0, but in 1707 it gives "ip4 adjacency drop" and no packets
> come out. Configuring pg0 with some fake IP worked.
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP Packet Generator and pg0 IP address

2017-08-14 Thread Michael Borokhovich
Hi,

Is it true that in VPP 1707 we have to give IP to the pg0 interface?

In the previous VPP version (1609), the packet generator worked without IP
address on pg0, but in 1707 it gives "ip4 adjacency drop" and no packets
come out. Configuring pg0 with some fake IP worked.

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] MPLS labels question

2017-08-14 Thread Michael Borokhovich
Thanks a lot for the explanation, Neale!

I actually need that all incoming traffic with label 222 will go to a
specific VRF (table 1). So, as I understand, this can be achieved by:

mpls local-label add eos 222 ip4-lookup-in-table 1

And in this case, it seems that I always have to use "add eos".

On Mon, Aug 14, 2017 at 1:59 PM, Neale Ranns (nranns) 
wrote:

>
>
> No, not quite. There’s a need to add ‘eos’ if you want the label entry to
> match against that label AND against the set EOS bit. An MPLS lookup is
> really a 21 bit match; 20 bits of label value and 1 bit EOS.
>
> It only makes sense to send EOS traffic to IP lookup. Sending non-EOS
> traffic to a IP lookup would not result in something good.
>
>
>
> If label 222 has been dedicated to 10.100.2.0/24 (i.e. when we the
> receiver gets traffic with label 222, it must be for 10.100.2.0/24) then
> the command you are looking for is;
>
>mpls local-label 222 10.100.2.0/24
>
> this does what the API refers to as a ‘bind’. It says, whatever IP does
> for 10.100.2.0/24, MPLS should do for label 222. It will add the eos and
> non-eos entries appropriately.
>
>
>
> /neale
>
>
>
>
>
> *From: *Michael Borokhovich 
> *Date: *Monday, 14 August 2017 at 18:20
> *To: *"Neale Ranns (nranns)" 
> *Cc: *"vpp-dev@lists.fd.io" 
> *Subject: *Re: [vpp-dev] MPLS labels question
>
>
>
> I see.. so there is a need to add the "add eos" to the "mpls local-label"
> command if I want to send the packet to the IP lookup after popping a
> single (the only) label.
>
>
>
> Thanks, Neale!
>
>
>
> On Mon, Aug 14, 2017 at 1:01 PM, Neale Ranns (nranns) 
> wrote:
>
>
>
> Hi Michael,
>
>
>
> ‘add’ is the default.
>
> It’s necessary to specify ‘eos’ because it I the end-of-stack entry you
> are adding and the default (i.e. without ‘eos’) is to add the
> non-end-of-stack entry.
>
>
>
> Regards,
>
> neale
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Monday, 14 August 2017 at 16:58
> *To: *"vpp-dev@lists.fd.io" 
> *Subject: *[vpp-dev] MPLS labels question
>
>
>
> Hi,
>
>
>
> I'm adding a label using the following command:
>
>
>
> ip route add 10.100.2.0/24 table 1 via 10.100.4.12 GigabitEthernet0/6/0
> out-label 222
>
>
>
> And on the receiving side poping it with:
>
>
>
> set interface mpls GigabitEthernet0/6/0 enable
>
> mpls local-label 222 ip4-lookup-in-table 1
>
>
>
> However, this didn't work until I added "*add eos*" to the last command,
> i.e., the following worked:
>
>
>
> mpls local-label add eos 222 ip4-lookup-in-table 1
>
>
>
> Why is it necessary to specify "*add eos*" at the receiving side? Or
> maybe my configuration of the sender's side is wrong?
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] MPLS labels question

2017-08-14 Thread Michael Borokhovich
I see.. so there is a need to add the "add eos" to the "mpls local-label"
command if I want to send the packet to the IP lookup after popping a
single (the only) label.

Thanks, Neale!

On Mon, Aug 14, 2017 at 1:01 PM, Neale Ranns (nranns) 
wrote:

>
>
> Hi Michael,
>
>
>
> ‘add’ is the default.
>
> It’s necessary to specify ‘eos’ because it I the end-of-stack entry you
> are adding and the default (i.e. without ‘eos’) is to add the
> non-end-of-stack entry.
>
>
>
> Regards,
>
> neale
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Monday, 14 August 2017 at 16:58
> *To: *"vpp-dev@lists.fd.io" 
> *Subject: *[vpp-dev] MPLS labels question
>
>
>
> Hi,
>
>
>
> I'm adding a label using the following command:
>
>
>
> ip route add 10.100.2.0/24 table 1 via 10.100.4.12 GigabitEthernet0/6/0
> out-label 222
>
>
>
> And on the receiving side poping it with:
>
>
>
> set interface mpls GigabitEthernet0/6/0 enable
>
> mpls local-label 222 ip4-lookup-in-table 1
>
>
>
> However, this didn't work until I added "*add **eos*" to the last
> command, i.e., the following worked:
>
>
>
> mpls local-label add eos 222 ip4-lookup-in-table 1
>
>
>
> Why is it necessary to specify "*add **eos*" at the receiving side? Or
> maybe my configuration of the sender's side is wrong?
>
>
>
> Thanks,
>
> Michael.
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] MPLS labels question

2017-08-14 Thread Michael Borokhovich
Hi,

I'm adding a label using the following command:

ip route add 10.100.2.0/24 table 1 via 10.100.4.12 GigabitEthernet0/6/0
out-label 222

And on the receiving side poping it with:

set interface mpls GigabitEthernet0/6/0 enable
mpls local-label 222 ip4-lookup-in-table 1

However, this didn't work until I added "*add eos*" to the last command,
i.e., the following worked:

mpls local-label add eos 222 ip4-lookup-in-table 1

Why is it necessary to specify "*add eos*" at the receiving side? Or maybe
my configuration of the sender's side is wrong?

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Example of mpls configuration

2017-08-10 Thread Michael Borokhovich
Thanks, Neale, this is very helpful.
BTW, the "out-label" option of the "ip route" is not listed in the
documentation...

On Thu, Aug 10, 2017 at 12:26 PM, Neale Ranns (nranns) 
wrote:

> Hi Michael,
>
>
>
> See the ‘MPLS FIB’ section of
>
>   https://wiki.fd.io/images/7/71/FIB_2.0_-_Hierarchical%2C_
> Protocol_Independent..pdf
>
>
>
> thanks,
>
> neale
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Thursday, 10 August 2017 at 17:01
> *To: *"vpp-dev@lists.fd.io" 
> *Subject: *[vpp-dev] Example of mpls configuration
>
>
>
> Hi,
>
>
>
> Is there an example of how to configure the FIB to push/pop MSPL labels?
>
>
>
> I see that the set of MPLS commands has changed (reduced) between 1609 and
> 1707.
>
>
>
> Any simple example would help.
>
>
>
> Thanks,
>
> Michael.
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Example of mpls configuration

2017-08-10 Thread Michael Borokhovich
Hi,

Is there an example of how to configure the FIB to push/pop MSPL labels?

I see that the set of MPLS commands has changed (reduced) between 1609 and
1707.

Any simple example would help.

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Load-balancer plugin Question

2017-08-09 Thread Michael Borokhovich
Hi,

We are using VPP 1707 and the load balancer plugin.

We have only one public IP available for the load balancer VM and we use
this IP as VIP.

In the VPP 1609, we were able to assign the same VIP to the public
interface and everything worked fine.

However, in VPP 1707, the behaviour has changed. Since VIP is assigned to
the public interface, this interface captures the packets (with dest_ip =
VIP) and they are not forwarded to the application servers.

If we remove the VIP assignment from the public interface, then it is not
able to participate in ARP and thus the load balancer becomes unreachable.

I guess the issue can be solved by assigning another public IP (from the
same subnet as VIP) to the public interface. But we don't have this
additional public IP.

Is there a way to have the VIP assigned to the public interface but still
forward the packets (with dest_ip = VIP) to the application servers? Or
maybe some other configuration may help?

Thanks,
Michael.
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Configuring multiple VFRs

2017-08-09 Thread Michael Borokhovich
Hi Neale,

Indeed, it worked in 1707! I used 1609 previously.

Thanks a lot!
Michael.

On Wed, Aug 9, 2017 at 2:20 PM, Neale Ranns (nranns) 
wrote:

> Hi Michael,
>
>
>
> Those configs will work with newer versions of VPP. Are you able to
> upgrade to 17.07?
>
>
>
> Thanks,
>
> neale
>
>
>
> *From: * on behalf of Michael Borokhovich <
> michael...@gmail.com>
> *Date: *Wednesday, 9 August 2017 at 18:50
> *To: *"vpp-dev@lists.fd.io" 
> *Subject: *[vpp-dev] Configuring multiple VFRs
>
>
>
> Hi,
>
>
>
> We have 3 interfaces. First two belong to different VRFs and the third one
> is a global interface (GigabitEthernet0/6/0).
>
> How we can configure VPP so that the packets received through any of the
> first two interfaces will be sent to the global interface
> (GigabitEthernet0/6/0).
>
>
>
> The default GW is 10.100.4.11, and we tried adding it to the tables but
> nothing worked. Specifically, if we do
>
> "vppctl ip *route* add 10.100.4.0/24 table 1 via GigabitEthernet0/6/0"
>
> the packets are forwarded but *without the Ethernet header.*
>
>
>
> Any help is appreciated. Our config is below.
>
>
>
> Thanks,
>
> Michael.
>
>
>
> *Interfaces config:*
>
>
>
> vppctl set interface ip table GigabitEthernet0/5/0 1
>
> vppctl set int ip address GigabitEthernet0/5/0 10.100.3.11/24
>
> vppctl set int state GigabitEthernet0/5/0 up
>
>
>
> vppctl set interface ip table GigabitEthernet0/4/0 2
>
> vppctl set int ip address GigabitEthernet0/4/0 10.100.1.11/24
>
> vppctl set int state GigabitEthernet0/4/0 up
>
>
>
> vppctl set int ip address GigabitEthernet0/6/0 10.100.4.11/24
>
> vppctl set int state GigabitEthernet0/6/0 up
>
>
>
>
>
> *FIB:*
>
>
>
> Table 0, fib_index 0, flow hash: src dst sport dport proto
>
>  Destination Packets  Bytes Adjacency
>
> 10.100.4.0/24  0   0 weight 1, index 3
>
>   10.100.4.11/24
>
> 10.100.4.11/32 0   0 weight 1, index 4
>
>   10.100.4.11/24
>
>
>
> Table 1, fib_index 1, flow hash: src dst sport dport proto
>
>  Destination Packets  Bytes Adjacency
>
> 10.100.3.0/24  0   0 weight 1, index 5
>
>   10.100.3.11/24
>
> 10.100.3.11/32 0   0 weight 1, index 6
>
>   10.100.3.11/24
>
>
>
> Table 2, fib_index 2, flow hash: src dst sport dport proto
>
>  Destination Packets  Bytes Adjacency
>
> 10.100.1.0/24  0   0 weight 1, index 7
>
>   10.100.1.11/24
>
> 10.100.1.11/32 0   0 weight 1, index 8
>
>   10.100.1.11/24
>
>
>
> *IP addresses:*
>
> GigabitEthernet0/4/0 (up):
>
>   10.100.1.11/24 table 2
>
> GigabitEthernet0/5/0 (up):
>
>   10.100.3.11/24 table 1
>
> GigabitEthernet0/6/0 (up):
>
>   10.100.4.11/24
>
> local0 (dn):
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Configuring multiple VFRs

2017-08-09 Thread Michael Borokhovich
Hi,

We have 3 interfaces. First two belong to different VRFs and the third one
is a global interface (GigabitEthernet0/6/0).
How we can configure VPP so that the packets received through any of the
first two interfaces will be sent to the global interface
(GigabitEthernet0/6/0).

The default GW is 10.100.4.11, and we tried adding it to the tables but
nothing worked. Specifically, if we do
"vppctl ip *route* add 10.100.4.0/24 table 1 via GigabitEthernet0/6/0"
the packets are forwarded but *without the Ethernet header.*

Any help is appreciated. Our config is below.

Thanks,
Michael.

*Interfaces config:*

vppctl set interface ip table GigabitEthernet0/5/0 1
vppctl set int ip address GigabitEthernet0/5/0 10.100.3.11/24
vppctl set int state GigabitEthernet0/5/0 up

vppctl set interface ip table GigabitEthernet0/4/0 2
vppctl set int ip address GigabitEthernet0/4/0 10.100.1.11/24
vppctl set int state GigabitEthernet0/4/0 up

vppctl set int ip address GigabitEthernet0/6/0 10.100.4.11/24
vppctl set int state GigabitEthernet0/6/0 up


*FIB:*

Table 0, fib_index 0, flow hash: src dst sport dport proto
 Destination Packets  Bytes Adjacency
10.100.4.0/24  0   0 weight 1, index 3
  10.100.4.11/24
10.100.4.11/32 0   0 weight 1, index 4
  10.100.4.11/24

Table 1, fib_index 1, flow hash: src dst sport dport proto
 Destination Packets  Bytes Adjacency
10.100.3.0/24  0   0 weight 1, index 5
  10.100.3.11/24
10.100.3.11/32 0   0 weight 1, index 6
  10.100.3.11/24

Table 2, fib_index 2, flow hash: src dst sport dport proto
 Destination Packets  Bytes Adjacency
10.100.1.0/24  0   0 weight 1, index 7
  10.100.1.11/24
10.100.1.11/32 0   0 weight 1, index 8
  10.100.1.11/24

*IP addresses:*
GigabitEthernet0/4/0 (up):
  10.100.1.11/24 table 2
GigabitEthernet0/5/0 (up):
  10.100.3.11/24 table 1
GigabitEthernet0/6/0 (up):
  10.100.4.11/24
local0 (dn):
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev