Lines Matching refs:pi
47 struct tc_rsvp_gpi *pi = dir ? &pinfo->dpi : &pinfo->spi;
57 pi->key = htonl(((__u32)tmp)<<16);
58 pi->mask = htonl(0xFFFF0000);
61 pi->key = htonl(((__u32)tmp));
62 pi->mask = htonl(0x0000FFFF);
64 pi->offset = 0;
74 if (pi->mask || argc <= 0)
83 pi->mask = htonl(0xFFFFFFFF);
84 pi->key = htonl(gpi);
85 pi->offset = 4;
95 pi->mask = htonl(0xFFFFFFFF);
96 pi->key = htonl(gpi);
97 pi->offset = 0;
108 pi->mask = htonl(0x000FFFFF);
109 pi->key = htonl(flabel) & pi->mask;
110 pi->offset = -40;
137 if (get_integer(&pi->offset, *argv, 0))
142 if ((pi->offset & 3) == 0) {
145 } else if ((pi->offset & 3) == 1) {
148 } else if ((pi->offset & 3) == 3) {
153 if ((pi->offset & 3) == 0) {
158 pi->offset &= ~3;
159 pi->mask = htonl(mask);
160 pi->key = htonl(tmp) & pi->mask;
289 static char * sprint_spi(struct tc_rsvp_gpi *pi, int dir, char *buf)
291 if (pi->offset == 0) {
292 if (dir && pi->mask == htonl(0xFFFF)) {
293 snprintf(buf, SPRINT_BSIZE-1, "/%d", htonl(pi->key));
296 if (!dir && pi->mask == htonl(0xFFFF0000)) {
297 snprintf(buf, SPRINT_BSIZE-1, "/%d", htonl(pi->key)>>16);
300 if (pi->mask == htonl(0xFFFFFFFF)) {
301 snprintf(buf, SPRINT_BSIZE-1, " spi/esp 0x%08x", htonl(pi->key));
304 } else if (pi->offset == 4 && pi->mask == htonl(0xFFFFFFFF)) {
305 snprintf(buf, SPRINT_BSIZE-1, " spi/ah 0x%08x", htonl(pi->key));
307 } else if (pi->offset == -40 && pi->mask == htonl(0x000FFFFF)) {
308 snprintf(buf, SPRINT_BSIZE-1, " flowlabel 0x%05x", htonl(pi->key));
312 htonl(pi->key), htonl(pi->mask), pi->offset);