summaryrefslogtreecommitdiffstats
path: root/src/plugins/quic
AgeCommit message (Expand)AuthorFilesLines
2022-02-15quic: fix quic_config_fn cfg cmd parse errorfanxb1-3/+3
2022-02-10session: use transport endpoint cfg for listenFlorin Coras1-1/+2
2021-08-03quic: do not update crypto keys from workersAloys Augustin3-20/+59
2021-06-18session: udp accept session state should be updated by appjxm1-0/+1
2021-05-21bfd: use vnet cryptoKlement Sekera1-1/+1
2021-05-21quic: add extended vcl testFlorin Coras1-1/+1
2021-05-21quic: fix timer updateFlorin Coras1-1/+3
2021-05-21quic: init crypto context on streamsFlorin Coras1-3/+2
2021-05-21quic: make sure aead crypto context matches quiclyFlorin Coras1-1/+2
2021-05-19quic: fix memory leak & crash on connection deleteDave Wallace1-2/+8
2021-05-13tests: move test source to vpp/testDave Wallace1-554/+0
2021-05-11quic: alloc ctx on udp threadFlorin Coras1-9/+10
2021-05-07session: connects seg manager is always firstFlorin Coras1-3/+0
2021-05-03quic: fix coverity warningFlorin Coras1-2/+2
2021-05-03quic: improve udp dgram writeFlorin Coras1-10/+7
2021-04-30build: declare some CMake variables as advancedDamjan Marion1-5/+5
2021-04-30quic: report number of packets sent on custom txFlorin Coras1-14/+8
2021-04-23tls quic: improve error reportingFlorin Coras1-6/+6
2021-04-22vcl session: refactor passing of crypto contextFlorin Coras1-6/+17
2021-04-22quic: update quicly to v0.1.3Mathias Raoul2-1/+5
2021-04-12tests: support attaching to existing vppKlement Sekera1-1/+1
2021-03-26vlib: convert foreach_vlib_main macro to be more gdb and clang-format friendlyDamjan Marion1-12/+11
2021-03-20tests: add support for worker awarenessKlement Sekera1-1/+1
2021-02-15quic: Coverity fixNathan Skrzypczak1-1/+1
2021-02-11tests: tag the tests that do not work with multi-worker configurationAndrew Yourtchenko1-0/+4
2021-02-01quic: clean setup_cipher functionMathias Raoul1-10/+11
2021-01-22quic: quicly v0.1.2 updateMathias Raoul6-601/+366
2020-12-14misc: move to new pool_foreach macrosDamjan Marion1-10/+10
2020-11-25session: add startup option to poll in mainFlorin Coras1-2/+2
2020-09-28quic: Fix protip #47 / unformat (input_line)Nathan Skrzypczak1-19/+41
2020-09-24session tcp udp tls quic: improve cli formattingFlorin Coras1-1/+2
2020-09-11quic: Clean quic_crypto_setup_cipherNathan Skrzypczak1-16/+13
2020-09-11quic: fix coverity warningAloys Augustin1-1/+1
2020-05-05tests: add test description to quic testsDave Wallace1-0/+24
2020-04-10quic: fix clean stream closeAloys Augustin2-9/+26
2020-04-04session tls: support tls deschedulingFlorin Coras1-1/+1
2020-04-03session: improve error reportingFlorin Coras1-9/+11
2020-04-03session udp: fix transport flags and migrationFlorin Coras1-4/+4
2020-04-01session udp: support connect on listenersFlorin Coras1-1/+1
2020-03-30session udp: flag for connected udpFlorin Coras1-2/+4
2020-03-27quic: Check quicly version tag at compile timeMathiasRaoul2-27/+33
2020-03-25session: api to add new transport typesFlorin Coras1-0/+2
2020-03-24quic: disable vnet_crypto and batching if no crypto engines are loadedMathiasRaoul3-11/+33
2020-03-05session: API cleanupJakub Grajciar1-2/+2
2020-02-25svm: refactor fifoFlorin Coras1-17/+2
2020-02-07tests: skip extended quic tests under developmentDave Wallace1-4/+21
2020-02-07quic: update config values for large stream testsDave Wallace1-84/+88
2020-02-07quic: fix coverity warningMathiasRaoul1-2/+1
2020-02-06quic: fix coverity warningMathiasRaoul1-2/+2
2020-01-31quic: quicly crypto offloadingMathiasRaoul4-57/+579
class="n">vtr == L2_VTR_OP.L2_TRANSLATE_2_1): self._tag1 = tag self._push1q = push1q if (vtr == L2_VTR_OP.L2_PUSH_2 or vtr == L2_VTR_OP.L2_TRANSLATE_1_2 or vtr == L2_VTR_OP.L2_TRANSLATE_2_2): self._tag1 = outer self._tag2 = inner self._push1q = push1q self.test.vapi.sw_interface_set_l2_tag_rewrite( self.sw_if_index, vtr, push=self._push1q, tag1=self._tag1, tag2=self._tag2) self._vtr = vtr class VppDot1QSubint(VppSubInterface): @property def vlan(self): """VLAN tag""" return self._vlan def __init__(self, test, parent, sub_id, vlan=None): super(VppDot1QSubint, self).__init__(test, parent, sub_id) if vlan is None: vlan = sub_id self._vlan = vlan r = test.vapi.create_vlan_subif(parent.sw_if_index, vlan) self.set_sw_if_index(r.sw_if_index) def create_arp_req(self): packet = VppPGInterface.create_arp_req(self) return self.add_dot1_layer(packet) def create_ndp_req(self): packet = VppPGInterface.create_ndp_req(self) return self.add_dot1_layer(packet) # called before sending packet def add_dot1_layer(self, packet): return self.add_dot1q_layer(packet, self.vlan) # called on received packet to "reverse" the add call def remove_dot1_layer(self, packet): return self.remove_dot1q_layer(packet, self.vlan) class VppDot1ADSubint(VppSubInterface): @property def outer_vlan(self): """Outer VLAN tag""" return self._outer_vlan @property def inner_vlan(self): """Inner VLAN tag""" return self._inner_vlan def __init__(self, test, parent, sub_id, outer_vlan, inner_vlan): super(VppDot1ADSubint, self).__init__(test, parent, sub_id) r = test.vapi.create_subif(parent.sw_if_index, sub_id, outer_vlan, inner_vlan, dot1ad=1, two_tags=1, exact_match=1) self.set_sw_if_index(r.sw_if_index) self._outer_vlan = outer_vlan self._inner_vlan = inner_vlan def create_arp_req(self): packet = VppPGInterface.create_arp_req(self) return self.add_dot1_layer(packet) def create_ndp_req(self): packet = VppPGInterface.create_ndp_req(self) return self.add_dot1_layer(packet) def add_dot1_layer(self, packet): return self.add_dot1ad_layer(packet, self.outer_vlan, self.inner_vlan) def remove_dot1_layer(self, packet): return self.remove_dot1ad_layer(packet, self.outer_vlan, self.inner_vlan) class VppP2PSubint(VppSubInterface): def __init__(self, test, parent, sub_id, remote_mac): super(VppP2PSubint, self).__init__(test, parent, sub_id) r = test.vapi.create_p2pethernet_subif(parent.sw_if_index, remote_mac, sub_id) self.set_sw_if_index(r.sw_if_index) self.parent_sw_if_index = parent.sw_if_index self.p2p_remote_mac = remote_mac def add_dot1_layer(self, packet): return packet def remove_dot1_layer(self, packet): return packet def create_arp_req(self): packet = VppPGInterface.create_arp_req(self) return packet def create_ndp_req(self): packet = VppPGInterface.create_ndp_req(self) return packet