summaryrefslogtreecommitdiffstats
path: root/src/plugins/lb/api.c
AgeCommit message (Collapse)AuthorFilesLines
2023-01-18lb: add source ip based sticky load balancingNobuhiro MIKI1-0/+74
This patch adds source ip based sticky session, which is already implemented in many hardware LBs and software LBs. Note that sticky sessions may be reset if the hash is recalculated as ASs are added or deleted. Since this feature is unrelated to the other existing options, the lb_add_del_vip API version has been upgraded to v2 and a new option "src_ip_sticky" has been added. Type: feature Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp> Change-Id: I3eb3680a28defbc701f28c873933ec2fb54544ab
2022-10-12misc: fix issues reported by clang-15Damjan Marion1-2/+0
Type: improvement Change-Id: I3fbbda0378b72843ecd39a7e8592dedc9757793a Signed-off-by: Damjan Marion <dmarion@me.com>
2022-09-26api: replace print functions wth formatDamjan Marion1-7/+5
Type: improvement Change-Id: I7f7050c19453a69a7fb6c5e62f8f57db847d9144 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14misc: move to new pool_foreach macrosDamjan Marion1-7/+7
Type: refactor Change-Id: Ie67dc579e88132ddb1ee4a34cb69f96920101772 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-25api: vat2 and json autogeneration for api messagesOle Troan1-77/+0
VAT2: A completely auto-generated replacement of VAT. Reads input message in JSON from stdin and outputs received messages in JSON. A VAT2 plugin is automatically built for a .api file. There no longer a need for a separate _test.c. Example: vat2 show_version {} { "_msgname": "show_version_reply", "retval": 0, "program": "vpe", "version": "21.01-rc0~411-gf6eb348a6", "build_date": "2020-11-19T09:49:25", "build_directory": "/vpp/autogen3" } vat2 sw_interface_dump '{"sw_if_index": -1, "name_filter_valid": 0, "name_filter": ""}' [{ "_msgname": "sw_interface_details", "sw_if_index": 0, "sup_sw_if_index": 0, "l2_address": "00:00:00:00:00:00", "flags": "Invalid ENUM", "type": "IF_API_TYPE_HARDWARE", "link_duplex": "LINK_DUPLEX_API_UNKNOWN", "link_speed": 0, "link_mtu": 0, "mtu": [0, 0, 0, 0], "sub_id": 0, "sub_number_of_tags": 0, "sub_outer_vlan_id": 0, "sub_inner_vlan_id": 0, "sub_if_flags": "Invalid ENUM", "vtr_op": 0, "vtr_push_dot1q": 0, "vtr_tag1": 0, "vtr_tag2": 0, "outer_tag": 0, "b_dmac": "00:00:00:00:00:00", "b_smac": "00:00:00:00:00:00", "b_vlanid": 0, "i_sid": 0, "interface_name": "local0", "interface_dev_type": "local", "tag": "" }] This is the first phase and vat2 is not integrated in packaging yet. Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib45ddeafb180ea7da8c5dc274a9274d7a4edc876 Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-06misc: harmonize namesDave Barach1-2/+2
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ibad744788e200ce012ad88ff59c2c34920742454
2020-01-17lb: fix that lb_add_del_vip and lb_add_del_as api doesn't work correctlyYulong Pei1-9/+4
Currently if user want to set ip4 address to the api, it must convert to ip6 format, e.g. user want to ip4 "90.1.2.1" but must convert to "::5A01:0201", it is not acceptable, this fix solved the issue. Ticket: FDIO-753 Type: fix Change-Id: I2ffa5a3d38400ee176cf601421074f71fc395f03 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2019-11-26lb: lb_add_del_vip and lb_add_del_as doesn't work.Hongjun Ni1-3/+13
Ticket: FDIO-753 Type: fix Change-Id: I4a8cf06970b658dfa15768459a3ff76571d6dfff Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-10-30lb: refactor ntohl in lb_conf handlerVratko Polak1-9/+9
Type: refactor Change-Id: Ibe8f3c1ed5c04d1800fea9b9a90772816aa38d65 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-09-30lb: remove api boilerplateOle Troan1-77/+6
Type: refactor Change-Id: I5555037386d6f6593ac3328385603a382be1fc2a Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-26lb: add APIs for set interface nat4 and nat6Hongjun Ni1-0/+42
Type: feature Change-Id: I5656cd798b108dd780381b87f574554442ed7b23 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-09-26lb: vl_api_lb_conf_t_handler has to ntohlVratko Polak1-4/+4
As requested in review, this is a minimal edit. Refactor comes as a separate Change. Type: fix Change-Id: Ie3bdfc3cfde4bfee56848217133ca5f6bbccaeef Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-08-29lb: fix memcpy error issueYulong Pei1-7/+3
vl_api_prefix_t size is 21 byte, ip46_address_t size is 16 byte, only copy 16 byte of vl_api_prefix_t to ip46_address_t is not correct. Type:fix Change-Id: I35ede7836a0c878d39388b29b15d91bb08f87a07 Signed-off-by: Yulong Pei <yulong.pei@intel.com>
2019-07-31lb: vip and as dump/detail api'sHongjun Ni1-38/+160
- lb_vip_dump/lb_vip_details - get all vip. - lb_as_dump/lb_as_details - get all as list per vip. - adds api unit test. - adds vpp_lb to test framework. Ticket: Type: feature Change-Id: I24be50d62c5234f3535cc840603ddd9df7eb3f07 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-07-18lb: update api.c to use scaffolding from latest skelPaul Vinciguerra1-39/+58
Type: refactor Change-Id: I01329385684f4a4f477cb046079b554ae3024ded Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-22tests: update test_lb.py to use api call lb_conf.Paul Vinciguerra1-2/+10
Change-Id: I96a1d4b2b3ae22cf164c0acd6db9b323cd70f51a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07Add VAT support for LBHongjun Ni1-6/+7
Change-Id: I61d8c35f48a059968909fc8523bd313fc4799389 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-09-24LB: fix flush flow table issueHongjun Ni1-1/+44
Change-Id: Ib0a06ab71aed42eb5bb2ab2edf4844b2167e0610 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-09-07Add flush flag on del as commandHongjun Ni1-1/+1
This patch depends on https://gerrit.fd.io/r/#/c/13260 Change-Id: If94968342935ebd24cf4ebed238e6a27d94959b7 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-08-31Support lb on both vip and per-port-vip caseHongjun Ni1-5/+11
Previously, a service is specified by vip. This patch extend that a service is specified by both vip and per-port-vip cases. Change-Id: Icbfd1f972c6bafde7d85c6abb498576bd9ba250d Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-06-08LB: reply message id and table length are wrong.Hongjun Ni1-2/+2
Change-Id: Iea2c661cb3e0728bb2d10b06791ed84fed00f6a7 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-06-05lb api: correct byte order of new_flows_table_length argumentAndrey "Zed" Zaikin1-1/+1
Change-Id: I3ac348a8cb1a515dfe1839eaa084c87719d282e1 Signed-off-by: Andrey "Zed" Zaikin <zed.0xff@gmail.com>
2018-05-18Rework kube-proxy into LB pluginHongjun Ni1-17/+63
Add support of NAT66 Change-Id: Ie6aa79078a3835f989829b9a597c448dfd2f9ea3 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-02-02Add L3DSR feature in LB pluginHongjun Ni1-5/+16
L3DSR is used to overcome Layer 2 limitations of Direct Server Return Load Balancing. It maps VIP to DSCP bits, and reuse TOS bits to transfer it to server, and then server will get VIP from DSCP-to-VIP mapping. Please refer to https://www.nanog.org/meetings/nanog51/presentations/Monday/NANOG51.Talk45.nanog51-Schaumann.pdf Change-Id: I403ffeadfb04ed0265086eb2dc41f2e17f8f34cb Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-10-03Repair vlib API socket serverDave Barach1-1/+1
- Teach vpp_api_test to send/receive API messages over sockets - Add memfd-based shared memory - Add api messages to create memfd-based shared memory segments - vpp_api_test supports both socket and shared memory segment connections - vpp_api_test pivot from socket to shared memory API messaging - add socket client support to libvlibclient.so - dead client reaper sends ping messages, container-friendly - dead client reaper falls back to kill (<pid>, 0) live checking if e.g. a python app goes silent for tens of seconds - handle ping messages in python client support code - teach show api ring about pairwise shared-memory segments - fix ip probing of already resolved destinations (VPP-998) We'll need this work to implement proper host-stack client isolation Change-Id: Ic23b65f75c854d0393d9a2e9d6b122a9551be769 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-03-16API:replaced all REPLY_MACRO's with api_helper_macros.hEyal Bari1-23/+4
Change-Id: I08ab1fd0abdd1db4aff11a38c9c0134b01368e11 Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion1-0/+228
Change-Id: I1c3b87e886603678368428ae56a6bd3327cbc90d Signed-off-by: Damjan Marion <damarion@cisco.com>