<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>Hi,</span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'> </span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>The struct receiver_t receives packets from the socket, performs
light-weight parsing and adds them to the job queue. The receiver starts a
thread, which reads on the blocking socket. A received packet is preparsed and
a process_message_job is queued in the job queue. The processor picks a job
from the Jobqueue and assigns the job to a thread. The thread then performs the
job.<span style="mso-spacerun: yes;">  </span>I think, The IKE responder reading
in a dedicated thread but writes (send) can come from several different threads.
And the single receiver thread becomes bottleneck due to high connection
rate/setup rate.<span style="mso-spacerun: yes;">  </span>Now I have 15
additional cores which are underutilized, which i would like to use. Can it
possible to create separate UDP sockets for each thread?</span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>The SO_REUSEPORT socket option allows multiple UDP sockets to
be bound to the same port. With SO_REUSEPORT, multiple threads could use recvfrom
() on its own socket to accept datagrams arriving on the port.<span style="mso-spacerun: yes;">  </span>I think, it distributes datagrams evenly
across all of the receiving threads, that can lead to utmost utilization of CPU cores.
</span></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>Please feel free to suggest if I am wrong.</span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'> </span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>Regards,</span></div><div><font face="Times New Roman">

</font></div><div style="margin: 0in 0in 10pt;"><span style='line-height: 115%; font-family: "Comic Sans MS"; font-size: 10pt;'>Chinmaya</span></div><div><font face="Times New Roman">

</font></div></div></body></html>