Re: [PATCH iproute2 v1] Add mdb command to bridge
From: Thomas Graf <tgraf@suug.ch>
Date: 2012-11-30 10:54:51
Also in:
bridge
On 11/30/12 at 05:58pm, Cong Wang wrote:
quoted hunk ↗ jump to hunk
diff --git a/bridge/br_common.h b/bridge/br_common.h index 718ecb9..83b2b9f 100644 --- a/bridge/br_common.h +++ b/bridge/br_common.h@@ -5,6 +5,7 @@ extern int print_fdb(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg); extern int do_fdb(int argc, char **argv); +extern int do_mdb(int argc, char **argv); extern int do_monitor(int argc, char **argv); extern int preferred_family;@@ -12,3 +13,37 @@ extern int show_stats; extern int show_detail; extern int timestamp; extern struct rtnl_handle rth; + +/* Bridge multicast database attributes + * [MDBA_MDB] = { + * [MDBA_MCADDR] + * [MDBA_BRPORT_NO] + * } + * [MDBA_ROUTER] = { + * [MDBA_BRPORT_NO] + * } + */ +enum { + MDBA_UNSPEC, + MDBA_MDB, + MDBA_ROUTER, + __MDBA_MAX, +}; +#define MDBA_MAX (__MDBA_MAX - 1) + +enum { + MDBA_MDB_UNSPEC, + MDBA_MCADDR, + MDBA_BRPORT_NO, + __MDBA_MDB_MAX, +}; +#define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1) + +struct br_port_msg { + int ifindex; +}; + +#ifndef MDBA_RTA +#define MDBA_RTA(r) \ + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct br_port_msg)))) +#endif
You shouldn't need to duplicate the attribute ids and struct br_port_msg in iproute2. Just put these definitions in a uapi kernel header and include the header from iproute2.