yeah, ~0 is not right, 
but I only changed "ip_local_next_t" and "VLIB_REGISTER_NODE (ip4_local_node)"
This is backtrace.


(gdb) bt
#0  0x00007ffff776e73d in vlib_get_node (i=4294967295, 
    vm=0x7ffff79aa2a0 <vlib_global_main>)
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/node_funcs.h:60
#1  vlib_node_main_init (vm=0x7ffff79aa2a0 <vlib_global_main>)
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/node.c:607
#2  0x00007ffff7757a1a in vlib_main (
    vm=vm@entry=0x7ffff79aa2a0 <vlib_global_main>, 
    input=input@entry=0x7fffaec1efa0)
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/main.c:1694
#3  0x00007ffff7790f23 in thread0 (arg=140737347494560)
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/unix/main.c:507
#4  0x00007fffefe1def0 in clib_calljmp ()
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vppinfra/longjmp.S:110
#5  0x00007fffffffcc70 in ?? ()
#6  0x00007ffff779193d in vlib_unix_main (argc=<optimized out>, 
    argv=<optimized out>)
    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/unix/main.c:606
---Type <return> to continue, or q <return> to quit---
#7  0x8d48b63c8d48f263 in ?? ()
#8  0x894cb1348d497e34 in ?? ()
#9  0x894c08408b4c1c46 in ?? ()
#10 0x8b4418408b4c2446 in ?? ()
#11 0x89442c46894c2050 in ?? ()
#12 0x50893446894c3c56 in ?? ()
#13 0x1030054801c18328 in ?? ()
#14 0x76744c244c3b0000 in ?? ()
#15 0xeff0b08ba874c985 in ?? ()


Regards





At 2018-05-25 20:14:17, "Dave Barach (dbarach)" <dbar...@cisco.com> wrote:


You’re either passing ~0 to vlib_get_node – or causing the infra to do so - 
which can’t possibly work:

 

vlib_get_node (i=4294967295,    vm=0x7ffff79aa2a0 <vlib_global_main>)

 

You didn’t send a full backtrace so there’s nothing more I can do to help.

 

D>

 

From:vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of xulang
Sent: Friday, May 25, 2018 5:27 AM
To:vpp-dev@lists.fd.io
Subject: [vpp-dev] new next_node caused Segmentation fault

 

Hi all,

I tried to add a new next node to the node "ip4_local_node",

but which caused a segmentation fault, is there something I have missed?

 

 

typedef enum

{

  IP_LOCAL_NEXT_DROP,

  IP_LOCAL_NEXT_PUNT,

  IP_LOCAL_NEXT_UDP_LOOKUP,

  IP_LOCAL_NEXT_ICMP,

  IP_LOCAL_NEXT_CAPWAP,

  IP_LOCAL_N_NEXT,

} ip_local_next_t;

 

VLIB_REGISTER_NODE (ip4_local_node) =

{

  .function = ip4_local,

  .name = "ip4-local",

  .vector_size = sizeof (u32),

  .format_trace = format_ip4_forward_next_trace,

  .n_next_nodes = IP_LOCAL_N_NEXT,

  .next_nodes =

  {

    [IP_LOCAL_NEXT_DROP] = "error-drop",

    [IP_LOCAL_NEXT_PUNT] = "error-punt",

    [IP_LOCAL_NEXT_UDP_LOOKUP] = "ip4-udp-lookup",

    [IP_LOCAL_NEXT_ICMP] = "ip4-icmp-input",

    [IP_LOCAL_NEXT_CAPWAP] = "ethernet-input",

  },

 

 

 

(gdb) run -c /etc/vpp/startup.conf 

Starting program: /usr/bin/vpp -c /etc/vpp/startup.conf

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

[New Thread 0x7fffae81d700 (LWP 118617)]

vlib_plugin_early_init:360: plugin path /usr/lib/vpp_plugins

load_one_plugin:188: Loaded plugin: acl_plugin.so (Access Control Lists)

load_one_plugin:188: Loaded plugin: dpdk_plugin.so (Data Plane Development Kit 
(DPDK))

load_one_plugin:188: Loaded plugin: flowperpkt_plugin.so (Flow per Packet)

load_one_plugin:188: Loaded plugin: ila_plugin.so (Identifier-locator 
addressing for IPv6)

load_one_plugin:188: Loaded plugin: ioam_plugin.so (Inbound OAM)

load_one_plugin:114: Plugin disabled (default): ixge_plugin.so

load_one_plugin:188: Loaded plugin: lb_plugin.so (Load Balancer)

load_one_plugin:188: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid Deployment 
on IPv4 Infrastructure (RFC5969))

load_one_plugin:188: Loaded plugin: memif_plugin.so (Packet Memory Interface 
(experimetal))

load_one_plugin:188: Loaded plugin: snat_plugin.so (Network Address Translation)

 

Thread 1 "vpp" received signal SIGSEGV, Segmentation fault.

0x00007ffff776e73d in vlib_get_node (i=4294967295, 

    vm=0x7ffff79aa2a0 <vlib_global_main>)

    at 
/home/wangzy/VBRASV100R001_new_trunk/vpp1704/build-data/../src/vlib/node_funcs.h:60

60         return vec_elt (vm->node_main.nodes, i);

(gdb) 

 

Regards

 

 

Reply via email to