mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
Cleanup in sysdep KRT code, part 4.
Adding some files that was accidentally removed (instead of moved) in cleanup part 2.
This commit is contained in:
46
sysdep/linux/krt-sys.h
Normal file
46
sysdep/linux/krt-sys.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* BIRD -- Linux Kernel Netlink Route Syncer
|
||||
*
|
||||
* (c) 1998--2000 Martin Mares <mj@ucw.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
#ifndef _BIRD_KRT_SYS_H_
|
||||
#define _BIRD_KRT_SYS_H_
|
||||
|
||||
|
||||
/* Kernel interfaces */
|
||||
|
||||
struct kif_params {
|
||||
};
|
||||
|
||||
struct kif_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void kif_sys_init(struct kif_proto *p UNUSED) { }
|
||||
static inline int kif_sys_reconfigure(struct kif_proto *p UNUSED, struct kif_config *n UNUSED, struct kif_config *o UNUSED) { return 1; }
|
||||
|
||||
static inline void kif_sys_preconfig(struct config *c UNUSED) { }
|
||||
static inline void kif_sys_postconfig(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_init_config(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_copy_config(struct kif_config *d UNUSED, struct kif_config *s UNUSED) { }
|
||||
|
||||
|
||||
/* Kernel routes */
|
||||
|
||||
#define NL_NUM_TABLES 256
|
||||
|
||||
struct krt_params {
|
||||
int table_id; /* Kernel table ID we sync with */
|
||||
};
|
||||
|
||||
struct krt_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void krt_sys_init(struct krt_proto *p UNUSED) { }
|
||||
|
||||
|
||||
#endif
|
32
sysdep/linux/netlink.Y
Normal file
32
sysdep/linux/netlink.Y
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* BIRD -- Linux Netlink Configuration
|
||||
*
|
||||
* (c) 1999--2000 Martin Mares <mj@ucw.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
CF_HDR
|
||||
|
||||
CF_DECLS
|
||||
|
||||
CF_KEYWORDS(ASYNC, KERNEL, TABLE, KRT_PREFSRC, KRT_REALM)
|
||||
|
||||
CF_GRAMMAR
|
||||
|
||||
CF_ADDTO(kern_proto, kern_proto nl_item ';')
|
||||
|
||||
nl_item:
|
||||
KERNEL TABLE expr {
|
||||
if ($3 <= 0 || $3 >= NL_NUM_TABLES)
|
||||
cf_error("Kernel routing table number out of range");
|
||||
THIS_KRT->sys.table_id = $3;
|
||||
}
|
||||
;
|
||||
|
||||
CF_ADDTO(dynamic_attr, KRT_PREFSRC { $$ = f_new_dynamic_attr(EAF_TYPE_IP_ADDRESS, T_IP, EA_KRT_PREFSRC); })
|
||||
CF_ADDTO(dynamic_attr, KRT_REALM { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_KRT_REALM); })
|
||||
|
||||
CF_CODE
|
||||
|
||||
CF_END
|
1149
sysdep/linux/netlink.c
Normal file
1149
sysdep/linux/netlink.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user