{"guid":"XCBMq_i8qHZWOd-VFz1i2w","title":"How to implement a new L4 protocol in VPP","subtitle":"Design tips for success","slug":"1696-how-to-implement-a-new-l4-protocol-in-vpp","link":"https://c3voc.de","description":"VPP (Vector Packet Processing) is the opensource software aiming to very fast data-processing and its part of the umbrella project known as FD.io\nThis talk describes how to design and integrate a new L4 protocol in the existing VPP (Vector Packet Processing) framework. We will use as an example the novel SCTP implementation which has been developed (and now maintained) by the SUSE employee Marco Varlese.\nWe will go through the concept of the transport-layer and how the upper-layers (session and application) in VPP interact with the transport-layer in order to fully establish an SCTP connection, how to send and receive data and eventually terminate a connection.\nWe will also showcase the new SCTP implementation and the diverse levels of debugging offered.\n\nVPP (Vector Packet Processing) is the opensource software aiming to very fast data-processing and its part of the umbrella project known as FD.io\nThis talk describes how to design and integrate a new L4 protocol in the existing VPP (Vector Packet Processing) framework. We will use as an example the novel SCTP implementation which has been developed (and now maintained) by the SUSE employee Marco Varlese.\nWe will go through the concept of the transport-layer and how the upper-layers (session and application) in VPP interact with the transport-layer in order to fully establish an SCTP connection, how to send and receive data and eventually terminate a connection.\nWe will also showcase the new SCTP implementation and the diverse levels of debugging offered.","original_language":"eng","persons":["Marco Varlese"],"view_count":120,"promoted":false,"date":"2018-05-25T00:00:00.000+02:00","release_date":"2018-05-25T02:00:00.000+02:00","updated_at":"2026-04-18T16:45:04.001+02:00","tags":["osc18","1696","Open Source"],"length":2425,"duration":2425,"thumb_url":"https://static.media.ccc.de/media/events/osc/2018/1696-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/osc/2018/1696-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/osc/2018/XCBMq_i8qHZWOd-VFz1i2w-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/osc/2018/XCBMq_i8qHZWOd-VFz1i2w-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/1696-how-to-implement-a-new-l4-protocol-in-vpp","url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_title":"openSUSE Conference 2018","conference_url":"https://api.media.ccc.de/public/conferences/osc18","related":[{"event_id":5337,"event_guid":"50c2af4c-4826-50ee-bde7-cbed07d3bf2e","weight":1},{"event_id":5349,"event_guid":"16a1a1ce-98ce-5d69-9af1-49ca4f154640","weight":1},{"event_id":5383,"event_guid":"615d3190-d8b8-577b-ace4-abe25fff37c2","weight":1},{"event_id":5500,"event_guid":"BYAPpSpdg3PEN4qfQS7BlQ","weight":1},{"event_id":5509,"event_guid":"Wy6jqnZ_111KAk-Vr3FLXA","weight":1},{"event_id":5511,"event_guid":"M0UgqMLHs5WPCdozDdi7BQ","weight":1},{"event_id":5512,"event_guid":"OpbFZH8nILNtC6eaVjTKIQ","weight":1},{"event_id":5526,"event_guid":"Zl3dhPdZJyFIkpiNIqHhhQ","weight":1},{"event_id":5528,"event_guid":"22g21-9kzH5VYk6hwXsmlA","weight":1},{"event_id":5529,"event_guid":"GmtN-uEY5pV3iXBo4RxuDQ","weight":1},{"event_id":5534,"event_guid":"FYGInk6xUS9vg93ODzaNhw","weight":1},{"event_id":5541,"event_guid":"6S4ivpZLdGJZeHS-EG1JEg","weight":1},{"event_id":5544,"event_guid":"Vhm3GQebxdtzVPq4uFTaPA","weight":1},{"event_id":6347,"event_guid":"36f3330d-6ed9-5f33-9a32-a2897c1c7631","weight":1}],"recordings":[{"size":88,"length":2425,"mime_type":"video/mp4","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-05-25T20:23:03.609+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/h264-hd/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_hd.mp4","url":"https://api.media.ccc.de/public/recordings/25735","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"},{"size":137,"length":2425,"mime_type":"video/webm","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-05-25T21:08:40.411+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/webm-hd/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/25803","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"},{"size":30,"length":2419,"mime_type":"audio/opus","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-05-25T21:10:06.624+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/opus/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_opus.opus","url":"https://api.media.ccc.de/public/recordings/25806","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"},{"size":63,"length":2425,"mime_type":"video/webm","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-05-25T21:10:38.372+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/webm-sd/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/25807","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"},{"size":52,"length":2425,"mime_type":"video/mp4","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-05-25T21:14:37.257+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/h264-sd/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_sd.mp4","url":"https://api.media.ccc.de/public/recordings/25814","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"},{"size":36,"length":2419,"mime_type":"audio/mpeg","language":"eng","filename":"osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-05-25T21:15:38.673+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2018/mp3/osc18-1696-eng-How_to_implement_a_new_L4_protocol_in_VPP_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/25816","event_url":"https://api.media.ccc.de/public/events/XCBMq_i8qHZWOd-VFz1i2w","conference_url":"https://api.media.ccc.de/public/conferences/osc18"}]}