On Tue, Apr 28, 2015 at 01:27:19PM +0300, Vadim Kochan wrote:
> On Mon, Apr 27, 2015 at 04:29:40PM +0300, Vadim Kochan wrote:
> > From: Vadim Kochan <vadi...@gmail.com>
> > 
> > Print nlmsg type name for rtnetlink messages
> > 
> > Signed-off-by: Vadim Kochan <vadi...@gmail.com>
> > ---
> >  proto_nlmsg.c | 84 
> > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 82 insertions(+), 2 deletions(-)
> > 
> > diff --git a/proto_nlmsg.c b/proto_nlmsg.c
> > index b219867..c5ef9d5 100644
> > --- a/proto_nlmsg.c
> > +++ b/proto_nlmsg.c
> > @@ -47,6 +47,86 @@ static const char *nl_proto2str(uint16_t proto)
> >     }
> >  }
> >  
> > +static char * rtnl_types2str[RTM_MAX] = {
> > +   [RTM_NEWLINK] = "NEW LINK",
> > +   [RTM_DELLINK] = "DEL LINK",
> > +   [RTM_GETLINK] = "GET LINK",
> > +   [RTM_SETLINK] = "SET LINK",
> > +
> > +   [RTM_NEWADDR] = "NEW ADDR",
> > +   [RTM_DELADDR] = "DEL ADDR",
> > +   [RTM_GETADDR] = "GET ADDR",
> > +
> > +   [RTM_NEWROUTE] = "NEW ROUTE",
> > +   [RTM_DELROUTE] = "DEL ROUTE",
> > +   [RTM_GETROUTE] = "GET ROUTE",
> > +
> > +   [RTM_NEWNEIGH] = "NEW NEIGH",
> > +   [RTM_DELNEIGH] = "DEL NEIGH",
> > +   [RTM_GETNEIGH] = "GET NEIGH",
> > +
> > +   [RTM_NEWRULE] = "NEW RULE",
> > +   [RTM_DELRULE] = "DEL RULE",
> > +   [RTM_GETRULE] = "GET RULE",
> > +
> > +   [RTM_NEWQDISC] = "NEW QDISC",
> > +   [RTM_DELQDISC] = "DEL QDISC",
> > +   [RTM_GETQDISC] = "GET QDISC",
> > +
> > +   [RTM_NEWTCLASS] = "NEW TCLASS",
> > +   [RTM_DELTCLASS] = "DEL TCLASS",
> > +   [RTM_GETTCLASS] = "GET TCLASS",
> > +
> > +   [RTM_NEWTFILTER] = "NEW TFILTER",
> > +   [RTM_DELTFILTER] = "DEL TFILTER",
> > +   [RTM_GETTFILTER] = "GET TFILTER",
> > +
> > +   [RTM_NEWACTION] = "NEW ACTION",
> > +   [RTM_DELACTION] = "DEL ACTION",
> > +   [RTM_GETACTION] = "GET ACTION",
> > +
> > +   [RTM_NEWPREFIX] = "NEW PREFIX",
> > +
> > +   [RTM_GETMULTICAST] = "GET MULTICAST",
> > +
> > +   [RTM_GETANYCAST] = "GET ANYCAST",
> > +
> > +   [RTM_NEWNEIGHTBL] = "NEW NEIGHTBL",
> > +   [RTM_GETNEIGHTBL] = "GET NEIGHTBL",
> > +   [RTM_SETNEIGHTBL] = "SET NEIGHTBL",
> > +
> > +   [RTM_NEWNDUSEROPT] = "NEW NDUSEROPT",
> > +
> > +   [RTM_NEWADDRLABEL] = "NEW ADDRLABEL",
> > +   [RTM_DELADDRLABEL] = "DEL ADDRLABEL",
> > +   [RTM_GETADDRLABEL] = "GET ADDRLABEL",
> > +
> > +   [RTM_GETDCB] = "GET DCB",
> > +   [RTM_SETDCB] = "SET DCB",
> > +
> > +   [RTM_NEWNETCONF] = "NEW NETCONF",
> > +   [RTM_GETNETCONF] = "GET NETCONF",
> > +
> > +   [RTM_NEWMDB] = "NEW MDB",
> > +   [RTM_DELMDB] = "DEL MDB",
> > +   [RTM_GETMDB] = "GET MDB",
> > +};
> > +
> > +static char *nl_msgtype2str(uint16_t proto, uint16_t type, char *buf, int 
> > len)
> > +{
> > +   char *name = NULL;
> > +
> > +   if (proto == NETLINK_ROUTE && type < RTM_MAX)
> > +           name = rtnl_types2str[type];
> > +
> > +   if (name) {
> > +           strncpy(buf, name, len);
> > +           return buf;
> > +   }
> > +
> > +   return nl_nlmsgtype2str(type, buf, len);
> > +}
> > +
> >  static void nlmsg(struct pkt_buff *pkt)
> >  {
> >     struct nlmsghdr *hdr = (struct nlmsghdr *) pkt_pull(pkt, sizeof(*hdr));
> > @@ -82,8 +162,8 @@ static void nlmsg(struct pkt_buff *pkt)
> >     tprintf("Len %u, ", hdr->nlmsg_len);
> >     tprintf("Type 0x%.4x (%s%s%s), ", hdr->nlmsg_type,
> >             colorize_start(bold),
> > -           nl_nlmsgtype2str(hdr->nlmsg_type, type, sizeof(type)),
> > -           colorize_end());
> > +           nl_msgtype2str(ntohs(pkt->proto), hdr->nlmsg_type, type,
> > +                   sizeof(type)), colorize_end());
> >     tprintf("Flags 0x%.4x (%s%s%s), ", hdr->nlmsg_flags,
> >             colorize_start(bold),
> >             nl_nlmsg_flags2str(hdr->nlmsg_flags, flags, sizeof(flags)),
> > -- 
> > 2.3.1
> > 
> 
> Hi Tibias,
> 
> I can re-work this considering your last changes related to
> proto_nlmsg.c
> 
> Regards,

Hi Tobias, sorry for the typo!

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netsniff-ng+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to