summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorThomas F Herbert <therbert@redhat.com>2017-05-17 19:00:07 -0400
committerDamjan Marion <dmarion.lists@gmail.com>2017-05-20 10:55:16 +0000
commitbc1c848772dc9101b3d034634ee69ab6cc0dba14 (patch)
treec3f8d84dbb73d85662b0c06c3d33776a25f9eaec /Makefile
parent2038ad010b54ea6c2252bf487837d3e72448040f (diff)
Remove specific versions of some packages.
Add lcov for rhel. Correct fedora Development tools group and rpm-build. Change-Id: I0a19e239e6bc4f34f3aacfbb7e08e2abbdc061ed Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile9
1 files changed, 5 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index f494f79ebc2..41e3e711844 100644
--- a/Makefile
+++ b/Makefile
@@ -47,19 +47,20 @@ else
DEB_DEPENDS += default-jdk-headless
endif
-RPM_DEPENDS_GROUPS = 'Development Tools'
RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel yum-utils
RPM_DEPENDS += openssl-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm apr-devel
RPM_DEPENDS += python-devel
ifeq ($(OS_ID)-$(OS_VERSION_ID),fedora-25)
RPM_DEPENDS += python2-virtualenv
+ RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
else
RPM_DEPENDS += python-virtualenv
+ RPM_DEPENDS_GROUPS = 'Development Tools'
endif
-RPM_DEPENDS += chrpath libffi-devel
+RPM_DEPENDS += chrpath libffi-devel rpm-build
RPM_DEPENDS += https://kojipkgs.fedoraproject.org//packages/nasm/2.12.02/2.fc26/x86_64/nasm-2.12.02-2.fc26.x86_64.rpm
EPEL_DEPENDS = libconfuse-devel ganglia-devel epel-rpm-macros
-ifeq ($(OS_ID),centos)
+ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID))
EPEL_DEPENDS += lcov
else
RPM_DEPENDS += lcov
@@ -201,7 +202,7 @@ else ifneq ("$(wildcard /etc/redhat-release)","")
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
@sudo -E yum install $(CONFIRM) --enablerepo=epel $(EPEL_DEPENDS)
- @sudo -E debuginfo-install $(CONFIRM) glibc-2.17-106.el7_2.4.x86_64 openssl-libs-1.0.1e-51.el7_2.4.x86_64 zlib-1.2.7-15.el7.x86_64
+ @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
else
$(error "This option currently works only on Ubuntu or Centos systems")
endif
ing.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
/*
 * ip_neighboor.h: ip neighbor generic services
 *
 * Copyright (c) 2018 Cisco and/or its affiliates.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef __INCLUDE_IP_NEIGHBOR_H__
#define __INCLUDE_IP_NEIGHBOR_H__

#include <vnet/ip-neighbor/ip_neighbor_types.h>

#include <vnet/adj/adj.h>

void ip_neighbor_scan_enable_disable (ip_neighbor_scan_arg_t * arg);


/*****
 * APIs external modules can invoke on the neighbor subsystem
 */

extern ip_neighbor_t *ip_neighbor_get (index_t ipni);
extern int ip_neighbor_add (const ip46_address_t * ip,
			    ip46_type_t type,
			    const mac_address_t * mac,
			    u32 sw_if_index,
			    ip_neighbor_flags_t flags, u32 * stats_index);
extern int ip_neighbor_del (const ip46_address_t * ip,
			    ip46_type_t type, u32 sw_if_index);

extern int ip_neighbor_config (ip46_type_t type, u32 limit, u32 age,
			       bool recycle);

typedef walk_rc_t (*ip_neighbor_walk_cb_t) (index_t ipni, void *ctx);
extern void ip_neighbor_walk (ip46_type_t type,
			      u32 sw_if_index,
			      ip_neighbor_walk_cb_t fn, void *ctx);

extern const ip46_address_t *ip_neighbor_get_ip (const ip_neighbor_t * ipn);
extern const mac_address_t *ip_neighbor_get_mac (const ip_neighbor_t * ipn);
extern const u32 ip_neighbor_get_sw_if_index (const ip_neighbor_t * ipn);

extern void ip_neighbor_learn (const ip_neighbor_learn_t * l);

extern void ip_neighbor_update (vnet_main_t * vnm, adj_index_t ai);

extern void ip_neighbor_advertise (vlib_main_t * vm,
				   ip46_type_t tyoe,
				   const ip46_address_t * addr,
				   u32 sw_if_index);
extern void ip_neighbor_probe (const ip_adjacency_t * adj);
extern void ip_neighbor_probe_dst (const ip_adjacency_t * adj,
				   const ip46_address_t * ip);

/**
 * From the watcher to the API to publish a new neighbor
 */
extern void ip_neighbor_handle_event (const ip_neighbor_event_t * ipne);

/**
 * The set of function that vnet requires from the IP neighbour module.
 * Note that an implementation of these functions will not exist
 * if the ip-neighbour plugin is not loaded. so check the error codes!
 */
extern int ip4_neighbor_proxy_add (u32 fib_index,
				   const ip4_address_t * start,
				   const ip4_address_t * end);
extern int ip4_neighbor_proxy_delete (u32 fib_index,
				      const ip4_address_t * start,
				      const ip4_address_t * end);
extern int ip4_neighbor_proxy_enable (u32 sw_if_index);
extern int ip4_neighbor_proxy_disable (u32 sw_if_index);
extern int ip6_neighbor_proxy_add (u32 sw_if_index,
				   const ip6_address_t * addr);
extern int ip6_neighbor_proxy_del (u32 sw_if_index,
				   const ip6_address_t * addr);

/**
 * neighbor protocol implementation registration functions
 *  this are provided by ARP and IP-ND
 */
typedef int (*ip4_neighbor_proxy_addr_t) (u32 fib_index,
					  const ip4_address_t * start,
					  const ip4_address_t * end);
typedef int (*ip4_neighbor_proxy_cfg_t) (u32 sw_if_index);
typedef int (*ip6_neighbor_proxy_cfg_t) (u32 sw_if_index,
					 const ip6_address_t * addr);

/**
 * Virtual function Table for neighbor protocol implementations to register
 */
typedef struct ip_neighbor_vft_t_
{
  ip4_neighbor_proxy_cfg_t inv_proxy4_enable;
  ip4_neighbor_proxy_cfg_t inv_proxy4_disable;
  ip4_neighbor_proxy_addr_t inv_proxy4_add;
  ip4_neighbor_proxy_addr_t inv_proxy4_del;
  ip6_neighbor_proxy_cfg_t inv_proxy6_add;
  ip6_neighbor_proxy_cfg_t inv_proxy6_del;
} ip_neighbor_vft_t;

extern void ip_neighbor_register (ip46_type_t type,
				  const ip_neighbor_vft_t * vft);


#endif /* __INCLUDE_IP_NEIGHBOR_H__ */

/*
 * fd.io coding-style-patch-verification: ON
 *
 * Local Variables:
 * eval: (c-set-style "gnu")
 * End:
 */