xsk | Compatible environment for SAP HANA Extended Application | Learning library
kandi X-RAY | xsk Summary
kandi X-RAY | xsk Summary
Compatible environment for SAP HANA Extended Application Services (XS) based applications outside of SAP HANA instance running in a container deployed on Kubernetes
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Replies if the given path is valid
- Register a predelivered table function
- Register a predelivered procedure
- Register a predelivered schema file
- 12
- Matches an attribute_name
- Matches an attribute_definition
- Execute the alter entity
- Execute alter - table
- Create the CreateTable
- Execute the drop table
- Init type system
- Filter resources
- Execute the Create View
- Execute the Create Table Type
- Gets all imported records from a table
- Synchronizes the XSK DataStructures
- Execute create synonym statement
- Creates an XSKODataModel from raw content
- Exit the object model
- Matches SQL + command
- Matches a variable name
- Matches a Type_body
- Export an entity into a XSDATA entity
- Executes the drop table
- Returns a string representation of this library
xsk Key Features
xsk Examples and Code Snippets
Community Discussions
Trending Discussions on xsk
QUESTION
I want to implement XDP_SHARED_UMEM: https://www.kernel.org/doc/html/latest/networking/af_xdp.html#xdp-shared-umem-bind-flag
The libbpf
library function xsk_socket__create
(https://github.com/libbpf/libbpf/blob/master/src/xsk.c) checks the xsk_umem->refcount
value. In case it is greater than 1, the XDP_SHARED_UMEM
option of a struct sockaddr_xdp
is set.
So as far as I understand correctly, I "just" need to pass the original umem struct of the socket I want to share the umem with and the rest is done by libbpf
.
The way I tried to do it was to let the first process copy its umem
-struct into a shared-memory area where the second process could load it from. But because struct xsk_umem
is defined in xsk.c
it is hidden from the user and I am not able to do something like this:
memcpy(shdm_ptr, umem, sizeof(struct xsk_umem))
I don't know how they expect someone to use the shared umem feature?
...ANSWER
Answered 2020-Mar-12 at 16:24So this was discussed on the xdp-newbies mailing list. Reporting here for the record.
It is not recommended to go with a multi-process setup as you are trying to do. Björn says:
Note that if you'd like to do a multi-process setup with shared umem, you: need to have a control process that manages the fill/completion rings, and synchronize between the processes, OR re-mmap the fill/completetion ring from the socket owning the umem in multiple processes and synchronize the access to them. Neither is pleasant.
Honestly, not a setup I'd recommend.
And he adds:
Just for completeness; To setup shared umem:
- create socket 0 and register the umem to this.
- mmap the fr/cr using socket 0
- create socket 1, 2, n and refer to socket 0 for the umem.
So, in a multiprocess solution step 3 would be done in separate processes, and step 2 depending on your application. You'd need to pass socket 0 to the other processes and share the umem memory from the process where socket 0 was created. This is pretty much a threaded solution, given all the shared state.
I advice not taking this path.
(Credits to Björn.)
QUESTION
Why is setting SO_TIMESTAMP
not supported for an AF_XDP
socket? The user manual of my driver (mlnx 5.0
) states that
Incoming packets are time-stamped before they are distributed on the PCI depending on the congestion in the PCI buffers.
To my knowledge, before distributed on the PCI
means that there is no Linux Kernel involved (yet) - right?
I tried setting it like this:
...ANSWER
Answered 2020-Mar-09 at 09:03There is no technical reason on why it is not implemented.
Indeed, it looks like it is on the To-Do list of the xdp development team.
Cite from here:
Important medium-term tasks...
Metadata from hardwareThere are various hardware metadata items that would be useful for XDP programs to access, to reduce the amount of processing that needs to happen in eBPF. These include:
- Checksum
- Hash value
- Flow designator
- Higher-level protocol header offsets
- Timestamps
It looks like this is on the To-Do since June 2019, so it probably doesn't have top priority, otherwise it would already be implemented.
QUESTION
I want to measure packet latency for my AF-XDP program. I was looking at this reference: https://github.com/xdp-project/xdp-project/blob/master/areas/arm64/xdp_for_tsn.org
and adapted it to this:
...ANSWER
Answered 2020-Mar-03 at 11:09The snippet you used is described in the tutorial as pseudo-code, it is not a complete and functional example. Let's have a look at the verifier log:
QUESTION
How can I store attribute value in a variable?
XML example:
...ANSWER
Answered 2018-Apr-19 at 11:31Use
QUESTION
I am trying to define an enum struct in C as following. I get the error ** Illegal storage class**.
...ANSWER
Answered 2017-May-23 at 08:04Try this:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install xsk
Cloud Foundry
Kyma
Helm
Environment Variables
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page