1542 |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
1543 |
spin_lock(&head->lock); |
spin_lock(&head->lock); |
1544 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1545 |
+ if (ccs_may_autobind(rover)) |
+ if (ccs_lport_reserved(rover)) |
1546 |
+ goto next; |
+ goto next; |
1547 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1548 |
for (tb = head->chain; tb; tb = tb->next) |
for (tb = head->chain; tb; tb = tb->next) |
1553 |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
1554 |
spin_lock(&head->lock); |
spin_lock(&head->lock); |
1555 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1556 |
+ if (ccs_may_autobind(rover)) |
+ if (ccs_lport_reserved(rover)) |
1557 |
+ goto next_port; |
+ goto next_port; |
1558 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1559 |
|
|
1576 |
((result - sysctl_local_port_range[0]) & |
((result - sysctl_local_port_range[0]) & |
1577 |
(UDP_HTABLE_SIZE - 1)); |
(UDP_HTABLE_SIZE - 1)); |
1578 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1579 |
+ if (ccs_may_autobind(result)) |
+ if (ccs_lport_reserved(result)) |
1580 |
+ continue; |
+ continue; |
1581 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1582 |
goto gotit; |
goto gotit; |
1587 |
+ ((result - sysctl_local_port_range[0]) & |
+ ((result - sysctl_local_port_range[0]) & |
1588 |
(UDP_HTABLE_SIZE - 1)); |
(UDP_HTABLE_SIZE - 1)); |
1589 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1590 |
+ if (ccs_may_autobind(result)) |
+ if (ccs_lport_reserved(result)) |
1591 |
+ continue; |
+ continue; |
1592 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1593 |
if (!udp_lport_inuse(result)) |
if (!udp_lport_inuse(result)) |
1610 |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
head = &tcp_bhash[tcp_bhashfn(rover)]; |
1611 |
spin_lock(&head->lock); |
spin_lock(&head->lock); |
1612 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1613 |
+ if (ccs_may_autobind(rover)) |
+ if (ccs_lport_reserved(rover)) |
1614 |
+ goto next; |
+ goto next; |
1615 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1616 |
for (tb = head->chain; tb; tb = tb->next) |
for (tb = head->chain; tb; tb = tb->next) |
1633 |
((result - sysctl_local_port_range[0]) & |
((result - sysctl_local_port_range[0]) & |
1634 |
(UDP_HTABLE_SIZE - 1)); |
(UDP_HTABLE_SIZE - 1)); |
1635 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1636 |
+ if (ccs_may_autobind(result)) |
+ if (ccs_lport_reserved(result)) |
1637 |
+ continue; |
+ continue; |
1638 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1639 |
goto gotit; |
goto gotit; |
1644 |
+ ((result - sysctl_local_port_range[0]) & |
+ ((result - sysctl_local_port_range[0]) & |
1645 |
(UDP_HTABLE_SIZE - 1)); |
(UDP_HTABLE_SIZE - 1)); |
1646 |
+ /***** SAKURA Linux start. *****/ |
+ /***** SAKURA Linux start. *****/ |
1647 |
+ if (ccs_may_autobind(result)) |
+ if (ccs_lport_reserved(result)) |
1648 |
+ continue; |
+ continue; |
1649 |
+ /***** SAKURA Linux end. *****/ |
+ /***** SAKURA Linux end. *****/ |
1650 |
if (!udp_lport_inuse(result)) |
if (!udp_lport_inuse(result)) |