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.


/neale

From: <vpp-dev-boun...@lists.fd.io> on behalf of Michael Borokhovich 
<michael...@gmail.com>
Date: Tuesday, 10 October 2017 at 00:41
To: "Shaw, Jeffrey B" <jeffrey.b.s...@intel.com>
Cc: "vppsb-...@lists.fd.io" <vppsb-...@lists.fd.io>, vpp-dev 
<vpp-dev@lists.fd.io>
Subject: Re: [vpp-dev] [vppsb-dev] Router plugin with VPP 1707 - incoming OSPF 
Hello packets are dropped by VPP

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 <jeffrey.b.s...@intel.com> 
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] <dst-ip-addr>/<width> 
[table <table-id>] [via <next-hop-ip-addr> [<interface>],
… 
  route                          ip route [add|del] [count <n>] 
<dst-ip-addr>/<width> [table <table-id>] [via <next-hop-ip-addr> \
                                               [<interface>] [weight <weight>]] 
| [via arp <interface> <adj-hop-ip-addr>] |
                                               [via 
drop|punt|local<id>|arp|classify <classify-idx>] [lookup in table 
<out-table-id>]
 
-Jeff
 
From: Michael Borokhovich [mailto:michael...@gmail.com] 
Sent: Monday, October 09, 2017 3:26 PM
To: Shaw, Jeffrey B <jeffrey.b.s...@intel.com>
Cc: vpp-dev <vpp-dev@lists.fd.io>; 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 <jeffrey.b.s...@intel.com> 
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 = 0x000000E0; /* 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-boun...@lists.fd.io] On 
Behalf Of Michael Borokhovich
Sent: Monday, October 09, 2017 3:16 PM
To: vpp-dev <vpp-dev@lists.fd.io>; 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 <michael...@gmail.com> 
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

Reply via email to