summaryrefslogtreecommitdiff
path: root/sysdep/bsd
diff options
context:
space:
mode:
authorJan Moskyto Matejka <mq@ucw.cz>2015-11-03 14:42:41 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2015-11-11 11:40:49 +0100
commit9ddbfbddf87462bbf50437bdc1d44499a5c223e7 (patch)
tree31d59d5053d60bc2d43ef3c82969b4d789c58fe7 /sysdep/bsd
parent86b4e17001fe4cca6dde7ff523346121c0ae68fe (diff)
Netlink: Allow more than 256 routing tables.
Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to allow 32-bit routing table IDs. Using this attribute to index routing tables at Linux, instead of 8-bit rtm_table field.
Diffstat (limited to 'sysdep/bsd')
-rw-r--r--sysdep/bsd/krt-sock.c7
-rw-r--r--sysdep/bsd/krt-sys.h1
2 files changed, 6 insertions, 2 deletions
diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c
index 064bae18..29203d1b 100644
--- a/sysdep/bsd/krt-sock.c
+++ b/sysdep/bsd/krt-sock.c
@@ -970,13 +970,15 @@ krt_sock_close_shared(void)
}
}
-void
+int
krt_sys_start(struct krt_proto *p)
{
krt_table_map[KRT_CF->sys.table_id] = p;
krt_sock_open_shared();
p->sys.sk = krt_sock;
+
+ return 1;
}
void
@@ -992,10 +994,11 @@ krt_sys_shutdown(struct krt_proto *p)
#else
-void
+int
krt_sys_start(struct krt_proto *p)
{
p->sys.sk = krt_sock_open(p->p.pool, p, KRT_CF->sys.table_id);
+ return 1;
}
void
diff --git a/sysdep/bsd/krt-sys.h b/sysdep/bsd/krt-sys.h
index 2c6e35c5..a63f8caf 100644
--- a/sysdep/bsd/krt-sys.h
+++ b/sysdep/bsd/krt-sys.h
@@ -42,6 +42,7 @@ struct krt_state {
};
+static inline void krt_sys_io_init(void) { }
static inline void krt_sys_init(struct krt_proto *p UNUSED) { }
static inline int krt_sys_get_attr(eattr *a UNUSED, byte *buf UNUSED, int buflen UNUSED) { }