pbrm->name);
for (ALL_LIST_ELEMENTS_RO(pbrm->seqnumbers, node, pbrms)) {
DEBUGD(&pbr_dbg_map, "\tNH Grp name: %s",
- pbrms->nhgrp_name ? pbrms->nhgrp_name : "NULL");
+ pbrms->nhgrp_name ?
+ pbrms->nhgrp_name : pbrms->internal_nhg_name);
if (pbrms->nhgrp_name
&& (strcmp(nh_group, pbrms->nhgrp_name) == 0)) {
DEBUGD(&pbr_dbg_map, "%s: for %s(%u)", __PRETTY_FUNCTION__,
pbrm->name, pbrms->seqno);
if (pbr_map_check_valid(pbrm->name))
- DEBUGD(&pbr_dbg_map, "We are totally valid %s\n",
+ DEBUGD(&pbr_dbg_map, "We are totally valid %s",
pbrm->name);
- DEBUGD(&pbr_dbg_map, "%s: Installing %s(%u) reason: %" PRIu64,
- __PRETTY_FUNCTION__, pbrm->name, pbrms->seqno, pbrms->reason);
-
if (pbrms->reason == PBR_MAP_VALID_SEQUENCE_NUMBER) {
install = true;
DEBUGD(&pbr_dbg_map, "%s: Installing %s(%u) reason: %" PRIu64,
if (!ifp)
return 0;
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s", __PRETTY_FUNCTION__, ifp->name);
+
if (!ifp->info)
pbr_if_new(ifp);
if (ifp == NULL)
return 0;
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s", __PRETTY_FUNCTION__, ifp->name);
+
if_set_index(ifp, IFINDEX_INTERNAL);
return 0;
static int interface_address_add(int command, struct zclient *zclient,
zebra_size_t length, vrf_id_t vrf_id)
{
- zebra_interface_address_read(command, zclient->ibuf, vrf_id);
+ struct connected *c;
+ char buf[PREFIX_STRLEN];
+
+ c = zebra_interface_address_read(command, zclient->ibuf, vrf_id);
+
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s added %s", __PRETTY_FUNCTION__, c->ifp->name,
+ prefix2str(c->address, buf, sizeof(buf)));
return 0;
}
zebra_size_t length, vrf_id_t vrf_id)
{
struct connected *c;
+ char buf[PREFIX_STRLEN];
c = zebra_interface_address_read(command, zclient->ibuf, vrf_id);
if (!c)
return 0;
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s deleted %s", __PRETTY_FUNCTION__, c->ifp->name,
+ prefix2str(c->address, buf, sizeof(buf)));
+
connected_free(c);
return 0;
}
static int interface_state_up(int command, struct zclient *zclient,
zebra_size_t length, vrf_id_t vrf_id)
{
+ struct interface *ifp;
+
+ ifp = zebra_interface_state_read(zclient->ibuf, vrf_id);
- zebra_interface_state_read(zclient->ibuf, vrf_id);
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s is up", __PRETTY_FUNCTION__, ifp->name);
return 0;
}
static int interface_state_down(int command, struct zclient *zclient,
zebra_size_t length, vrf_id_t vrf_id)
{
+ struct interface *ifp;
- zebra_interface_state_read(zclient->ibuf, vrf_id);
+ ifp = zebra_interface_state_read(zclient->ibuf, vrf_id);
+
+ DEBUGD(&pbr_dbg_zebra,
+ "%s: %s is down", __PRETTY_FUNCTION__, ifp->name);
return 0;
}
uint32_t table_id;
char buf[PREFIX_STRLEN];
- prefix2str(&p, buf, sizeof(buf));
-
if (!zapi_route_notify_decode(zclient->ibuf, &p, &table_id, ¬e))
return -1;
+ prefix2str(&p, buf, sizeof(buf));
+
switch (note) {
case ZAPI_ROUTE_FAIL_INSTALL:
DEBUGD(&pbr_dbg_zebra,
switch (note) {
case ZAPI_RULE_FAIL_INSTALL:
- DEBUGD(&pbr_dbg_zebra, "%s: Received RULE_FAIL_INSTALL",
- __PRETTY_FUNCTION__);
pbrms->installed &= ~installed;
+ DEBUGD(&pbr_dbg_zebra, "%s: Received RULE_FAIL_INSTALL: %lu",
+ __PRETTY_FUNCTION__, pbrms->installed);
break;
case ZAPI_RULE_INSTALLED:
pbrms->installed |= installed;
- DEBUGD(&pbr_dbg_zebra, "%s: Received RULE_INSTALLED",
- __PRETTY_FUNCTION__);
+ DEBUGD(&pbr_dbg_zebra, "%s: Received RULE_INSTALLED: %lu",
+ __PRETTY_FUNCTION__, pbrms->installed);
break;
case ZAPI_RULE_FAIL_REMOVE:
case ZAPI_RULE_REMOVED:
pbrms->installed &= ~installed;
- DEBUGD(&pbr_dbg_zebra, "%s: Received RULE REMOVED",
- __PRETTY_FUNCTION__);
+ DEBUGD(&pbr_dbg_zebra, "%s: Received RULE REMOVED: %lu",
+ __PRETTY_FUNCTION__, pbrms->installed);
break;
}
static void zebra_connected(struct zclient *zclient)
{
+ DEBUGD(&pbr_dbg_zebra, "%s: Registering for fun and profit",
+ __PRETTY_FUNCTION__);
zclient_send_reg_requests(zclient, VRF_DEFAULT);
}
uint8_t install_afi)
{
struct zapi_nexthop *api_nh;
+ char buf[PREFIX_STRLEN];
struct nexthop *nhop;
int i;
api->prefix.family = install_afi;
+ DEBUGD(&pbr_dbg_zebra, "\tEncoding %s",
+ prefix2str(&api->prefix, buf, sizeof(buf)));
+
i = 0;
for (ALL_NEXTHOPS(nhg, nhop)) {
api_nh = &api->nexthops[i];
{
struct zapi_route api;
+ DEBUGD(&pbr_dbg_zebra, "%s for Table: %d", __PRETTY_FUNCTION__,
+ pnhgc->table_id);
+
memset(&api, 0, sizeof(api));
api.vrf_id = VRF_DEFAULT;
{
struct zapi_route api;
+ DEBUGD(&pbr_dbg_zebra, "%s for Table: %d", __PRETTY_FUNCTION__,
+ pnhgc->table_id);
+
memset(&api, 0, sizeof(api));
api.vrf_id = VRF_DEFAULT;
api.type = ZEBRA_ROUTE_PBR;