From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tushar Dave Subject: Query: eBPF socket filter Date: Fri, 20 Apr 2018 23:18:01 -0700 Message-ID: <1bc2c8ee-e7ac-cf1b-6cd2-a0c1a7ab0afa@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit To: netdev Return-path: Received: from userp2130.oracle.com ([156.151.31.86]:42270 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751227AbeDTXS0 (ORCPT ); Fri, 20 Apr 2018 19:18:26 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w3KNFnUd143950 for ; Fri, 20 Apr 2018 23:18:26 GMT Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2hdrxp6kqm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Apr 2018 23:18:26 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w3KNIOis004466 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 20 Apr 2018 23:18:25 GMT Received: from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w3KNIO6T022446 for ; Fri, 20 Apr 2018 23:18:24 GMT Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: Hi, I am dealing with Reliable Datagram Socket (RDS) protocol and exploring ways to filter RDS traffic using eBPF. FYI, RDS sits on top of transport layer and works with transport such as TCP and IB/RDMA. So RDS messages arrive in form of skb (over TCP)and scatterlist (over IB/RDMA). For RDS traffic over TCP, I am using ebpf program of type BPF_PROG_TYPE_SOCKET_FILTER and with that my filter program receives __sk_buff as bpf context. This works. However, I cannot use BPF_PROG_TYPE_SOCKET_FILTER with struct scatterlist. I am not sure if it would be appropriate to extend BPF socket filter so that it also work with struct scatterlist? Ideas/suggestions or any other alternatives please? Thanks in advance, -Tushar