summaryrefslogtreecommitdiffstats
path: root/src/vat
AgeCommit message (Expand)AuthorFilesLines
2018-07-18Add config option to use dlmalloc instead of mheapDave Barach1-9/+1
2018-07-13VPP-1338: fix ipsec api coverity warningsDave Barach1-8/+4
2018-07-10FIB path dump: fix next-hop-table ID for recursive routesNeale Ranns1-4/+6
2018-06-25MAP: Move MAP-E/T to a plugin.Ole Troan1-373/+0
2018-06-19Fixed bugs in SRv6 APIPablo Camarillo1-4/+12
2018-06-15STATS: Separate socket for fd exchange.Ole Troan1-90/+2
2018-06-13Stat segment / client: show run" works nowDave Barach2-10/+11
2018-06-13vxlan:offload RX floweyal bari1-5/+106
2018-06-11MTU: Software interface / Per-protocol MTU supportOle Troan1-6/+6
2018-06-08export counters in a memfd segmentDave Barach2-2/+170
2018-06-07DHCP Client DumpNeale Ranns1-9/+10
2018-05-31Improve L2FIB delete entry handling and "show l2fib" CLI optionsJohn Lo1-2/+2
2018-05-30vppinfra: explicitely state for signed types that they are signedDamjan Marion1-1/+1
2018-05-30Fix clang compilation on aarch64: sizeof operator error.Sirshak Das1-1/+1
2018-05-29af_packet: Add support for dump interfacesMohsin Kazmi1-0/+49
2018-05-25ARP proxy dumpsNeale Ranns1-3/+3
2018-05-11Periodic scan and probe of IP neighbors to maintain neighbor poolsJohn Lo1-0/+77
2018-05-10Remove the historical memfd api segment bootstrapDave Barach1-164/+30
2018-05-04ipsec: allow null/null for crypto/integ algorithms pairRadu Nicolau1-4/+4
2018-04-27VAT for qos_record_enable_disable APIIgor Mikhailov (imichail)1-1/+73
2018-04-19Allow an IPsec tunnel interface to be renumberedMatthew Smith1-1/+12
2018-04-16Implement ip_probe_neighbor APIJohn Lo1-1/+56
2018-04-13Revert "MTU: Setting of MTU on software interface (instead of hardware interf...Damjan Marion1-1/+1
2018-04-13MTU: Setting of MTU on software interface (instead of hardware interface)Ole Troan1-1/+1
2018-04-09Autodetect plugin pathDamjan Marion1-0/+1
2018-03-21bond: Add bonding driver and LACP protocolSteven1-1/+476
2018-03-14Improve l2_macs_events API to provide MAC move informationJohn Lo1-2/+2
2018-03-13Rationalize plugin symbol error reportingDave Barach1-2/+7
2018-03-12SPAN: Add 'is_l2" flag to DETAILS response messages.Jon Loeliger1-2/+4
2018-03-09MPLS Unifom modeNeale Ranns1-8/+8
2018-03-02tapv2: CLI and binary API fixesSteven1-7/+7
2018-02-15Optimize GRE Tunnel and add support for ERSPAN encapJohn Lo1-11/+23
2018-02-12Fix the order of RFC2685 fields in the output.Igor Mikhailov (imichail)1-2/+2
2018-02-07VXLAN: Allow user to specify a custom vxlan tunnel instance id.Jon Loeliger1-4/+13
2018-02-07classifier-based ACL: refactor + add output ACLAndrew Yourtchenko1-2/+60
2018-01-18tapv2: add option to set host-side default gwDamjan Marion1-1/+14
2018-01-15svm: refactor memfd and remove ssvm_ethFlorin Coras1-3/+2
2018-01-11Remove vpp_api_test interface name filter catalogDave Barach1-66/+9
2018-01-09api: refactor vlibmemoryFlorin Coras2-2/+2
2018-01-05sock api: add infra for bootstrapping shm clientsFlorin Coras3-11/+65
2017-12-14tap_v2: include host-side parameters in the dump binary APIMilan Lenco1-3/+38
2017-12-08Remove the unused 'create VRF if needed' API parametersNeale Ranns1-16/+0
2017-12-08tapv2: multiple improvementsDamjan Marion1-20/+29
2017-12-02tap_v2: multiple improvementsDamjan Marion1-12/+49
2017-12-01virtio: fix coverity warningsSteven1-3/+1
2017-11-30virtio: fast TAP interfaces with vhost-net backendDamjan Marion1-0/+259
2017-11-16Add Support of DHCP VSS Type 0 where VPN-ID is ASCIIJohn Lo1-32/+46
2017-11-10Break up vpe.apiNeale Ranns1-42/+0
2017-11-10session: add app ns index to ns create apiFlorin Coras1-1/+35
2017-11-09BIERNeale Ranns1-0/+158
span class="p">][mode], sw_if_index, 1, 0, 0); } /* else - no change to existing config */ urpf_cfgs[af][dir][sw_if_index] = mode; } static clib_error_t * urpf_cli_update (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { unformat_input_t _line_input, *line_input = &_line_input; vnet_main_t *vnm = vnet_get_main (); clib_error_t *error = NULL; ip_address_family_t af; urpf_mode_t mode; u32 sw_if_index; vlib_dir_t dir; sw_if_index = ~0; af = AF_IP4; dir = VLIB_RX; mode = URPF_MODE_STRICT; if (!unformat_user (input, unformat_line_input, line_input)) return 0; while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { if (unformat (line_input, "%U", unformat_vnet_sw_interface, vnm, &sw_if_index)) ; else if (unformat (line_input, "%U", unformat_urpf_mode, &mode)) ; else if (unformat (line_input, "%U", unformat_ip_address_family, &af)) ; else if (unformat (line_input, "%U", unformat_vlib_rx_tx, &dir)) ; else { error = unformat_parse_error (line_input); goto done; } } if (~0 == sw_if_index) { error = clib_error_return (0, "unknown interface `%U'", format_unformat_error, line_input); goto done; } urpf_update (mode, sw_if_index, af, dir); done: unformat_free (line_input); return error; } /*? * This command configures uRPF on an interface. * Two flavours are supported (the default is strict): * - loose: accept ingress packet if there is a route to reach the source * - strict: accept ingress packet if it arrived on an interface which * the route to the source uses. i.e. an interface that the source * is reachable via. * * @cliexpar * @parblock * Example of graph node before range checking is enabled: * @cliexstart{show vlib graph ip4-rx-urpf-strict} * Name Next Previous * ip4-rx-urpf-strict ip4-drop [0] * @cliexend * * Example of how to enable unicast source checking on an interface: * @cliexcmd{set urpf ip4 rx GigabitEthernet2/0/0 loose} * * Example of graph node after range checking is enabled: * @cliexstart{show vlib graph ip4-rx-urpf-loose} * Name Next Previous * ip4-rx-urpf-loose ip4-drop [0] ip4-input-no-checksum * ip4-source-and-port-range- ip4-input * @cliexend * * Example of how to display the feature enabed on an interface: * @cliexstart{show ip interface features GigabitEthernet2/0/0} * IP feature paths configured on GigabitEthernet2/0/0... * * ipv4 unicast: * ip4-rx-urpf-loose * ip4-lookup * * ipv4 multicast: * ip4-lookup-multicast * * ipv4 multicast: * interface-output * * ipv6 unicast: * ip6-lookup * * ipv6 multicast: * ip6-lookup * * ipv6 multicast: * interface-output * @cliexend * * Example of how to disable unicast source checking on an interface: * @cliexcmd{set urpf ip4 off GigabitEthernet2/0/0} * @endparblock ?*/ /* *INDENT-OFF* */ VLIB_CLI_COMMAND (set_interface_ip_source_check_command, static) = { .path = "set urpf", .function = urpf_cli_update, .short_help = "set urpf [ip4|ip6] [rx|tx] [off|strict|loose] <INTERFACE>", }; /* *INDENT-ON* */ static clib_error_t * urpf_cli_accept (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { unformat_input_t _line_input, *line_input = &_line_input; clib_error_t *error = NULL; fib_prefix_t fpfx; ip_prefix_t pfx; u32 table_id, is_add, fib_index; is_add = 1; table_id = 0; /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) return 0; while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { if (unformat (line_input, "table %d", &table_id)) ; else if (unformat (line_input, "del")) is_add = 0; else if (unformat (line_input, "add")) is_add = 1; else if (unformat (line_input, "%U", unformat_ip_prefix, &pfx)) ; else { error = unformat_parse_error (line_input); goto done; } } ip_prefix_to_fib_prefix (&pfx, &fpfx); fib_index = fib_table_find (fpfx.fp_proto, table_id); if (~0 == fib_index) { error = clib_error_return (0, "Nonexistent table id %d", table_id); goto done; } if (is_add) fib_table_entry_special_add (fib_index, &fpfx, FIB_SOURCE_URPF_EXEMPT, FIB_ENTRY_FLAG_DROP); else fib_table_entry_special_remove (fib_index, &fpfx, FIB_SOURCE_URPF_EXEMPT); done: unformat_free (line_input); return (error); } /*? * Add an exemption for a prefix to pass the Unicast Reverse Path * Forwarding (uRPF) loose check. This is for testing purposes only. * If the '<em>table</em>' is not enter it is defaulted to 0. Default * is to '<em>add</em>'. VPP always performs a loose uRPF check for * for-us traffic. * * @cliexpar * Example of how to add a uRPF exception to a FIB table to pass the * loose RPF tests: * @cliexcmd{set urpf-accept table 7 10.0.0.0/8 add} ?*/ /* *INDENT-OFF* */ VLIB_CLI_COMMAND (urpf_accept_command, static) = { .path = "set urpf-accept", .function = urpf_cli_accept, .short_help = "urpf-accept [table <table-id>] [add|del] <PREFIX>", }; /* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */