| 1350 | #define V_ip_rsvp_on VNET(ip_rsvp_on) |
| 1351 | |
| 1352 | int |
| 1353 | ip_rsvp_init(struct socket *so) |
| 1354 | { |
| 1355 | |
| 1356 | if (so->so_type != SOCK_RAW || |
| 1357 | so->so_proto->pr_protocol != IPPROTO_RSVP) |
| 1358 | return EOPNOTSUPP; |
| 1359 | |
| 1360 | if (V_ip_rsvpd != NULL) |
| 1361 | return EADDRINUSE; |
| 1362 | |
| 1363 | V_ip_rsvpd = so; |
| 1364 | /* |
| 1365 | * This may seem silly, but we need to be sure we don't over-increment |
| 1366 | * the RSVP counter, in case something slips up. |
| 1367 | */ |
| 1368 | if (!V_ip_rsvp_on) { |
| 1369 | V_ip_rsvp_on = 1; |
| 1370 | V_rsvp_on++; |
| 1371 | } |
| 1372 | |
| 1373 | return 0; |
| 1374 | } |
| 1375 | |
| 1376 | int |
| 1377 | ip_rsvp_done(void) |