Example #1
0
void
test_ofp_version_bitmap(void) {
  int version;
  uint32_t bitmap;

  TEST_ASSERT_NOT_NULL(bridge);

  /* Setting versions. */
  for (version = OPENFLOW_VERSION_1_3; version <= OPENFLOW_VERSION_1_4;
       version++) {
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == bridge_ofp_version_bitmap_set(bridge,
                     version));
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == bridge_ofp_version_bitmap_get(bridge,
                     &bitmap));
    TEST_ASSERT_TRUE(0 != (bitmap & (1 << version)));
  }

  /* Clearing versions. */
  for (version = OPENFLOW_VERSION_1_4; version >= OPENFLOW_VERSION_1_3;
       version--) {
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == bridge_ofp_version_bitmap_unset(bridge,
                     version));
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == bridge_ofp_version_bitmap_get(bridge,
                     &bitmap));
    TEST_ASSERT_TRUE(0 == (bitmap & (1 << version)));
  }
}
Example #2
0
lagopus_result_t
dpmgr_bridge_ofp_version_bitmap_get(uint64_t dpid,
                                    uint32_t *version_bitmap) {
  lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES;
  struct dpmgr *dpmgr = NULL;
  struct bridge *bridge = NULL;

  dpmgr = dpmgr_get_instance();
  if (dpmgr != NULL) {
    bridge = bridge_lookup_by_dpid(&dpmgr->bridge_list, dpid);
    if (bridge != NULL) {
      ret = bridge_ofp_version_bitmap_get(bridge, version_bitmap);
    } else {
      lagopus_msg_warning("Not found bridge.\n");
      ret = LAGOPUS_RESULT_NOT_FOUND;
    }
  } else {
    lagopus_msg_warning("Not found dpmgr.\n");
    ret = LAGOPUS_RESULT_NOT_FOUND;
  }

  return ret;
}