summaryrefslogtreecommitdiff
path: root/xio.h
blob: fe8e1e2045a34cffa6dd9efae9bf214520ab2191 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * netsniff-ng - the packet sniffing beast
 * Copyright 2009, 2010 Daniel Borkmann.
 * Subject to the GPL, version 2.
 */

#ifndef XIO_H
#define XIO_H

extern int open_or_die(const char *file, int flags);
extern int open_or_die_m(const char *file, int flags, mode_t mode);
extern void create_or_die(const char *file, mode_t mode);
extern int tun_open_or_die(char *name, int type);
extern void pipe_or_die(int pipefd[2], int flags);
extern ssize_t read_or_die(int fd, void *buf, size_t count);
extern ssize_t write_or_die(int fd, const void *buf, size_t count);
extern ssize_t read_exact(int fd, void *buf, size_t len, int mayexit);
extern ssize_t write_exact(int fd, void *buf, size_t len, int mayexit);
extern int secrand(void);
extern void to_std_log(FILE **fp);

#endif /* XIO_H */
type='submit' value='reload'/>
authorDavid Ahern <dsa@cumulusnetworks.com>2017-02-02 12:37:10 -0800
committerDavid S. Miller <davem@davemloft.net>2017-02-04 19:58:14 -0500
commit3b1137fe74829e021f483756a648cbb87c8a1b4a (patch)
tree1ecd3c34b17fe500786be8bb88d6b632eb1050b9 /net/ipv6/route.c
parentbeb1afac518dec5a15dc92ba8f0ca016dcf457b4 (diff)
net: ipv6: Change notifications for multipath add to RTA_MULTIPATH
Change ip6_route_multipath_add to send one notifciation with the full route encoded with RTA_MULTIPATH instead of a series of individual routes. This is done by adding a skip_notify flag to the nl_info struct. The flag is used to skip sending of the notification in the fib code that actually inserts the route. Once the full route has been added, a notification is generated with all nexthops. ip6_route_multipath_add handles 3 use cases: new routes, route replace, and route append. The multipath notification generated needs to be consistent with the order of the nexthops and it should be consistent with the order in a FIB dump which means the route with the first nexthop needs to be used as the route reference. For the first 2 cases (new and replace), a reference to the route used to send the notification is obtained by saving the first route added. For the append case, the last route added is used to loop back to its first sibling route which is the first nexthop in the multipath route. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r--net/ipv6/route.c50
1 files changed, 49 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c