[tipc-discussion] [PATCH iproute2 0/4] tipc: handle UDP specific bearer options

2016-06-28 Thread Richard Alpe
In this patch series we add functionality for getting UDP media specific bearer options and adding UDP remoteip addresses used for replicasting. tipc-discussion --- I also encountered the iproute2 build problem so until this series is ready for iproute2 submission it's based on c13b6b0

[tipc-discussion] [PATCH iproute2 4/4] tipc: add the ability to get UDP bearer options

2016-06-28 Thread Richard Alpe
In this patch we introduce the ability to get UDP specific bearer options such as remoteip, remoteport, localip and localport. After some discussions on tipc-discussion on how to handle media specific options we agreed to pass them after the media. For media generic bearer options we already do:

[tipc-discussion] [PATCH net-next 4/6] tipc: add replicast peer discovery

2016-06-28 Thread Richard Alpe
Automatically learn UDP remote IP addresses of communicating peers by looking at the source IP address of incoming TIPC link configuration messages (neighbor discovery). This makes configuration slightly easier and removes the problematic scenario where a node receives directly addressed neighbor

[tipc-discussion] [PATCH iproute2 1/4] tipc: fix UDP bearer synopsis

2016-06-28 Thread Richard Alpe
Local ip is not required to identify a UDP bearer and shouldn't be passed to bearer disable, set or get. In this patch we remove the localip entry from the synopsis of these functions. Signed-off-by: Richard Alpe --- man/man8/tipc-bearer.8 | 14 -- 1 file changed, 4 insertions(+), 10

[tipc-discussion] [PATCH net-next 2/6] tipc: split UDP send function

2016-06-28 Thread Richard Alpe
Split the UDP send function into two. One callback that prepares the skb and one transmit function that sends the skb. This will come in handy in later patches, when we introduce UDP replicast. Signed-off-by: Richard Alpe --- net/tipc/udp_media.c | 50

[tipc-discussion] [PATCH iproute2 3/4] tipc: introduce bearer add for remoteip

2016-06-28 Thread Richard Alpe
Introduce the ability to add remote IP addresses to an existing UDP bearer. On the kernel side, adding a "remoteip" to an existing bearer puts the bearer in "replicast" mode where TIPC multicast messages are send out to each configured remoteip using unicast. This is required for TIPC UDP bearers t

[tipc-discussion] [PATCH iproute2 2/4] tipc: refactor bearer identification

2016-06-28 Thread Richard Alpe
Introduce a generic function (nl_add_bearer_name()) that identifies a bearer and adds it to an existing netlink message. This reduces code complexity and makes the code a little bit easier to maintain. Signed-off-by: Richard Alpe --- tipc/bearer.c | 312 --

[tipc-discussion] [PATCH net-next 1/6] tipc: split UDP nl address parsing

2016-06-28 Thread Richard Alpe
Split the UDP netlink parse function so that it only parses one netlink attribute at the time. This makes the parse function more generic and allow future UDP API functions to use it for parsing. Signed-off-by: Richard Alpe --- net/tipc/udp_media.c | 112 +

[tipc-discussion] [PATCH net-next 3/6] tipc: introduce UDP replicast

2016-06-28 Thread Richard Alpe
This patch introduces UDP replicast. A concept where we emulate multicast by sending multiple unicast messages to configured peers. The purpose of replicast is mainly to be able to use TIPC in cloud environments where IP multicast is disabled. Using replicas to unicast multicast messages is costly

[tipc-discussion] [PATCH net-next 6/6] tipc: add UDP remoteip dump to netlink API

2016-06-28 Thread Richard Alpe
When using replicast a UDP bearer can have an arbitrary amount of remote ip addresses associated with it. This means we cannot simply add all remote ip addresses to an existing bearer data message as it might fill the message, leaving us with a truncated message that we can't safely resume. To hand

[tipc-discussion] [PATCH net-next 5/6] tipc: add the ability to get UDP options via netlink

2016-06-28 Thread Richard Alpe
Add UDP bearer options to netlink bearer get message. This is used by the tipc user space tool to display UDP options. The UDP bearer information is passed using either a sockaddr_in or sockaddr_in6 structs. This means the user space receiver should intermediately store the retrieved data in a lar

[tipc-discussion] [PATCH net-next 0/6] tipc: introduce UDP replicast

2016-06-28 Thread Richard Alpe
This series does some preparation and introduces UDP replicast. A concept where we emulate multicast by sending multiple unicast messages to configured peers. This is required for TIPC to work in environments where IP multicast is disabled. There is a corresponding patch series for the tipc user s