Leandro Stasi
2002-Jun-02 20:55 UTC
configuring traffic control without tc (struct tcmsg)]
Hi
I need some help/doc with the rtnetlink struct tcmsg prameters.
I''m trying to configure traffic control kernel fuctions from inside a
program, and I don''t want to use tc.
I try to make a function to del the root qdisc from a device but I
couldn''t complete it.
So far I know this:
I have to open a netlink socket with PF_NETLINK and NETLINK_ROUTE.
Send a nlmsghdr struct. (which I know the param)
Send a tcmsg struct (which I don''t know the parm)
struct mensages
{
struct nlmsghdr nh;
struct tcmsg tc;
char attrbuf [512];
};
void delroot (struct root *ptroot)
{
struct mensages reg;
int rtnetlink_socket;
struct rtattr *rta;
rtnetlink_socket=socket(PF_NETLINK,SOCK_RAW,NETLINK_ROUTE);
memset(®,0,sizeof(reg));
reg.nh.nlmsg_len=NLMSG_LENGHT(sizeof(struct ifinfomsg));
reg.nh.nlmsg_flags=NLM_F_REQUEST;
reg.nh.nlmsq_type=RTML_NEWLINK;
reg.tc.tcm_family=AF_UNSPEC;
reg.tc.tcm_index=INTERFACE_INDEX;
reg.tc.tcm_handle=?????;
rta=(struct rtattr*)( ((char *) ®)+NLMSG_ALING(n->nlmsg_len) );
rta->rta_type=???????;
rta->rta_len=sizeof(unsigned int);
reg.nh.nlmsg_len=NLMSG_ALING(reg.nh.nlmsg_len) + R_LENGTH(sizeof(???));
memcpy(RTA_DAtA(rta),???????,sizeof(?????));
send(rtnetlink_socket,®,reg.nh.nlmsg_len);
}
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/