lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 10 Aug 2023 17:46:52 +0300
From: Aurelien Aptel <aaptel@...dia.com>
To: Sagi Grimberg <sagi@...mberg.me>, linux-nvme@...ts.infradead.org,
 netdev@...r.kernel.org, hch@....de, kbusch@...nel.org, axboe@...com,
 chaitanyak@...dia.com, davem@...emloft.net, kuba@...nel.org
Cc: Boris Pismenny <borisp@...dia.com>, aurelien.aptel@...il.com,
 smalin@...dia.com, malin1024@...il.com, ogerlitz@...dia.com,
 yorayz@...dia.com, galshalom@...dia.com, mgurtovoy@...dia.com
Subject: Re: [PATCH v12 01/26] net: Introduce direct data placement tcp offload

Sagi Grimberg <sagi@...mberg.me> writes:
>> +struct ulp_ddp_limits {
>> +     enum ulp_ddp_type       type;
>> +     int                     max_ddp_sgl_len;
>> +     int                     io_threshold;
>> +     bool                    tls:1;
>
> Is this a catch-all for tls 1.2/1.3 or future ones?

This is catch-all. Once it will be supported together with the offload,
we can add the TLS type incrementaly.

>> +struct ulp_ddp_dev_ops {
>> +     int (*limits)(struct net_device *netdev,
>> +                   struct ulp_ddp_limits *limits);
>> +     int (*sk_add)(struct net_device *netdev,
>> +                   struct sock *sk,
>> +                   struct ulp_ddp_config *config);
>> +     void (*sk_del)(struct net_device *netdev,
>> +                    struct sock *sk);
>> +     int (*setup)(struct net_device *netdev,
>> +                  struct sock *sk,
>> +                  struct ulp_ddp_io *io);
>> +     void (*teardown)(struct net_device *netdev,
>> +                      struct sock *sk,
>> +                      struct ulp_ddp_io *io,
>> +                      void *ddp_ctx);
>> +     void (*resync)(struct net_device *netdev,
>> +                    struct sock *sk, u32 seq);
>> +     int (*set_caps)(struct net_device *dev, unsigned long *bits,
>> +                     struct netlink_ext_ack *extack);
>> +     int (*get_stats)(struct net_device *dev,
>> +                      struct ethtool_ulp_ddp_stats *stats);
>> +};
>
> It would be beneficial to have proper wrappers to these that
> can also do some housekeeping work around the callbacks.

We can add wrappers in net/core/ulp_ddp.c that can NULL-check the
function pointers and do any common housekeeping if needed.

Thanks

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ