summaryrefslogtreecommitdiffstats
path: root/test/vpp_gre_interface.py
AgeCommit message (Collapse)AuthorFilesLines
2020-01-30gre: Tunnel encap/decap flagsNeale Ranns1-14/+23
Type: feature common funcitons across IP-in-IP and GRE tunnels for encap/decap functions Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I325b66824878d843af167adfe5a7a96b0ab90566
2020-01-27tunnel: Common types for IP tunnelsNeale Ranns1-2/+2
Type: refactor Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I18dcdb7af3e327f6cacdbcb1e52b89f13d6ba6e2
2019-12-04gre: Multi-point interfacesNeale Ranns1-9/+17
Type: feature Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-08ipsec: remove dedicated IPSec tunnelsNeale Ranns1-0/+8
APIs for dedicated IPSec tunnels will remain in this release and are used to programme the IPIP tunnel protect. APIs will be removed in a future release. see: https://wiki.fd.io/view/VPP/IPSec Type: feature Change-Id: I0f01f597946fdd15dfa5cae3643104d5a9c83089 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-08-07fib tests: IP multicast over GRENeale Ranns1-0/+1
Type: feature Change-Id: I1632ff23b1bf6d91aa3406c95ebd6ef0aa595f35 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-18GRE: API updateNeale Ranns1-49/+13
Change-Id: I5010cd34123c6498230dedac6ba8dd774a1085f9 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29tests: refactor vpp_object.pyPaul Vinciguerra1-6/+0
Move __str__ to super for all subclasses of VppObject Implement __repr__ in VppObject Implement __hash__ and __eq__ Change-Id: Ibd4ea37b84b17f499ab86630fb5b9ed9c8b4b1c2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-04test framework: Fix wrapper functions to match API message names.Ole Troan1-4/+4
In preparation to remove the wrappers in vpp_papi_provider.py, ensure names used in tests match the actual API message names. Change-Id: I230ca4eb75aa727ff68d702e085a2edbbc6b6d19 Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-24Revert "Revert "make test: fix broken interfaces""Klement Sekera1-6/+4
This reverts commit c8efa29b6f9a91381897b54f1147daf922ed7164. Change-Id: I1d5c5773d5f86a63073e255336bd9de628e26179 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-06-22Revert "make test: fix broken interfaces"Ole Troan1-4/+6
This reverts commit d5c60b96a3fd93916fc4af5c8d6d25625c28242e. Change-Id: I3632b9c3f76c615aee897f28f76d094e7031e689 Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-22make test: fix broken interfacesKlement Sekera1-6/+4
Change-Id: I2e092774f81503e04b53cc6c6b5d357fe3fc52ab Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-05-23make test: VPP-1288 fix from sw_if_index valuesKlement Sekera1-7/+5
Change-Id: I80297e78d93d8cf0d347863e4d2fdb12ea9294ac Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-02-15Optimize GRE Tunnel and add support for ERSPAN encapJohn Lo1-6/+16
Change GRE tunnel to use the interface type where the same encap node is used as output node for all GRE tunnels, instead of having dedicated output and tx node for each tunnel. This allows for more efficient tunnel creation and deletion at scale tested at 1000's of GRE tunnels. Add support for ERSPAN encap as another tunnel type, in addition to the existing L3 and TEB types. The GRE ERSPAN encap supported is type 2 thus GRE encap need to include sequence number and GRE- ERSPAN tunnel can be created with user secified ERSPAN session ID. The GRE tunnel lookup hash key is updated to inclue tunnel type and session ID, in addition to SIP/DIP and FIB index. Thus, GRE-ERSPAN tunnel can be created, with the appropriate session ID, to be used as output interface for SPAN config to send mirrored packets. Change interface naming so that all GRE tunnels, irrespective of tunnel type, uses "greN" where N is the instance number. Removed interface reuse on tunnel creation and deletion to enable unfied tunnel interface name. Add support of user specified instance on GRE tunnel creation. Thus, N in the "greN" interface name can optionally be specified by user via CLI/API. Optimize GRE tunnel encap DPO stacking to bypass load-balance DPO node since packet output on GRE tunnel always belong to the same flow after 5-tupple hash. Change-Id: Ifa83915744a1a88045c998604777cc3583f4da52 Signed-off-by: John Lo <loj@cisco.com>
2018-02-01IPv4/6 reassemblyKlement Sekera1-7/+21
Change-Id: Ic5dcadd13c88b8a5e7896dab82404509c081614a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-12-16GRE tunnel key includes the FIB tableNeale Ranns1-2/+2
- GRE tunnels with the same src,dst addresses are not the same tunnel - Two data-plane improvements: - the cached key was never updated and so useless - no need to dereference the tunnel's HW interface to get the sw_if_index Change-Id: I2f2ea6e08c759a810b753cec22c497e921a2ca01 Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-04-05GRE over IPv6Ciara Loftus1-0/+35
Refactors the GRE node to work with both IPv4 and IPv6 transports. Note that this changes the binary configuration API to support both address families; each address uses the same memory for either address type and a flag to indicate which is in use. The CLI and VAT syntax remains unchanged; the code detects whether an IPv4 or an IPv6 address was given. Configuration examples: IPv4 CLI: create gre tunnel src 192.168.1.1 dst 192.168.1.2 IPv6 CLI: create gre tunnel src 2620:124:9000::1 dst 2620:124:9000::2 IPv4 VAT: gre_add_del_tunnel src 192.168.1.1 dst 192.168.1.2 IPv6 VAT: gre_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2 Change-Id: Ica8ee775dc101047fb8cd41617ddc8fafc2741b0 Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
2016-11-28GRE Tests update after postinit removalNeale Ranns1-1/+3
Change-Id: I33df256ca07c99149465c896c7063a3153021a5a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-22GRE tests and fixesNeale Ranns1-0/+34
Change-Id: I234240e9bdd4b69ad64a17b1449ae1e81c0edaca Signed-off-by: Neale Ranns <nranns@cisco.com>
/span> resources.libraries.python.MLRsearch.ReceiveRateInterval \ import ReceiveRateInterval class NdrPdrResult(object): """Two measurement intervals, return value of search algorithms. Partial fraction is NOT part of the result. Pdr interval should be valid for all partial fractions implied by the interval.""" def __init__(self, ndr_interval, pdr_interval): """Store the measured intervals after checking argument types. :param ndr_interval: Object containing data for NDR part of the result. :param pdr_interval: Object containing data for PDR part of the result. :type ndr_interval: ReceiveRateInterval.ReceiveRateInterval :type pdr_interval: ReceiveRateInterval.ReceiveRateInterval """ # TODO: Type checking is not very pythonic, # perhaps users can fix wrong usage without it? if not isinstance(ndr_interval, ReceiveRateInterval): raise TypeError("ndr_interval, is not a ReceiveRateInterval: " "{ndr!r}".format(ndr=ndr_interval)) if not isinstance(pdr_interval, ReceiveRateInterval): raise TypeError("pdr_interval, is not a ReceiveRateInterval: " "{pdr!r}".format(pdr=pdr_interval)) self.ndr_interval = ndr_interval self.pdr_interval = pdr_interval def width_in_goals(self, relative_width_goal): """Return a debug string related to current widths in logarithmic scale. :param relative_width_goal: Upper bound times this is the goal difference between upper bound and lower bound. :type relative_width_goal: float :returns: Message containing NDR and PDR widths in goals. :rtype: str """ return "ndr {ndr_in_goals}; pdr {pdr_in_goals}".format( ndr_in_goals=self.ndr_interval.width_in_goals(relative_width_goal), pdr_in_goals=self.pdr_interval.width_in_goals(relative_width_goal)) def __str__(self): """Return string as tuple of named values.""" return "NDR={ndr!s};PDR={pdr!s}".format( ndr=self.ndr_interval, pdr=self.pdr_interval) def __repr__(self): """Return string evaluable as a constructor call.""" return "NdrPdrResult(ndr_interval={ndr!r},pdr_interval={pdr!r})".format( ndr=self.ndr_interval, pdr=self.pdr_interval)