Hi!
Alfred 2016.5 fails to start with the following message:
cap_set_proc: Operation not permitted
2016.3 works flawlessly.
Were there changes regarding the dropping of privileges on start-up and
running as user "alfred"?
Martin
Hi everyone,
A student who is collaborating with me, Andrei, cc'ed, is carrying out
traffic performance analysis in a mesh network (which uses batman-adv)
in order to compare the benefits of introducing Simplemux [1].
Basically, simplemux multiplexes small packets in bigger packets and
compresses them to reduce overhead. These packets are then sent
through a tunnel to another end in the network.
So far, simplemux shows very positive results by creating the tunnel
in between two computers connected at each end of a multihop network
composed by a chain of 5 nodes.
The idea would be to test the performance benefits of simplemux when
the tunnels are created between the mesh nodes instead, so they could
aggregate, let's say, all the VoIP packets from different SIP clients
calling other SIP clients in the mesh or via the gateway.
The tunnels can be successfully created in OpenWRT, but it fails when
assigning the physical interface the tunnel should use. It works when
a physical interface is used, i.e. eth0, but fails with br-lan
provided it is a virtual interface.
# openvpn --mktun --dev tun0 --user root
# ifconfig tun0 up
# ./simplemux -i tun0 -e br-lan -M N -c 192.168.0.5
I was wondering if anyone in the list could point Andrei in the right direction.
Thank you very much in advance.
carlos
[1] https://github.com/Simplemux/simplemux
--
Carlos Rey-Moreno, PhD
PostDoctoral Fellow University of the Western Cape
Zenzeleni Networks: zenzeleni.nethttps://www.youtube.com/watch?v=YxTPSWMX26M
Cel: +27 (0) 76 986 3633
Skype: carlos.reymoreno Twitter: Creym
An error before the hardif is found has to free the skb. But every error
after that has to free the skb + put the hard interface.
Fixes: 8b4132b1447a ("batman-adv: Consume skb in batadv_frag_send_packet")
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
---
net/batman-adv/fragmentation.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/batman-adv/fragmentation.c b/net/batman-adv/fragmentation.c
index 9c561e68..0854ebd8 100644
--- a/net/batman-adv/fragmentation.c
+++ b/net/batman-adv/fragmentation.c
@@ -474,7 +474,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
primary_if = batadv_primary_if_get_selected(bat_priv);
if (!primary_if) {
ret = -EINVAL;
- goto put_primary_if;
+ goto free_skb;
}
/* Create one header to be copied to all fragments */
@@ -502,7 +502,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
skb_fragment = batadv_frag_create(skb, &frag_header, mtu);
if (!skb_fragment) {
ret = -ENOMEM;
- goto free_skb;
+ goto put_primary_if;
}
batadv_inc_counter(bat_priv, BATADV_CNT_FRAG_TX);
@@ -511,7 +511,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
ret = batadv_send_unicast_skb(skb_fragment, neigh_node);
if (ret != NET_XMIT_SUCCESS) {
ret = NET_XMIT_DROP;
- goto free_skb;
+ goto put_primary_if;
}
frag_header.no++;
@@ -519,7 +519,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
/* The initial check in this function should cover this case */
if (frag_header.no == BATADV_FRAG_MAX_FRAGMENTS - 1) {
ret = -EINVAL;
- goto free_skb;
+ goto put_primary_if;
}
}
@@ -527,7 +527,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
if (batadv_skb_head_push(skb, header_size) < 0 ||
pskb_expand_head(skb, header_size + ETH_HLEN, 0, GFP_ATOMIC) < 0) {
ret = -ENOMEM;
- goto free_skb;
+ goto put_primary_if;
}
memcpy(skb->data, &frag_header, header_size);
--
2.11.0