if (libcfs_str2net_internal(str, &net) != NULL)
return net;
- return LNET_NIDNET(LNET_NID_ANY);
+ return LNET_NET_ANY;
}
lnet_nid_t
/** The lolnd NID (i.e. myself) */
#define LNET_NID_LO_0 LNET_MKNID(LNET_MKNET(LOLND, 0), 0)
+#define LNET_NET_ANY LNET_NIDNET(LNET_NID_ANY)
+
#define WIRE_ATTR __attribute__((packed))
/* Packed version of struct lnet_process_id to transfer via network */
* At this point the name is properly terminated.
*/
net_id = libcfs_str2net(name);
- if (net_id == LNET_NIDNET(LNET_NID_ANY)) {
+ if (net_id == LNET_NET_ANY) {
LCONSOLE_ERROR_MSG(0x113,
"Unrecognised network type\n");
str = name;
if (ntokens == 1) {
net = libcfs_str2net(ltb->ltb_text);
- if (net == LNET_NIDNET(LNET_NID_ANY) ||
+ if (net == LNET_NET_ANY ||
LNET_NETTYP(net) == LOLND)
goto token_error;
} else {
list_for_each(tmp1, &nets) {
ltb = list_entry(tmp1, struct lnet_text_buf, ltb_list);
net = libcfs_str2net(ltb->ltb_text);
- LASSERT (net != LNET_NIDNET(LNET_NID_ANY));
+ LASSERT(net != LNET_NET_ANY);
list_for_each(tmp2, &gateways) {
ltb = list_entry(tmp2, struct lnet_text_buf, ltb_list);
*sep++ = 0;
net = lnet_netspec2net(tb->ltb_text);
- if (net == LNET_NIDNET(LNET_NID_ANY)) {
+ if (net == LNET_NET_ANY) {
lnet_syntax("ip2nets", source, offset,
strlen(tb->ltb_text));
return -EINVAL;
struct lnet_peer *peer, __u32 net_id)
{
struct lnet_peer_net *peer_net;
- __u32 any_net = LNET_NIDNET(LNET_NID_ANY);
/* find the best_lpni on any local network */
- if (net_id == any_net) {
+ if (net_id == LNET_NET_ANY) {
struct lnet_peer_ni *best_lpni = NULL;
struct lnet_peer_net *lpn;
list_for_each_entry(lpn, &peer->lp_peer_nets, lpn_peer_nets) {
if (libcfs_str2net_internal(str, &net) != NULL)
return net;
- return LNET_NIDNET(LNET_NID_ANY);
+ return LNET_NET_ANY;
}
EXPORT_SYMBOL(libcfs_str2net);
gw_nid = lp->lpni_peer_net->lpn_peer->lp_primary_nid;
lnet_net_unlock(LNET_LOCK_EX);
- lnet_del_route(LNET_NIDNET(LNET_NID_ANY), gw_nid);
+ lnet_del_route(LNET_NET_ANY, gw_nid);
lnet_net_lock(LNET_LOCK_EX);
}
}
if (gateway == LNET_NID_ANY ||
gateway == LNET_NID_LO_0 ||
- net == LNET_NIDNET(LNET_NID_ANY) ||
+ net == LNET_NET_ANY ||
LNET_NETTYP(net) == LOLND ||
LNET_NIDNET(gateway) == net ||
(hops != LNET_UNDEFINED_HOPS && (hops < 1 || hops > 255)))
lnet_peer_ni_decref_locked(lpni);
}
- if (net != LNET_NIDNET(LNET_NID_ANY)) {
+ if (net != LNET_NET_ANY) {
rnet = lnet_find_rnet_locked(net);
if (!rnet) {
lnet_net_unlock(LNET_LOCK_EX);
void
lnet_destroy_routes (void)
{
- lnet_del_route(LNET_NIDNET(LNET_NID_ANY), LNET_NID_ANY);
+ lnet_del_route(LNET_NET_ANY, LNET_NID_ANY);
}
int lnet_get_rtr_pool_cfg(int cpt, struct lnet_ioctl_pool_cfg *pool_cfg)
}
rnet = libcfs_str2net(nw);
- if (rnet == LNET_NIDNET(LNET_NID_ANY)) {
+ if (rnet == LNET_NET_ANY) {
snprintf(err_str, LNET_MAX_STR_LEN,
"\"cannot parse remote net %s\"", nw);
rc = LUSTRE_CFG_RC_BAD_PARAM;
lnet_nid_t gateway_nid;
int rc = LUSTRE_CFG_RC_OUT_OF_MEM;
int l_errno = 0;
- __u32 net = LNET_NIDNET(LNET_NID_ANY);
+ __u32 net = LNET_NET_ANY;
int i;
struct cYAML *root = NULL, *route = NULL, *item = NULL;
struct cYAML *first_seq = NULL;
if (nw != NULL) {
net = libcfs_str2net(nw);
- if (net == LNET_NIDNET(LNET_NID_ANY)) {
+ if (net == LNET_NET_ANY) {
snprintf(err_str,
sizeof(err_str),
"\"cannot parse net '%s'\"", nw);
} else {
/* show all routes without filtering on net */
- net = LNET_NIDNET(LNET_NID_ANY);
+ net = LNET_NET_ANY;
}
if (gw != NULL) {
}
/* filter on provided data */
- if (net != LNET_NIDNET(LNET_NID_ANY) &&
+ if (net != LNET_NET_ANY &&
net != data.cfg_net)
continue;
goto out;
}
- if (nw_descr->nw_id == LNET_NIDNET(LNET_NID_ANY)) {
+ if (nw_descr->nw_id == LNET_NET_ANY) {
snprintf(err_str,
sizeof(err_str),
"\"cannot parse net '%s'\"",
if (LNET_NETTYP(nw_descr->nw_id) == LOLND)
return LUSTRE_CFG_RC_NO_ERR;
- if (nw_descr->nw_id == LNET_NIDNET(LNET_NID_ANY)) {
+ if (nw_descr->nw_id == LNET_NET_ANY) {
snprintf(err_str,
sizeof(err_str),
"\"cannot parse net '%s'\"",
struct lnet_ioctl_element_stats *stats;
struct lnet_ioctl_element_msg_stats msg_stats;
struct lnet_ioctl_local_ni_hstats hstats;
- __u32 net = LNET_NIDNET(LNET_NID_ANY);
- __u32 prev_net = LNET_NIDNET(LNET_NID_ANY);
+ __u32 net = LNET_NET_ANY;
+ __u32 prev_net = LNET_NET_ANY;
int rc = LUSTRE_CFG_RC_OUT_OF_MEM, i, j;
int l_errno = 0;
struct cYAML *root = NULL, *tunables = NULL,
if (nw != NULL) {
net = libcfs_str2net(nw);
- if (net == LNET_NIDNET(LNET_NID_ANY)) {
+ if (net == LNET_NET_ANY) {
snprintf(err_str,
sizeof(err_str),
"\"cannot parse net '%s'\"", nw);
rc_net = LNET_NIDNET(ni_data->lic_nid);
/* filter on provided data */
- if (net != LNET_NIDNET(LNET_NID_ANY) &&
+ if (net != LNET_NET_ANY &&
net != rc_net)
continue;
if (lustre_cfg_buf(lcfg, 4)) {
__u32 refnet = libcfs_str2net(lustre_cfg_string(lcfg, 4));
- if (refnet == LNET_NIDNET(LNET_NID_ANY)) {
+ if (refnet == LNET_NET_ANY) {
rc = -EINVAL;
CERROR("%s: bad mount option 'network=%s': rc = %d\n",
obd->obd_name, lustre_cfg_string(lcfg, 4),
for (i = 0; i < rset->srs_nrule; i++) {
r = &rset->srs_rules[i];
- if (r->sr_netid == LNET_NIDNET(LNET_NID_ANY))
+ if (r->sr_netid == LNET_NET_ANY)
net = "default";
else
net = libcfs_net2str_r(r->sr_netid, net_buf,
static void sptlrpc_rule_init(struct sptlrpc_rule *rule)
{
- rule->sr_netid = LNET_NIDNET(LNET_NID_ANY);
- rule->sr_from = LUSTRE_SP_ANY;
- rule->sr_to = LUSTRE_SP_ANY;
- rule->sr_padding = 0;
+ rule->sr_netid = LNET_NET_ANY;
+ rule->sr_from = LUSTRE_SP_ANY;
+ rule->sr_to = LUSTRE_SP_ANY;
+ rule->sr_padding = 0;
- get_default_flavor(&rule->sr_flvr);
+ get_default_flavor(&rule->sr_flvr);
}
/*
*/
int sptlrpc_parse_rule(char *param, struct sptlrpc_rule *rule)
{
- char *flavor, *dir;
- int rc;
+ char *flavor, *dir;
+ int rc;
- sptlrpc_rule_init(rule);
+ sptlrpc_rule_init(rule);
- flavor = strchr(param, '=');
- if (flavor == NULL) {
- CERROR("invalid param, no '='\n");
- RETURN(-EINVAL);
- }
- *flavor++ = '\0';
-
- dir = strchr(param, '.');
- if (dir)
- *dir++ = '\0';
-
- /* 1.1 network */
- if (strcmp(param, "default")) {
- rule->sr_netid = libcfs_str2net(param);
- if (rule->sr_netid == LNET_NIDNET(LNET_NID_ANY)) {
- CERROR("invalid network name: %s\n", param);
- RETURN(-EINVAL);
- }
- }
+ flavor = strchr(param, '=');
+ if (flavor == NULL) {
+ CERROR("invalid param, no '='\n");
+ RETURN(-EINVAL);
+ }
+ *flavor++ = '\0';
+
+ dir = strchr(param, '.');
+ if (dir)
+ *dir++ = '\0';
+
+ /* 1.1 network */
+ if (strcmp(param, "default")) {
+ rule->sr_netid = libcfs_str2net(param);
+ if (rule->sr_netid == LNET_NET_ANY) {
+ CERROR("invalid network name: %s\n", param);
+ RETURN(-EINVAL);
+ }
+ }
- /* 1.2 direction */
- if (dir) {
- if (!strcmp(dir, "mdt2ost")) {
- rule->sr_from = LUSTRE_SP_MDT;
- rule->sr_to = LUSTRE_SP_OST;
- } else if (!strcmp(dir, "mdt2mdt")) {
- rule->sr_from = LUSTRE_SP_MDT;
- rule->sr_to = LUSTRE_SP_MDT;
- } else if (!strcmp(dir, "cli2ost")) {
- rule->sr_from = LUSTRE_SP_CLI;
- rule->sr_to = LUSTRE_SP_OST;
- } else if (!strcmp(dir, "cli2mdt")) {
- rule->sr_from = LUSTRE_SP_CLI;
- rule->sr_to = LUSTRE_SP_MDT;
- } else {
- CERROR("invalid rule dir segment: %s\n", dir);
- RETURN(-EINVAL);
- }
- }
+ /* 1.2 direction */
+ if (dir) {
+ if (!strcmp(dir, "mdt2ost")) {
+ rule->sr_from = LUSTRE_SP_MDT;
+ rule->sr_to = LUSTRE_SP_OST;
+ } else if (!strcmp(dir, "mdt2mdt")) {
+ rule->sr_from = LUSTRE_SP_MDT;
+ rule->sr_to = LUSTRE_SP_MDT;
+ } else if (!strcmp(dir, "cli2ost")) {
+ rule->sr_from = LUSTRE_SP_CLI;
+ rule->sr_to = LUSTRE_SP_OST;
+ } else if (!strcmp(dir, "cli2mdt")) {
+ rule->sr_from = LUSTRE_SP_CLI;
+ rule->sr_to = LUSTRE_SP_MDT;
+ } else {
+ CERROR("invalid rule dir segment: %s\n", dir);
+ RETURN(-EINVAL);
+ }
+ }
- /* 2.1 flavor */
- rc = sptlrpc_parse_flavor(flavor, &rule->sr_flvr);
- if (rc)
- RETURN(-EINVAL);
+ /* 2.1 flavor */
+ rc = sptlrpc_parse_flavor(flavor, &rule->sr_flvr);
+ if (rc)
+ RETURN(-EINVAL);
- RETURN(0);
+ RETURN(0);
}
EXPORT_SYMBOL(sptlrpc_parse_rule);
OBD_FREE_PTR_ARRAY(rset->srs_rules, rset->srs_nslot);
}
- rset->srs_rules = rules;
- rset->srs_nslot = nslot;
- return 0;
+ rset->srs_rules = rules;
+ rset->srs_nslot = nslot;
+ return 0;
}
static inline int rule_spec_dir(struct sptlrpc_rule *rule)
{
- return (rule->sr_from != LUSTRE_SP_ANY ||
- rule->sr_to != LUSTRE_SP_ANY);
+ return (rule->sr_from != LUSTRE_SP_ANY ||
+ rule->sr_to != LUSTRE_SP_ANY);
}
static inline int rule_spec_net(struct sptlrpc_rule *rule)
{
- return (rule->sr_netid != LNET_NIDNET(LNET_NID_ANY));
+ return (rule->sr_netid != LNET_NET_ANY);
}
static inline int rule_match_dir(struct sptlrpc_rule *r1,
struct sptlrpc_rule *r2)
{
- return (r1->sr_from == r2->sr_from && r1->sr_to == r2->sr_to);
+ return (r1->sr_from == r2->sr_from && r1->sr_to == r2->sr_to);
}
static inline int rule_match_net(struct sptlrpc_rule *r1,
struct sptlrpc_rule *r2)
{
- return (r1->sr_netid == r2->sr_netid);
+ return (r1->sr_netid == r2->sr_netid);
}
/*
* return 1 if a match found, otherwise return 0.
*/
int sptlrpc_rule_set_choose(struct sptlrpc_rule_set *rset,
- enum lustre_sec_part from,
- enum lustre_sec_part to,
- lnet_nid_t nid,
- struct sptlrpc_flavor *sf)
+ enum lustre_sec_part from,
+ enum lustre_sec_part to,
+ lnet_nid_t nid,
+ struct sptlrpc_flavor *sf)
{
- struct sptlrpc_rule *r;
- int n;
+ struct sptlrpc_rule *r;
+ int n;
- for (n = 0; n < rset->srs_nrule; n++) {
- r = &rset->srs_rules[n];
+ for (n = 0; n < rset->srs_nrule; n++) {
+ r = &rset->srs_rules[n];
- if (LNET_NIDNET(nid) != LNET_NIDNET(LNET_NID_ANY) &&
- r->sr_netid != LNET_NIDNET(LNET_NID_ANY) &&
- LNET_NIDNET(nid) != r->sr_netid)
- continue;
+ if (LNET_NIDNET(nid) != LNET_NET_ANY &&
+ r->sr_netid != LNET_NET_ANY &&
+ LNET_NIDNET(nid) != r->sr_netid)
+ continue;
- if (from != LUSTRE_SP_ANY && r->sr_from != LUSTRE_SP_ANY &&
- from != r->sr_from)
- continue;
+ if (from != LUSTRE_SP_ANY && r->sr_from != LUSTRE_SP_ANY &&
+ from != r->sr_from)
+ continue;
- if (to != LUSTRE_SP_ANY && r->sr_to != LUSTRE_SP_ANY &&
- to != r->sr_to)
- continue;
+ if (to != LUSTRE_SP_ANY && r->sr_to != LUSTRE_SP_ANY &&
+ to != r->sr_to)
+ continue;
- *sf = r->sr_flvr;
- return 1;
- }
+ *sf = r->sr_flvr;
+ return 1;
+ }
- return 0;
+ return 0;
}
void sptlrpc_rule_set_dump(struct sptlrpc_rule_set *rset)
int jt_ptl_network(int argc, char **argv)
{
struct libcfs_ioctl_data data;
- __u32 net = LNET_NIDNET(LNET_NID_ANY);
+ __u32 net = LNET_NET_ANY;
int rc;
if (argc != 2) {
}
net = libcfs_str2net(argv[1]);
- if (net == LNET_NIDNET(LNET_NID_ANY)) {
+ if (net == LNET_NET_ANY) {
fprintf(stderr, "Can't parse net %s\n", argv[1]);
return -1;
}
}
LIBCFS_IOC_INIT_V2(data, cfg_hdr);
- data.cfg_net = g_net_set ? g_net : LNET_NIDNET(LNET_NID_ANY);
+ data.cfg_net = g_net_set ? g_net : LNET_NET_ANY;
data.cfg_nid = nid;
rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_DEL_ROUTE, &data);
/* NB: can't support range ipaddress except * and *@net */
if (strlen(str) > 2 && str[0] == '*' && str[1] == '@') {
net = libcfs_str2net(str + 2);
- if (net == LNET_NIDNET(LNET_NID_ANY))
+ if (net == LNET_NET_ANY)
goto failed;
nid = LNET_MKNID(net, LNET_NIDADDR(LNET_NID_ANY));