[ovs-discuss] Problem running on Atheros AR9132 CPU (OpenWrt) (EMSGSIZE)

impClaw impclaw at gmail.com
Thu Mar 20 09:51:55 UTC 2014


Good day Open vSwitch mailing list. I have a question regarding an
error in Open vSwitch. I have compiled OVS for an Atheros AR9132 CPU
(TP-LINK TL-WR1043ND) and it gives with a "Message too long" error
upon trying to add a new bridge.

This is using OpenWrt Attitude Adjustment.

I traced the source of the error to an alloc_skb call, which returns
somewhat strange values. Here is the call:

in datapath/linux/datapath.c:203:
static void dp_ifinfo_notify(int event, struct vport *port)
{
    struct sk_buff *skb;
    int err;

>>  skb = nlmsg_new(br_nlmsg_size(), GFP_KERNEL);

(this is in Open vSwitch 1.9.0, but Open vSwitch 2.0.0 also gives
a Message too long error. )

The returned skb from the nlmsg_new function has 0 tailroom, but
320 headroom, which causes the code in the next section of the
code to return EMSGSIZE, presumably causing the error.

I printed the various values of the skb and skb->tail and skb->end
were both NULL. If anyone has any idea what could be wrong, it would
be very helpful as I am out of ideas.

I hope this message was written polite enough for the mailing list,
as it is my first message on any list.



More information about the discuss mailing list