aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2019-10-09interface: callback to manage extra MAC addressesMatthew Smith6-1/+256
Type: feature New callback vnet_hw_interface_add_del_mac_address(). Add or delete secondary MAC addresses on a hardware interface. This will allow packets to be processed which have a destination MAC address other than the primary programmed MAC address without needing to put the device into promiscuous mode. Change-Id: I6beecbcb8932fc1fe45b567f76fa3706feefae2c Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-10-09mpls: support fragmentation of mpls output packetRajesh Goel6-16/+120
Type: fix Signed-off-by: Rajesh Goel <rajegoel@cisco.com> Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844
2019-10-09ip: only install IPv6 prefixes in FIB when the interface is upNeale Ranns1-39/+36
otherwise they get installed twice and the reference counting means they are not removed. This is the same behaviour as IPv4. Type: fix Change-Id: I9266e04ccff6ff06a577e85973a2ddbeb9dfc52b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-09fib: P2P interfaces do not need specific multicast adjacenciesNeale Ranns1-3/+18
they can use the 'auto' adj for all traffic Type: fix Change-Id: Id2b9557683252a94badc8f9dfab5f7b2ae26f1ee Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-09hsa: use crypto_engine_type_t for TLSNathan Skrzypczak3-18/+18
Type: refactor This patch does the following conversions TLS_ENGINE_X -> CRYPTO_ENGINE_X tls_engine_type_t -> crypto_engine_t It does not change numbering of engines Change-Id: I872dfaec3a6713bf4229c84d1ffd98b8b2419995 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09session: Add certificate storeNathan Skrzypczak9-56/+305
Type: feature This changes the behavior of both API calls APPLICATION_TLS_CERT_ADD & APPLICATION_TLS_KEY_ADD certificates and keys aren't bound to an app, they are passed to it via connect / listen using the message queue. This should be followed by a per protocol (QUIC/TLS) crypto_context store to save devrived structs Change-Id: I36873bc8b63b5c72776c69e8cd9febc9cae31882 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-08tcp: rate sample for persist segmentsFlorin Coras1-0/+6
Type: fix Change-Id: I7c38d2ad6364f098529f51c15b533eb234b82716 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-10-08hsa: make vpp_echo use mq instead of bapiNathan Skrzypczak1-0/+2
Type: refactor Change-Id: I4f370b09e22dbbc8920272df9a042dae04825bfc Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-08session: add is_migrating flagNathan Skrzypczak2-0/+2
Type: fix Add SESSION_F_IS_MIGRATING flag for session. It is set by the session layer before poking the transport for migration. It's the transport responsibility to unset the flag & act apropriatly if RX happens on a migrating session. Change-Id: Ie722917f1cf9344d8f041cad4ed8b064fb5853b6 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-07ip: remove dead code in ip6-svrKlement Sekera1-27/+0
Type: fix Fixes: de34c35fc73226943538149fae9dbc5cfbdc6e75 Change-Id: Ia714c2e46627864091d3f686dbced4cdd9c1a773 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-07devices: vhost not reading packets from vringSteven Luong2-0/+25
In a rare event, after the vhost protocol message exchange has finished and the interface had been brought up successfully, the driver MAY still change its mind about the memory regions by sending new memory maps via SET_MEM_TABLE. Upon processing SET_MEM_TABLE, VPP invalidates the old memory regions and the descriptor tables. But it does not re-compute the new descriptor tables based on the new memory maps. Since VPP does not have the descriptor tables, it does not read the packets from the vring. In the normal working case, after SET_MEM_TABLE, the driver follows up with SET_VRING_ADDRESS which VPP computes the descriptor tables. The fix is to stash away the descriptor table addresses from SET_VRING_ADDRESS. Re-compute the new descriptor tables when processing SET_MEM_TABLE if descriptor table addresses are known. Type: fix Ticket: VPP-1784 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I3361f14c3a0372b8d07943eb6aa4b3a3f10708f9 (cherry picked from commit 61b8ba69f7a9540ed00576504528ce439f0286f5)
2019-10-07dhcp: Move to pluginNeale Ranns26-10785/+0
Type: feature Change-Id: I3fe27a8ef577741d9a5c4f090ec91cf68fb44fe3 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-07mactime: add a "top" command to watch device statsDave Barach1-1/+3
Include a binary API change NOT suitable for cherry-picking into 19.08 Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id369514a3085f5e4bcee34819c55c4636df9b518
2019-10-07ip: add tracing for ipv6 frag headersKlement Sekera1-0/+24
Type: feature Change-Id: I0e049b28d8c21b67ea4545e865eda4e88f10e485 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-07ip: reassembly add missing gotoKlement Sekera1-0/+1
Type: fix Fixes: de34c35fc73226943538149fae9dbc5cfbdc6e75 Change-Id: I256ef153b3b27a1f7ab7daa45015a2ec4bc84076 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-07ip: reassembly remove dead codeKlement Sekera1-8/+0
Type: fix Fixes: de34c35fc73226943538149fae9dbc5cfbdc6e75 Change-Id: I79589f648f4c75762e5277fb94636a91fa36ccdd Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-10-07dhcp: API return code fixNeale Ranns1-2/+2
Type: fix Change-Id: Ifcbfeecd6ca1215ec473eec4cce736ab4eacde80 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-07ip: MFIB CLI fix for parsing path flagsNeale Ranns2-3/+4
Type: fix Change-Id: I7ed9726d8c5ca26715a84b004a18fd7f93142486 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-06bonding: traffic traversing the wrong interfaceSteven Luong1-0/+1
Missing an increment in the while loop. Hashes not stored in the array. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I603027f5a7305478f48a102ac8035ffde9102c53 (cherry picked from commit 0471cdbd3fe04a88a8b70b5f0eff0c378e19abf7)
2019-10-06ip: Fix IP unnumbered dump of one interfaceNeale Ranns1-1/+1
Type: fix Change-Id: I35fb6fdfba50c4a59cf1ffb94cb51487bcf5afc9 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-04ip: fix use-after-free in IPv6 SLAAC expirationBenoît Ganne1-3/+11
Type: fix Change-Id: I46b166b3a10c4543eafa4422531dd3c725db45f1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-10-03misc: add "maxframe" and "rate" to packet-generator cli.Christian E. Hopps3-5/+13
Allow for setting the maximum number of generated packets to be included in the frame passed to next nodes. This is very important for testing code which may be susceptible to multi-frame vs single-frame bugs (e.g., code that is doing re-ordering where packets may be buffered between frames). Update: - remove redundant packet "rate" option. - reduce n_max_frame to u32 as that's what pulled from the CLI. Type: feature Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: Ie362bbb110b2cf01d9f65c559bbe9101e17b7fdc Signed-off-by: Christian Hopps <chopps@labn.net>
2019-10-03ethernet: fix dmac filter coverity warningMatthew Smith1-1/+1
Static analysis says that a possibly null pointer is dereferenced. Check it first. Type: fix Change-Id: I3d1a1548162d1dfc26f19fbcf159f0f1f91eb7c4 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-10-03feature: API cleanupJakub Grajciar1-6/+8
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Id1e7210298cb494f3cb7a47a9ecf2bc1d9c1d58e
2019-10-03dhcp: API cleanupJakub Grajciar6-86/+116
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ia63d920788add2584060a240321acced7a471640
2019-10-02ip: mfib CLI 'via local' fixNeale Ranns1-0/+2
Type: fix Change-Id: I6fd7bb27b95a50d37424f65dc51e8b341f8b1b28 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-10-02ethernet: dmac filter checks secondary mac addrsMatthew G Smith3-34/+186
Maintain a list of secondary MAC addresses on ethernet_interface_t. In ethernet-input dmac filtering, If packets do not match the primary interface hardware address, check to see if they match the other addresses. Type: feature Change-Id: Ie0edf45cae0d85c038a61086c47b3ae82d7e162d Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-10-01session: fix use-after-freeBenoît Ganne4-4/+5
Make sure to reinitialize data before free-ing it. Type: fix Change-Id: I45727c456d0345204d4825ecdd9690c5ebeb5e94 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-10-01session: allow transport cleanup in any stateFlorin Coras1-3/+2
Type: fix Third time's a charm Change-Id: I31555a35d2b51f49a93a2a213c28896b0cad4c09 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-30ipsec: fix use-after-freeBenoît Ganne1-3/+7
When deleting interface from the API, 'hi' gets removed before 'h->sw_if_index' is copied. Type: fix Change-Id: I8e10108e9bdf95ab2fe002790d98262d583ca58c Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-30bonding: fix non-null-terminated C-stringBenoît Ganne1-2/+8
Type: fix Change-Id: Ibb7ba878b049b8b18e890c43fdd6324cb88d63b8 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-30dhcp: dhcp6_ia_na_client_cp API cleanupJakub Grajciar1-3/+5
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ie2d2c74ed3832d137e808e0b52348b4e660feb6f Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-30ip: svr: fix feature refcountsKlement Sekera2-14/+20
Reference counts need to be per-interface as opposed to global. This allows configuring the feature on more than one interface correctly. Type: fix Fixes: de34c35fc73226943538149fae9dbc5cfbdc6e75 Change-Id: I05534ac59fa86e67290737ec6c61df2c19acab48 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-30session: Fix missing elt regrabNathan Skrzypczak1-0/+1
Type: fix Change-Id: Ie756c5477d989702e633aa0d42ca154ff32b4c9a Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-30ipsec: add insecure option for format of SAChristian E. Hopps3-3/+9
If specified, shows keys, otherwise redacts. This change sets this flag in the existing CLI code (thus maintaining the old behavior). The use case for not specifying the insecure flag (and thus redacting the keys from the show output) is for log messages. Type: feature Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I8c0ab6a9a8aba7c687a2559fa1a23fac9d0aa111
2019-09-27ipsec: support 4o6 and 6o4 for tunnel protectNeale Ranns2-25/+31
Type: feature Change-Id: Ib2352ca4c7abf4645f21fa16aaaf27408890a2bf Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-09-27session: fix io_evt mq lockingNathan Skrzypczak1-3/+2
Type: fix Change-Id: Iaa8045bba19cc305c84074668a20e1468d431b10 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-26misc: add vnet classify filter set supportDave Barach8-51/+228
Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I79b216d2499df143f53977e5b70382f6f887e0bc
2019-09-26ip: fix use-after-free in reassemblyBenoît Ganne2-6/+8
- ip{4,6}_reass_finalize() frees the reassembly context: do not access it after the call. - traces access reassembly context: free it after and not before tracing. Type: fix Change-Id: Ia3aaea9c7b74932e249e013be04b9bd7298fd187 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-26ip: add shallow virtual reassembly functionalityKlement Sekera12-94/+2816
Type: feature Change-Id: Ibc8334e26c7e6f6120696c3e313b6e11d73dab99 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-26classify: use vector code even when data is not alignedDamjan Marion2-203/+145
Type: feature Change-Id: I8f5f4841965beb13ebc8c2a37ce0dc331c920109 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-25devices: pipe API cleanupJakub Grajciar1-7/+9
Use consistent API types. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ifd62207048d125bec18b3a728590ac540dcafe5e
2019-09-25ip: respect buffer boundary when searching for ipv6 headersKlement Sekera5-59/+118
Type: fix Change-Id: I5a5461652f8115fa1270e20f748178fb5f5450f2 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-09-25udp: do not send received packets to error-dropAloys Augustin1-192/+173
This tends to pollute the error counter. Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Change-Id: Idb628e767b074a5ee7e00d001bc88c378d7b8d0b
2019-09-25session: validate connection in session lookup delFlorin Coras1-1/+1
Type: fix Change-Id: I4e2617f99064c5a96e4debae8b68716ca129ee73 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-25tcp: use sacks for timer based recoveryFlorin Coras9-278/+337
Type: feature If available, reuse sack scoreboard in timer triggered retransmit to minimize spurious retransmits. Additional changes/refactoring: - limited transmit updates - add sacked rxt count to scoreboard - prr pacing of fast retransmits - startup pacing updates - changed loss window to flight + mss Change-Id: I057de6a9d6401698bd1031d5cf5cfbb62f2bdf61 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-25session: fix cleanup in closing statesFlorin Coras2-3/+3
Type: fix Change-Id: Iccc283bb98d3bb459a711ec2b74d6a32ad12903b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-25api: split api generated filesOle Troan5-77/+33
Split generation of API message enum and the typedefs into separate files, so that the type file can be included from elsewhere. Generate a C file for VPP that contains the API registration, this was previously done via X macros by the C pre- processor. This allows deleting lots of skeleton/copy paste code for each feature. plugins/flowprobe plugins/map examples/sample-plugin vnet/ipip used as Guinea pigs. Generate a C Test file for VAT, that does the same for VAT plugins. Also add support for a per-message CLI option, that is currently limited to VAT help text. option vat_help = "<help text>"; Type: refactor Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460 Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-25fib: fix some typos in fib/mtrieLijian.Zhang19-34/+34
Type: fix Change-Id: I1af0e4a9bc23a3b6b6d3a74df093801ab6cae1f8 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-09-25ip: refactor reassemblyKlement Sekera10-829/+872
this is a preparation step for introducing other reassembly types Type: refactor Change-Id: I197e299dbd729b00eead31667913b8ceff915d63 Signed-off-by: Klement Sekera <ksekera@cisco.com>