summaryrefslogtreecommitdiff
path: root/zebra/rule_socket.c
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2018-02-04 12:33:33 +0000
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-03-09 11:07:41 -0500
commit942bf97b13223ac5645f613a2f00ab18f3716c59 (patch)
tree426b4568396dcbf0ccbbee0792602c855cf045db /zebra/rule_socket.c
parentdba32923eb4198bb17e2cdbcd9e88c7decde81c4 (diff)
*: PBR - netlink interaction and basic definitions
Implement netlink interactions for Policy Based Routing. This includes APIs to install and uninstall rules and handle notifications from the kernel related to rule addition or deletion. Various definitions are added to facilitate this. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/rule_socket.c')
-rw-r--r--zebra/rule_socket.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/zebra/rule_socket.c b/zebra/rule_socket.c
new file mode 100644
index 0000000000..46c53f9e02
--- /dev/null
+++ b/zebra/rule_socket.c
@@ -0,0 +1,51 @@
+/*
+ * Zebra Policy Based Routing (PBR) interaction with the kernel using
+ * netlink.
+ * Copyright (C) 2018 Cumulus Networks, Inc.
+ * Donald Sharp
+ *
+ * This file is part of FRR.
+ *
+ * FRR is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * FRR is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with FRR; see the file COPYING. If not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zebra.h>
+
+#ifndef HAVE_NETLINK
+
+#include "if.h"
+#include "prefix.h"
+#include "vrf.h"
+
+#include "zebra/zserv.h"
+#include "zebra/zebra_ns.h"
+#include "zebra/zebra_vrf.h"
+#include "zebra/rt.h"
+#include "zebra/interface.h"
+#include "zebra/debug.h"
+#include "zebra/rtadv.h"
+#include "zebra/kernel_netlink.h"
+#include "zebra/rule_netlink.h"
+#include "zebra/zebra_pbr.h"
+
+void kernel_add_pbr_rule(struct zebra_pbr_rule *rule)
+{
+}
+void kernel_del_pbr_rule(struct zebra_pbr_rule *rule)
+{
+}
+
+#endif