Writing LSP for Kamailio.cfg - Part 1 In the previous post, i used the tree-sitter parser to parse the kamilio.cfg file for syntax highlighting. Since the tree-sitter also generates the go bindings for the parser, i thought it would be a good idea to use the parser to generate the LSP for the kamailio.cfg file.
For this reason i went back to the grammar i had written for the kamailio.cfg file and made it a bit more specific since that would help identifying the different nodes when im writing the LSP.
Hey there! If you’ve ever wrangled with Kamailio’s configuration files (kamailio.cfg), you know the pain is real. It’s like trying to solve a puzzle where the pieces are constantly changing shape! I had been using a syntax highlighter but found it a bit buggy/laggy sometimes. As someone who spends a lot of time with these files, I figured there had to be a better way to manage them. And guess what?
Introduction Hello There. Today we will parse a few layers.
This is the continuation of the DPDK series. You will need to have gone through DPDK-02.
Let us begin!
PreReqs DPDK-02 Live dpdk binded port with traffic The Layers To understand packet filtering, you first have to understand packets and how they are handled at each layer of the TCP/IP protocol stack: Application layer (e.
Introduction In this section we will write a smiple C application to recieve packets.
Let’s dive in!
PreReqs Make sure that
DPDK is built
A DPDK compatible NIC is binded to the igb_uio driver
Hugepages are setup
Minimum system requirements are met
Please see DPDK-01 if any of the aforementioned pre-reqs are not set.
File Setup From here on out we will refer to our dpdk installation directory as RTE_SDK.
Introduction What is DPDK? Data Plane Development Kit (DPDK) is a set of libraries that enable fast packet processing.
Why would we want to use it? If you are writing any application that deals with packets AND require fast performance then you might need to look into fast packet processing libraries such as DPDK.
In a normal flow the kernel receives a packet and does does its processing after which it forwards the packet to the application in the userspace.
Shruberry!
Vimrc Get a good vimrc file, you can use mine
cd ~ wget https://raw.githubusercontent.com/IbrahimShahzad/My-Vimrc-file/master/.vimrc ~/.vimrc Get VIm (version > 8) CentOS Install the Dependencies and clone vim (version > 8.1 ) sudo yum install -y gcc make ncurses ncurses-devel git python3 pip3 sudo yum list installed | grep vim sudo yum remove -y vim-enhanced vim-common vim-filesystem sudo git clone https://github.com/vim/vim.git Ubuntu sudo apt install -y gcc make libncurses5-dev libncursesw5-dev git python3 pip3 sudo git clone https://github.