Thread (4 messages) flat view 4 messages, 3 authors, 2007-06-07

extra layer below inet layer.

From: Tej Parkash <hidden>
Date: 2007-06-07 04:40:45

hi

i just want to have something like tcp layer sitting below inet layer.
so that i can directly offload everything to NIC
and i want it to be placed dynamically. so depending on the nic i can
offload the feature or can make it normal flow.
i.e. both layer should exist and normal functionality should not break.

this code is in af_inet.c

static struct inet_protosw inetsw_array[] =
{
       {
               .type =       SOCK_STREAM,
               .protocol =   IPPROTO_TCP,
               .prot =       &tcp_prot,
               .ops =        &inet_stream_ops,
               .capability = -1,
               .no_check =   0,
               .flags =      INET_PROTOSW_PERMANENT |
                             INET_PROTOSW_ICSK,
       },

       {
               .type =       SOCK_DGRAM,
               .protocol =   IPPROTO_UDP,
               .prot =       &udp_prot,
               .ops =        &inet_dgram_ops,
               .capability = -1,
               .no_check =   UDP_CSUM_DEFAULT,
               .flags =      INET_PROTOSW_PERMANENT,
      },


      {
              .type =       SOCK_RAW,
              .protocol =   IPPROTO_IP,        /* wild card */
              .prot =       &raw_prot,
              .ops =        &inet_sockraw_ops,
              .capability = CAP_NET_RAW,
              .no_check =   UDP_CSUM_DEFAULT,
              .flags =      INET_PROTOSW_REUSE,
      }
};

i was just going through the code i found that if i can regsiter above
kind of registration dynamically i will be able to do that.
i have tried to do that but since normal tcp registered this at boot
up time i am not able to unregister this dynamically

so is it possible to unregister tcp and register my protocol dynamically.

thanks
TEJ
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help